Go to the documentation of this file.
17 #include <QGridLayout>
18 #include <QHeaderView>
19 #include <QPushButton>
20 #include <QRadioButton>
21 #include <QTextStream>
22 #include <QVBoxLayout>
25 unsigned int numberCoordSystem) :
26 m_mainWindow (mainWindow),
27 m_dialogName (tr (
"Checklist Guide"))
29 setWindowTitle (tr (
"Checklist Guide Wizard"));
31 QPixmap splash (
":/engauge/img/SpreadsheetsForDoc.png");
32 setPixmap (QWizard::WatermarkPixmap, splash);
33 setPixmap (QWizard::BackgroundPixmap, splash);
38 for (
CoordSystemIndex coordSystemIndex = 0; coordSystemIndex < numberCoordSystem; coordSystemIndex++) {
40 addPage(m_pageCurves.last());
44 addPage(m_pageConclusion);
49 return m_pageCurves [signed (coordSystemIndex)]->curveNames();
52 QString ChecklistGuideWizard::pageCurvesTitle (
CoordSystemIndex coordSystemIndex,
53 unsigned int numberCoordSystem)
const
59 if (numberCoordSystem == 1) {
67 unsigned int indexOneBased = coordSystemIndex + 1;
68 return QString (
"%1 %2")
69 .arg (QObject::tr (
"Curves for coordinate system"))
80 QStringList
curveNames = m_pageCurves [signed (coordSystemIndex)]->curveNames();
81 QStringList::const_iterator itr;
84 QString curveName = *itr;
97 QStringList
curveNames = m_pageCurves [signed (coordSystemIndex)]->curveNames();
98 bool withLines = m_pageCurves [signed (coordSystemIndex)]->withLines();
101 QTextStream str (&html);
104 str <<
"<style type='text/css'>li { margin-top: 10px 0; }</style>";
106 str <<
"<p>" << tr (
"Follow this checklist of steps to digitize your image. Each step will show a check when it has been completed.");
107 str <<
"<p>" << tr (
"The coordinates are defined by creating axis points") <<
":</p>\n";
111 str <<
"<li>" << tr (
"Click on") <<
" <img src="":/engauge/img/16-DigitAxis""> " << tr (
"for Axis Points mode") <<
"</li>\n";
112 str <<
"<li>" << tr (
"Click on an axis tick mark, or intersection of two grid lines, with labeled coordinates") <<
"</li>\n";
113 str <<
"<li>" << tr (
"Enter the coordinates of the axis point") <<
"</li>\n";
114 str <<
"<li>" << tr (
"Click on Ok") <<
"</li>\n";
120 str <<
"<li>" << tr (
"Click on") <<
" <img src="":/engauge/img/16-DigitAxis""> " << tr (
"for Axis Points mode") <<
"</li>\n";
121 str <<
"<li>" << tr (
"Click on an axis tick mark, or intersection of two grid lines, with labeled coordinates, away from the other axis point") <<
"</li>\n";
122 str <<
"<li>" << tr (
"Enter the coordinates of the axis point") <<
"</li>\n";
123 str <<
"<li>" << tr (
"Click on Ok") <<
"</li>\n";
129 str <<
"<li>" << tr (
"Click on") <<
" <img src="":/engauge/img/16-DigitAxis""> " << tr (
"for Axis Points mode") <<
"</li>\n";
130 str <<
"<li>" << tr (
"Click on an axis tick mark, or intersection of two grid lines, with labeled coordinates, away from the other axis points") <<
"</li>\n";
131 str <<
"<li>" << tr (
"Enter the coordinates of the axis point") <<
"</li>\n";
132 str <<
"<li>" << tr (
"Click on Ok") <<
"</li>\n";
136 str <<
"<p> </p>\n";
137 str <<
"<p>" << tr (
"Points are digitized along each curve") <<
":</p>\n";
138 QStringList::const_iterator itr;
141 QString curveName = *itr;
143 QString tagACurve = QString (
"%1%2%3")
149 <<
" " << tr (
"Add points for curve") <<
" <b>" << curveName <<
"</b>. " << tagACurve <<
"</p>\n";
155 str <<
"<li>" << tr (
"Click on") <<
" <img src="":/engauge/img/16-DigitSegment""> " << tr (
"for Segment Fill mode") <<
"</li>\n";
156 str <<
"<li>" << tr (
"Select curve") <<
" <b>" << curveName <<
"</b> " << tr (
"in the drop-down list") <<
"</li>\n";
157 str <<
"<li>" << tr (
"Move the cursor over the curve. If a line does not appear then adjust the Color Filter settings for this curve") <<
":\n";
158 str << templateHtmlToAdjustColorFilterSettings () <<
"</li>\n";
159 str <<
"<li>" << tr (
"Move the cursor over the curve again. When the Segment Fill line appears, click on it to generate points") <<
"</li>\n";
164 str <<
"<li>" << tr (
"Click on") <<
" <img src="":/engauge/img/16-DigitPointMatch""> " << tr (
"for Point Match mode") <<
"</li>\n";
165 str <<
"<li>" << tr (
"Select curve") <<
" <b>" << curveName <<
"</b> " << tr (
"in the drop-down list") <<
"</li>\n";
166 str <<
"<li>" << tr (
"Move the cursor over a typical point in the curve. If the cursor circle does not change color then adjust "
167 "the Color Filter settings for this curve") <<
":\n";
168 str << templateHtmlToAdjustColorFilterSettings () <<
"</li>\n";
169 str <<
"<li>" << tr (
"Move the cursor over a typical point in the curve again. Click on the point to start point matching") <<
"</li>\n";
170 str <<
"<li>" << tr (
"Engauge will display a candidate point. To accept that candidate point, press the right arrow key") <<
"</li>\n";
171 str <<
"<li>" << tr (
"The previous step repeats until you select a different mode") <<
"</li>\n";
178 str <<
"<p> </p>\n";
179 str <<
"<p>" << tr (
"The digitized points can be exported") <<
":</p>\n";
183 str <<
"<li>" << tr (
"Select menu option File / Export") <<
"</li>\n";
184 str <<
"<li>" << tr (
"Enter the file name") <<
"</li>\n";
185 str <<
"<li>" << tr (
"Click on Ok") <<
"</li>\n";
186 str <<
"<li>" << tr (
"Congratulations!") <<
"</li>\n";
190 str <<
"<p> </p>\n";
191 str <<
"<p>" << tr (
"Hint - The background image can be switched between the original image and filtered image.") <<
" " <<
TAG_AHREF_BACKGROUND <<
"</p>\n";
194 str <<
"<li>" << tr (
"Select menu option View / Background / Show Original Image to see the original image") <<
"</li>\n";
195 str <<
"<li>" << tr (
"Select menu option View / Background / Show Filtered Image to see the image from Color Filter") <<
"</li>\n";
202 QString ChecklistGuideWizard::templateHtmlToAdjustColorFilterSettings ()
const
207 QTextStream str (&html);
210 str <<
" <li>" << tr (
"Select menu option Settings / Color Filter") <<
"<li>\n";
211 str <<
" <li>" << tr (
"Select the method for filtering. Hue is best if the curves have different colors") <<
"</li>\n";
212 str <<
" <li>" << tr (
"Slide the green buttons back and forth until the curve is easily visible in the preview window") <<
"</li>\n";
213 str <<
" <li>" << tr (
"Click on Ok") <<
"</li>\n";
static LineStyle defaultGraphCurve(int index)
Initial default for index'th graph curve.
void populateCurvesGraphs(CoordSystemIndex coordSystemIndex, CurvesGraphs &curvesGraphs)
Create entries in CurvesGraphs for each curve name that user provided.
const QString TAG_DIV_AXIS_END_2
const QString TAG_DIV_DELIMITER_START
const QString TAG_DIV_AXIS_END_1
const QString TAG_AHREF_EXPORT
const QString TAG_DIV_AXIS_START_2
const QString TAG_ANCHOR_AXIS_2
static PointStyle defaultGraphCurve(int index)
Initial default for index'th graph curve.
const QString TAG_ANCHOR_DELIMITER_START
const QString TAG_AHREF_AXIS_1
ChecklistGuideWizard(MainWindow &mainWindow, unsigned int numberCoordSystem)
Single constructor.
const QString TAG_ANCHOR_EXPORT
const QString TAG_DIV_AXIS_START_3
Container for one set of digitized Points.
This class sets up the introduction page.
unsigned int CoordSystemIndex
Zero-based index for identifying CoordSystem instantiations.
const QString TAG_ANCHOR_DELIMITER_END
const QString TAG_DIV_EXPORT_END
const QString TAG_DIV_AXIS_END_3
const QString TAG_DIV_AXIS_START_1
Container for LineStyle and PointStyle for one Curve.
const QString TAG_AHREF_DELIMITER_END
const QString TAG_DIV_DELIMITER_START_SLASH
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
static ColorFilterSettings defaultFilter()
Initial default for any Curve.
const QString TAG_AHREF_BACKGROUND
const QString TAG_AHREF_AXIS_3
#define LOG4CPP_INFO_S(logger)
Container for all graph curves. The axes point curve is external to this class.
const QString TAG_DIV_BACKGROUND_END
log4cpp::Category * mainCat
const QString TAG_DIV_EXPORT_START
const QString TAG_AHREF_AXIS_2
const QString TAG_DIV_BACKGROUND_START
int numCurves() const
Current number of graphs curves.
void addGraphCurveAtEnd(const Curve &curve)
Append new graph Curve to end of Curve list.
QStringList curveNames(CoordSystemIndex coordSystemIndex) const
Curve names to be placed into Document.
const QString TAG_AHREF_DELIMITER_START
const QString TAG_ANCHOR_AXIS_1
QString templateHtml(CoordSystemIndex coordSystemIndex) const
Template html comprising the checklist for display.
const QString TAG_ANCHOR_AXIS_3
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) define ENGAUGE...
This class adds validation to the Curves page.
const QString TAG_DIV_DELIMITER_END
This class uses the validation method of the Conclusion page to perform final processing for Checklis...