22 connect (
this, SIGNAL (anchorClicked (
const QUrl &)),
this, SLOT (slotAnchorClicked (
const QUrl &)));
25QString ChecklistGuideBrowser::ahref (QString &html,
26 const QString &name)
const
30 QString expression = QString (
"%1%2%3")
36 if (name == m_anchor) {
39 link = QString (
"<a href=""#"">Less ...</a>");
44 link = QString (
"<a href=""#%1"">More ...</a>")
49 html.replace (expression, link);
54void ChecklistGuideBrowser::check (QString &html,
55 const QString &anchor,
60 QString tag = QString (
"%1%2%3")
66 html.replace (tag,
"<img src="":/engauge/img/16-checked.png"">");
68 html.replace (tag,
"<img src="":/engauge/img/16-unchecked.png"">");
72void ChecklistGuideBrowser::divHide (QString &html,
73 const QString &anchor)
const
76 <<
" anchor=" << anchor.toLatin1().data();
79 QString expression = QString (
"\\%1%2\\%3.*\\%4%5\\%6")
86 QRegExp regExp (expression);
87 html.replace (regExp,
"");
90void ChecklistGuideBrowser::divShow (QString &html,
91 const QString &anchor)
const
94 <<
" anchor=" << anchor.toLatin1().data();
96 if (!anchor.isEmpty ()) {
99 QString expressionStart = QString (
"\\%1%2\\%3")
103 QString expressionEnd = QString (
"\\%1%2\\%3")
107 QRegExp regExpStart (expressionStart);
108 QRegExp regExpEnd (expressionEnd);
109 html.replace (regExpStart,
"");
110 html.replace (regExpEnd,
"");
114QString ChecklistGuideBrowser::processAhrefs (
const QString &htmlBefore)
118 QString html = htmlBefore;
129 QStringList::const_iterator itr;
130 for (itr = m_curveNames.begin(); itr != m_curveNames.end(); itr++) {
132 QString curveName = *itr;
133 ahref (html, curveName);
142QString ChecklistGuideBrowser::processCheckboxes (
const QString &htmlBefore)
146 QString html = htmlBefore;
155 QStringList::const_iterator itr;
156 for (itr = m_curveNames.begin(); itr != m_curveNames.end(); itr++) {
158 QString curveName = *itr;
159 check (html, curveName, m_checkedTags.contains (curveName));
167QString ChecklistGuideBrowser::processDivs (
const QString &htmlBefore)
171 QString html = htmlBefore;
175 divShow (html, m_anchor);
186 QStringList::const_iterator itr;
187 for (itr = m_curveNames.begin(); itr != m_curveNames.end(); itr++) {
189 QString curveName = *itr;
190 divHide (html, curveName);
198void ChecklistGuideBrowser::refresh ()
202 QString html = m_templateHtml;
204 html = processAhrefs (html);
205 html = processCheckboxes (html);
206 html = processDivs (html);
208 QTextBrowser::setHtml (html);
211void ChecklistGuideBrowser::repopulateCheckedTags (
const CmdMediator &cmdMediator,
212 bool documentIsExported)
216 m_checkedTags.clear();
231 QStringList::const_iterator itr;
232 for (itr = m_curveNames.begin(); itr != m_curveNames.end(); itr++) {
234 QString curveName = *itr;
236 m_checkedTags [curveName] =
true;
244 if (documentIsExported) {
250 const QStringList &curveNames)
252 m_templateHtml = html;
253 m_curveNames = curveNames;
258void ChecklistGuideBrowser::slotAnchorClicked (
const QUrl &url)
263 if (url.hasFragment ()) {
264 m_anchor = url.fragment ();
271 bool documentIsExported)
275 repopulateCheckedTags(cmdMediator,
const int MIN_WIDTH_BROWSER
const QString TAG_DIV_DELIMITER_END
const QString NAME_EXPORT
const QString TAG_AHREF_DELIMITER_END
const QString NAME_BACKGROUND
const QString TAG_DIV_DELIMITER_START_SLASH
const QString TAG_ANCHOR_DELIMITER_END
const QString TAG_AHREF_DELIMITER_START
const QString TAG_DIV_DELIMITER_START
const QString TAG_ANCHOR_DELIMITER_START
log4cpp::Category * mainCat
ChecklistGuideBrowser()
Single constructor.
void update(const CmdMediator &cmdMediator, bool documentIsExported)
Update using current CmdMediator/Document state.
virtual void setTemplateHtml(const QString &html, const QStringList &curveNames)
Populate the browser with template html. The template html will be converted to real html.
int numPoints() const
Number of points.
const Curve & curveAxes() const
Get method for axis curve.
int curvesGraphsNumPoints(const QString &curveName) const
See CurvesGraphs::curvesGraphsNumPoints.
#define LOG4CPP_INFO_S(logger)