Engauge Digitizer 2
Loading...
Searching...
No Matches
Signals | Public Member Functions | Friends | List of all members
MainWindow Class Reference

Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document Interface. More...

#include <MainWindow.h>

Inheritance diagram for MainWindow:
Inheritance graph
Collaboration diagram for MainWindow:
Collaboration graph

Signals

void signalDropRegression (QString)
 Send drag and drop regression test url.
 
void signalGong ()
 Send wakeup signal to unit test framework when all other commands have finished executing.
 
void signalZoom (int)
 Send zoom selection, picked from menu or keystroke, to StatusBar.
 

Public Member Functions

 MainWindow (const QString &errorReportFile, const QString &fileCmdScriptFile, bool isDropRegression, bool isRegressionTest, bool isGnuplot, bool isReset, bool isExportOnly, bool isExtractImageOnly, const QString &extractImageOnlyExtension, const QStringList &loadStartupFiles, const QStringList &commandLineWithoutLoadStartupFiles, QWidget *parent=nullptr)
 Single constructor.
 
 ~MainWindow ()
 
void cmdFileClose ()
 Close file. This is called from a file script command.
 
void cmdFileExport (const QString &fileName)
 Export file. This is called from a file script command.
 
void cmdFileImport (const QString &fileName)
 Import file. This is called from a file script command.
 
void cmdFileOpen (const QString &fileName)
 Open file. This is called from a file script command.
 
CmdMediatorcmdMediator ()
 Accessor for commands to process the Document.
 
virtual bool eventFilter (QObject *, QEvent *)
 Catch secret keypresses.
 
void guidelineAddXT (const QString &identifier, double xT)
 Add a X/T Guideline.
 
void guidelineAddYR (const QString &identifier, double yR)
 Add a Y/R Guideline.
 
void guidelineMoveXT (const QString &identifier, double xTAfter)
 Move a X/T Guideline.
 
void guidelineMoveYR (const QString &identifier, double yRAfter)
 Move a Y/R Guideline.
 
void guidelineRemove (const QString &identifier)
 Remove a X/T or Y/R Guideline.
 
bool guidelinesAreVisible () const
 True/false if guidelines are visible. Selectability is handled elsewhere.
 
void guidelineViewState (GuidelineViewState state) const
 Guideline view state in View menu.
 
void handleGuidelinesActiveChange (bool active)
 Handle Guidelines active status toggle.
 
QImage imageFiltered () const
 Background image that has been filtered for the current curve. This asserts if a curve-specific image is not being shown.
 
bool isGnuplot () const
 Get method for gnuplot flag.
 
MainWindowModel modelMainWindow () const
 Get method for main window model.
 
bool modeMap () const
 True if document scale is set using a scale bar, otherwise using axis points.
 
void resizeEvent (QResizeEvent *event)
 Intercept resize event so graphics scene can be appropriately resized when in Fill mode.
 
void saveErrorReportFileAndExit (const char *comment, const char *file, int line, const char *context)
 Save error report and exit.
 
GraphicsScenescene ()
 Scene container for the QImage and QGraphicsItems.
 
BackgroundImage selectOriginal (BackgroundImage backgroundImage)
 Make original background visible, for DigitizeStateColorPicker.
 
QString selectedGraphCurve () const
 Curve name that is currently selected in m_cmbCurve.
 
void sendGong ()
 Send signal to unit test framework indicating all commands have finished executing.
 
virtual void showEvent (QShowEvent *)
 Processing performed after gui becomes available.
 
void showTemporaryMessage (const QString &temporaryMessage)
 Show temporary message in status bar.
 
Transformation transformation () const
 Return read-only copy of transformation.
 
bool transformIsDefined () const
 Return true if all three axis points have been defined.
 
void updateAfterCommand ()
 See GraphicsScene::updateAfterCommand.
 
void updateAfterMouseRelease ()
 Call MainWindow::updateControls (which is private) after the very specific case - a mouse press/release.
 
void updateCoordSystem (CoordSystemIndex coordSystemIndex)
 Select a different CoordSystem.
 
void updateDigitizeStateIfSoftwareTriggered (DigitizeState digitizeState)
 After software-triggered state transition, this method manually triggers the action as if user had clicked on digitize button.
 
void updateGraphicsLinesToMatchGraphicsPoints ()
 Update the graphics lines so they follow the graphics points, after a drag, addition, removal, and such.
 
void updateSettingsAxesChecker (const DocumentModelAxesChecker &modelAxesChecker)
 Update with new axes indicator properties.
 
void updateSettingsColorFilter (const DocumentModelColorFilter &modelColorFilter)
 Update with new color filter properties.
 
void updateSettingsCoords (const DocumentModelCoords &modelCoords)
 Update with new coordinate properties.
 
void updateSettingsCurveList (const CurvesGraphs &curvesGraphs)
 Update with new curves.
 
void updateSettingsCurveStyles (const CurveStyles &modelCurveStyles)
 Update with new curve styles.
 
void updateSettingsDigitizeCurve (const DocumentModelDigitizeCurve &modelDigitizeCurve)
 Update with new curve digitization styles.
 
void updateSettingsExportFormat (const DocumentModelExportFormat &modelExport)
 Update with new export properties.
 
void updateSettingsGeneral (const DocumentModelGeneral &modelGeneral)
 Update with new general properties.
 
void updateSettingsGridDisplay (const DocumentModelGridDisplay &modelGridDisplay)
 Update with new grid display properties.
 
void updateSettingsGridRemoval (const DocumentModelGridRemoval &modelGridRemoval)
 Update with new grid removal properties.
 
void updateSettingsMainWindow (const MainWindowModel &modelMainWindow)
 Update with new main window properties.
 
void updateSettingsPointMatch (const DocumentModelPointMatch &modelPointMatch)
 Update with new point match properties.
 
void updateSettingsSegments (const DocumentModelSegments &modelSegments)
 Update with new segments properties.
 
void updateViewsOfSettings (const QString &activeCurve)
 Update curve-specific view of settings. Private version gets active curve name from DigitizeStateContext.
 
GraphicsViewview ()
 View for the QImage and QGraphicsItems, without const.
 
const GraphicsViewview () const
 View for the QImage and QGraphicsItems, without const.
 

Friends

class CreateActions
 For simplifying this class by moving initialization to other classes.
 
class CreateCentralWidget
 
class CreateCommandStackShadow
 
class CreateDockableWidgets
 
class CreateFacade
 
class CreateHelpWindow
 
class CreateIcons
 
class CreateLoadImage
 
class CreateMenus
 
class CreateNetwork
 
class CreateScene
 
class CreateSettingsDialogs
 
class CreateStateContexts
 
class CreateStatusBar
 
class CreateToolBars
 
class CreateTutorial
 
class CreateZoomMaps
 
class TestExport
 For unit testing.
 
class TestGuidelines
 

Detailed Description

Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document Interface.

Definition at line 95 of file MainWindow.h.

Constructor & Destructor Documentation

◆ MainWindow()

MainWindow::MainWindow ( const QString & errorReportFile,
const QString & fileCmdScriptFile,
bool isDropRegression,
bool isRegressionTest,
bool isGnuplot,
bool isReset,
bool isExportOnly,
bool isExtractImageOnly,
const QString & extractImageOnlyExtension,
const QStringList & loadStartupFiles,
const QStringList & commandLineWithoutLoadStartupFiles,
QWidget * parent = nullptr )

Single constructor.

Parameters
errorReportFileOptional error report file to be read at startup. Empty if unused. Incompatible with fileCmdScript
fileCmdScriptFileOptional file command script file to be read at startup. Empty if unused. Incompatible with errorReportFile
isDropRegressionTrue if files loaded at startup are for drag and drop testing
isRegressionTestTrue if errorReportFile or fileCmdScript is for regression testing, in which case it is executed and the program exits
isGnuplotTrue if diagnostic gnuplot files are generated for math-intense sections of the code. Used for development and debugging
isResetTrue to reset all settings that would otherwise be restored from the previous execution of Engauge
isExportOnlyTrue to export the loaded startup file and then exit
isExtractImageOnlyTrue to extract the image from the loaded startup file and then exit
extractImageOnlyExtensionFile extension for extracted image for isExtractImageOnly
loadStartupFilesZero or more Engauge document files to load at startup. A separate instance of Engauge is created for each file
commandLineWithoutLoadStartupFilesCommand line arguments without load startup files. Used for spawning additional processes
parentOptional parent widget for this widget

Definition at line 140 of file MainWindow.cpp.

151 :
152 QMainWindow(parent),
153 m_originalFileWasImported (false),
154 m_isDocumentExported (false),
155 m_engaugeFile (EMPTY_FILENAME),
156 m_currentFile (EMPTY_FILENAME),
157 m_layout (nullptr),
158 m_scene (nullptr),
159 m_view (nullptr),
160 m_loadImageFromUrl (nullptr),
161 m_cmdMediator (nullptr),
162 m_digitizeStateContext (nullptr),
163 m_transformationStateContext (nullptr),
164 m_backgroundStateContext (nullptr),
165 m_networkClient (nullptr),
166 m_isGnuplot (isGnuplot),
167 m_commandLineWithoutLoadStartupFiles (commandLineWithoutLoadStartupFiles),
168 m_ghosts (nullptr),
169 m_timerRegressionErrorReport(nullptr),
170 m_fileCmdScript (nullptr),
171 m_isErrorReportRegressionTest (isRegressionTest),
172 m_timerRegressionFileCmdScript(nullptr),
173 m_guidelines (*this),
174 m_fittingCurve (nullptr),
175 m_isExportOnly (isExportOnly),
176 m_isExtractImageOnly (isExtractImageOnly),
177 m_extractImageOnlyExtension (extractImageOnlyExtension)
178{
179 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::MainWindow"
180 << " curDir=" << QDir::currentPath().toLatin1().data();
181
182#if defined(OSX_DEBUG) || defined(OSX_RELEASE)
183 qApp->setApplicationName ("Engauge Digitizer");
184 qApp->setOrganizationDomain ("Mark Mitchell");
185#endif
186
188
189 m_startupDirectory = QDir::currentPath();
190
191 setCurrentFile ("");
192
194 createFacade.create (*this);
195
196 updateControls ();
197
198 settingsRead (isReset); // This changes the current directory when not regression testing
199 setCurrentFile ("");
201
202 installEventFilter(this);
203
204 // Start regression scripting if appropriate. Regression scripts assume current directory is the original
205 // current directory, so we temporarily reset the current directory
206 QString originalPath = QDir::currentPath();
207 QDir::setCurrent (m_startupDirectory);
208 if (isExportOnly) {
209 m_loadStartupFiles = loadStartupFiles;
210 m_regressionFile = exportRegressionFilenameFromInputFilename (loadStartupFiles.first ()); // For regression test
211 slotLoadStartupFiles ();
212 slotFileExport (); // Export one file. QProcess::startDetached will be called for each remaining file
213 exit (0);
214 } else if (isExtractImageOnly) {
215 m_loadStartupFiles = loadStartupFiles;
216 m_regressionFile = exportRegressionFilenameFromInputFilename (loadStartupFiles.first ()); // For regression test
217 slotLoadStartupFiles ();
218 handlerFileExtractImage (); // Extract one file. QProcess::startDetached will be called for each remaining file
219 exit (0);
220 } else if (!errorReportFile.isEmpty()) {
221 loadErrorReportFile(errorReportFile);
222 if (m_isErrorReportRegressionTest) {
223 startRegressionTestErrorReport(errorReportFile);
224 }
225 } else if (!fileCmdScriptFile.isEmpty()) {
226 m_fileCmdScript = new FileCmdScript (fileCmdScriptFile);
227 startRegressionTestFileCmdScript();
228 } else if (isDropRegression) {
229 m_fileCmdScript = new FileCmdScript (""); // Hack to keep dialogs from popping up
230 startRegressionDropTest (loadStartupFiles);
231 } else {
232
233 // Save file names for later, after gui becomes available. The file names are dropped if error report file is specified
234 // since only one of the two modes is available at any time, for simplicity
235 m_loadStartupFiles = loadStartupFiles;
236 }
237 QDir::setCurrent (originalPath);
238}
const int INNER_RADIUS_MIN
log4cpp::Category * mainCat
Definition Logger.cpp:14
const QString EMPTY_FILENAME("")
Facade class that wraps around all of the create classes for MainWindow.
void create(MainWindow &mw)
Create QAction facade.
File that manages a command stack for regression testing of file import/open/export/close.
static void bindToMainWindow(MainWindow *mainWindow)
Bind to MainWindow so this class can access the command stack.
bool isGnuplot() const
Get method for gnuplot flag.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18

◆ ~MainWindow()

MainWindow::~MainWindow ( )

Definition at line 240 of file MainWindow.cpp.

241{
242#if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
243 delete m_helpWindow;
244#endif
245 delete m_tutorialDlg;
246 delete m_cmdMediator;
247 delete m_cmdStackShadow;
248 delete m_digitizeStateContext;
249 delete m_transformationStateContext;
250 delete m_backgroundStateContext;
251 delete m_dlgSettingsAxesChecker;
252 delete m_dlgSettingsColorFilter;
253 delete m_dlgSettingsCoords;
254 delete m_dlgSettingsCurveList;
255 delete m_dlgSettingsCurveProperties;
256 delete m_dlgSettingsDigitizeCurve;
257 delete m_dlgSettingsExportFormat;
258 delete m_dlgSettingsGeneral;
259 delete m_dlgSettingsGridDisplay;
260 delete m_dlgSettingsGridRemoval;
261 delete m_dlgSettingsMainWindow;
262 delete m_dlgSettingsPointMatch;
263 delete m_dlgSettingsSegments;
264 delete m_fileCmdScript;
265 m_gridLines.clear ();
266 m_guidelines.clear ();
267}
void clear()
Deallocate and remove all grid lines.
Definition GridLines.cpp:24
void clear()
Remove guidelines since the current Document is about to be closed.

Member Function Documentation

◆ cmdFileClose()

void MainWindow::cmdFileClose ( )

Close file. This is called from a file script command.

Definition at line 327 of file MainWindow.cpp.

328{
329 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::cmdFileClose";
330
331 setWindowModified (false); // Prevent popup query asking if changes should be saved
332 slotFileClose();
333}

◆ cmdFileExport()

void MainWindow::cmdFileExport ( const QString & fileName)

Export file. This is called from a file script command.

Definition at line 335 of file MainWindow.cpp.

336{
337 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::cmdFileExport";
338
340 fileExport(fileName,
342}
Strategy class for exporting to a file. This strategy is external to the Document class so that class...

◆ cmdFileImport()

void MainWindow::cmdFileImport ( const QString & fileName)

Import file. This is called from a file script command.

Definition at line 344 of file MainWindow.cpp.

345{
346 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::cmdFileImport";
347
348 m_regressionFile = exportRegressionFilenameFromInputFilename (fileName);
349 fileImport (fileName,
350 IMPORT_TYPE_SIMPLE);
351}

◆ cmdFileOpen()

void MainWindow::cmdFileOpen ( const QString & fileName)

Open file. This is called from a file script command.

Definition at line 353 of file MainWindow.cpp.

354{
355 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::cmdFileOpen";
356
357 m_regressionFile = exportRegressionFilenameFromInputFilename (fileName);
358 loadDocumentFile(fileName);
359}

◆ cmdMediator()

CmdMediator * MainWindow::cmdMediator ( )

Accessor for commands to process the Document.

Definition at line 361 of file MainWindow.cpp.

362{
363 // We do not check m_cmdMediator with ENGAUGE_CHECK_PTR since calling code is expected to deal with null pointer at startup
364 return m_cmdMediator;
365}

◆ eventFilter()

bool MainWindow::eventFilter ( QObject * target,
QEvent * event )
virtual

Catch secret keypresses.

Definition at line 383 of file MainWindow.cpp.

384{
385 if (event->type () == QEvent::KeyPress) {
386
387 QKeyEvent *eventKeyPress = static_cast<QKeyEvent *> (event);
388
389 // Special shortcuts. All of these are probably only useful for debugging and/or regression testing
390 if ((eventKeyPress->key() == Qt::Key_E) &&
391 ((eventKeyPress->modifiers() & Qt::ShiftModifier) != 0) &&
392 ((eventKeyPress->modifiers() & Qt::ControlModifier) != 0)) {
393
394 saveErrorReportFileAndExit ("Shift+Control+E",
395 __FILE__,
396 __LINE__,
397 "userTriggered");
398
399 }
400 }
401
402 return QObject::eventFilter (target, event);
403}
void saveErrorReportFileAndExit(const char *comment, const char *file, int line, const char *context)
Save error report and exit.

◆ guidelineAddXT()

void MainWindow::guidelineAddXT ( const QString & identifier,
double xT )

Add a X/T Guideline.

Definition at line 844 of file MainWindow.cpp.

846{
847 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::guidelineAddXT";
848
849 if (m_cmdMediator->document().modelCoords().coordsType() == COORDS_TYPE_CARTESIAN) {
850 m_guidelines.createGuidelineX (identifier,
851 xT);
852 } else {
853 m_guidelines.createGuidelineT (identifier,
854 xT);
855 }
856
857 m_cmdMediator->document().setModelGuidelines (m_guidelines.modelGuidelines ());
858}
@ COORDS_TYPE_CARTESIAN
Definition CoordsType.h:13
Document & document()
Provide the Document to commands, primarily for undo/redo processing.
CoordsType coordsType() const
Get method for coordinates type.
void setModelGuidelines(const DocumentModelGuidelines &modelGuidelines)
Set method for DocumentModelGuidelines.
DocumentModelCoords modelCoords() const
Get method for DocumentModelCoords.
Definition Document.cpp:698
void createGuidelineT(const QString &identifier, double t)
Factory method for creating a new GUIDELINE_STATE_DEPLOYED_CONSTANT_T_ACTIVE.
DocumentModelGuidelines modelGuidelines() const
Return complete set of guidelines information for Document.
void createGuidelineX(const QString &identifier, double x)
Factory method for creating a new GUIDELINE_STATE_DEPLOYED_CONSTANT_X_ACTIVE.

◆ guidelineAddYR()

void MainWindow::guidelineAddYR ( const QString & identifier,
double yR )

Add a Y/R Guideline.

Definition at line 869 of file MainWindow.cpp.

871{
872 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::guidelineAddYR";
873
874 if (m_cmdMediator->document().modelCoords().coordsType() == COORDS_TYPE_CARTESIAN) {
875 m_guidelines.createGuidelineY (identifier,
876 yR);
877 } else {
878 m_guidelines.createGuidelineR (identifier,
879 yR);
880 }
881
882 m_cmdMediator->document().setModelGuidelines (m_guidelines.modelGuidelines ());
883}
void createGuidelineY(const QString &identifier, double y)
Factory method for creating a new GUIDELINE_STATE_DEPLOYED_CONSTANT_Y_ACTIVE.
void createGuidelineR(const QString &identifier, double r)
Factory method for creating a new GUIDELINE_STATE_DEPLOYED_CONSTANT_R_ACTIVE.

◆ guidelineMoveXT()

void MainWindow::guidelineMoveXT ( const QString & identifier,
double xTAfter )

Move a X/T Guideline.

Definition at line 894 of file MainWindow.cpp.

896{
897 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::guidelineMoveXT";
898
899 m_guidelines.moveGuidelineXT (identifier,
900 valueAfter);
901
902 m_cmdMediator->document().setModelGuidelines (m_guidelines.modelGuidelines ());
903}
void moveGuidelineXT(const QString &identifier, double valueAfter)
Move an X/T guideline from one value to another. Closest value wins.

◆ guidelineMoveYR()

void MainWindow::guidelineMoveYR ( const QString & identifier,
double yRAfter )

Move a Y/R Guideline.

Definition at line 905 of file MainWindow.cpp.

907{
908 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::guidelineMoveYR";
909
910 m_guidelines.moveGuidelineYR (identifier,
911 valueAfter);
912
913 m_cmdMediator->document().setModelGuidelines (m_guidelines.modelGuidelines ());
914}
void moveGuidelineYR(const QString &identifier, double valueAfter)
Move an Y/R guideline from one value to another. Closest value wins.

◆ guidelineRemove()

void MainWindow::guidelineRemove ( const QString & identifier)

Remove a X/T or Y/R Guideline.

Definition at line 916 of file MainWindow.cpp.

917{
918 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::guidelineRemove";
919
920 m_guidelines.removeGuideline (identifier);
921 m_cmdMediator->document().setModelGuidelines (m_guidelines.modelGuidelines ());
922}
void removeGuideline(const QString &identifier)
Remove an X/T or Y/R guideline.

◆ guidelinesAreVisible()

bool MainWindow::guidelinesAreVisible ( ) const

True/false if guidelines are visible. Selectability is handled elsewhere.

Definition at line 929 of file MainWindow.cpp.

930{
931 return (guidelinesVisibilityCanBeEnabled () &&
932 (m_actionViewGuidelinesEdit->isChecked() || m_actionViewGuidelinesLock->isChecked()));
933}

◆ guidelineViewState()

void MainWindow::guidelineViewState ( GuidelineViewState state) const

Guideline view state in View menu.

Definition at line 950 of file MainWindow.cpp.

951{
952 switch (state)
953 {
955 m_actionViewGuidelinesHide->setChecked (true);
956 break;
957
959 m_actionViewGuidelinesEdit->setChecked (true);
960 break;
961
963 m_actionViewGuidelinesLock->setChecked (true);
964 break;
965
967 LOG4CPP_ERROR_S ((*mainCat)) << "MainWindow::guidelineViewState bad state";
968 break;
969 }
970}
@ GUIDELINE_VIEW_STATE_HIDE
@ GUIDELINE_VIEW_STATE_EDIT
@ NUM_GUIDELINE_VIEW_STATES
@ GUIDELINE_VIEW_STATE_LOCK
#define LOG4CPP_ERROR_S(logger)
Definition convenience.h:12

◆ handleGuidelinesActiveChange()

void MainWindow::handleGuidelinesActiveChange ( bool active)

Handle Guidelines active status toggle.

Definition at line 972 of file MainWindow.cpp.

973{
974 m_guidelines.handleActiveChange (active);
975}
void handleActiveChange(bool active)
DigitizeState change so active status may (or may not) be toggled.

◆ imageFiltered()

QImage MainWindow::imageFiltered ( ) const

Background image that has been filtered for the current curve. This asserts if a curve-specific image is not being shown.

Definition at line 997 of file MainWindow.cpp.

998{
999 return m_backgroundStateContext->imageForCurveState();
1000}
QImage imageForCurveState() const
Image for the Curve state, even if the current state is different.

◆ isGnuplot()

bool MainWindow::isGnuplot ( ) const

Get method for gnuplot flag.

Definition at line 1002 of file MainWindow.cpp.

1003{
1004 return m_isGnuplot;
1005}

◆ modelMainWindow()

MainWindowModel MainWindow::modelMainWindow ( ) const

Get method for main window model.

Definition at line 1369 of file MainWindow.cpp.

1370{
1371 return m_modelMainWindow;
1372}

◆ modeMap()

bool MainWindow::modeMap ( ) const

True if document scale is set using a scale bar, otherwise using axis points.

Definition at line 1358 of file MainWindow.cpp.

1359{
1360 bool success = false;
1361
1362 if (m_cmdMediator != nullptr) {
1364 }
1365
1366 return success;
1367}
@ DOCUMENT_AXES_POINTS_REQUIRED_2
DocumentAxesPointsRequired documentAxesPointsRequired() const
Get method for DocumentAxesPointsRequired.
Definition Document.cpp:366

◆ resizeEvent()

void MainWindow::resizeEvent ( QResizeEvent * event)

Intercept resize event so graphics scene can be appropriately resized when in Fill mode.

Definition at line 1392 of file MainWindow.cpp.

1393{
1394 LOG4CPP_DEBUG_S ((*mainCat)) << "MainWindow::resizeEvent";
1395
1396 if (m_actionZoomFill->isChecked ()) {
1397 slotViewZoomFactor (ZOOM_FILL);
1398 }
1399
1400 QMainWindow::resizeEvent(event);
1401}
@ ZOOM_FILL
Definition ZoomFactor.h:37
#define LOG4CPP_DEBUG_S(logger)
Definition convenience.h:20

◆ saveErrorReportFileAndExit()

void MainWindow::saveErrorReportFileAndExit ( const char * comment,
const char * file,
int line,
const char * context )

Save error report and exit.

Definition at line 1441 of file MainWindow.cpp.

1445{
1446 // Skip if currently performing a regression test - in which case the preferred behavior is to let the current test fail and
1447 // continue on to execute the remaining tests
1448 if ((m_cmdMediator != nullptr) && !m_isErrorReportRegressionTest) {
1449
1450 QString report = saveErrorReportFileAndExitXml (context,
1451 file,
1452 line,
1453 comment);
1454
1456 if (dlg.exec() == QDialog::Accepted) {
1458
1459 QString fileName = dlg.getSaveFileName (this,
1460 tr("Save"),
1461 "error_report.xml");
1462 if (!fileName.isEmpty ()) {
1463 // Save the error report
1466 fileError.open (QIODevice::WriteOnly | QIODevice::Text);
1467 str << report;
1468 fileError.close ();
1469 }
1470 }
1471
1472 exit (-1);
1473 }
1474}
Dialog for saving error report for later transmission to the developers.

◆ scene()

GraphicsScene & MainWindow::scene ( )

Scene container for the QImage and QGraphicsItems.

Definition at line 1596 of file MainWindow.cpp.

1597{
1598 ENGAUGE_CHECK_PTR (m_scene);
1599 return *m_scene;
1600}
#define ENGAUGE_CHECK_PTR(ptr)
Drop in replacement for Q_CHECK_PTR.

◆ selectedGraphCurve()

QString MainWindow::selectedGraphCurve ( ) const

Curve name that is currently selected in m_cmbCurve.

Definition at line 1616 of file MainWindow.cpp.

1617{
1618 return m_cmbCurve->currentText ();
1619}

◆ selectOriginal()

BackgroundImage MainWindow::selectOriginal ( BackgroundImage backgroundImage)

Make original background visible, for DigitizeStateColorPicker.

This returns the previous background state for restoring when state finishes

Definition at line 1602 of file MainWindow.cpp.

1603{
1604 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::selectBackgroundOriginal";
1605
1606 BackgroundImage previousBackground = static_cast<BackgroundImage> (m_cmbBackground->currentData().toInt());
1607
1608 int index = m_cmbBackground->findData (backgroundImage);
1609 ENGAUGE_ASSERT (index >= 0);
1610
1611 m_cmbBackground->setCurrentIndex(index);
1612
1613 return previousBackground;
1614}
BackgroundImage
Background selection.
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.

◆ sendGong()

void MainWindow::sendGong ( )

Send signal to unit test framework indicating all commands have finished executing.

Definition at line 1621 of file MainWindow.cpp.

1622{
1623 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::sendGong";
1624
1625 emit signalGong ();
1626}
void signalGong()
Send wakeup signal to unit test framework when all other commands have finished executing.

◆ showEvent()

void MainWindow::showEvent ( QShowEvent * event)
virtual

Processing performed after gui becomes available.

Definition at line 2050 of file MainWindow.cpp.

2051{
2052 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::showEvent"
2053 << " files=" << m_loadStartupFiles.join (",").toLatin1().data();
2054
2055 QMainWindow::showEvent (event);
2056
2057 if (m_loadStartupFiles.count() > 0) {
2058
2059 m_timerLoadStartupFiles = new QTimer;
2060 m_timerLoadStartupFiles->setSingleShot (true);
2061 connect (m_timerLoadStartupFiles, SIGNAL (timeout ()), this, SLOT (slotLoadStartupFiles ()));
2062 m_timerLoadStartupFiles->start (0); // Zero delay still waits until execution finishes and gui is available
2063
2064 }
2065}

◆ showTemporaryMessage()

void MainWindow::showTemporaryMessage ( const QString & temporaryMessage)

Show temporary message in status bar.

Definition at line 2067 of file MainWindow.cpp.

2068{
2070}
void showTemporaryMessage(const QString &message)
Show temporary message in status bar. After a short interval the message will disappear.

◆ signalDropRegression

void MainWindow::signalDropRegression ( QString )
signal

Send drag and drop regression test url.

◆ signalGong

void MainWindow::signalGong ( )
signal

Send wakeup signal to unit test framework when all other commands have finished executing.

◆ signalZoom

void MainWindow::signalZoom ( int )
signal

Send zoom selection, picked from menu or keystroke, to StatusBar.

◆ transformation()

Transformation MainWindow::transformation ( ) const

Return read-only copy of transformation.

Definition at line 3506 of file MainWindow.cpp.

3507{
3508 return m_transformation;
3509}

◆ transformIsDefined()

bool MainWindow::transformIsDefined ( ) const

Return true if all three axis points have been defined.

Definition at line 3511 of file MainWindow.cpp.

3512{
3513 return m_transformation.transformIsDefined();
3514}
bool transformIsDefined() const
Transform is defined when at least three axis points have been digitized.

◆ updateAfterCommand()

void MainWindow::updateAfterCommand ( )

See GraphicsScene::updateAfterCommand.

Definition at line 3516 of file MainWindow.cpp.

3517{
3518 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateAfterCommand";
3519
3520 ENGAUGE_CHECK_PTR (m_cmdMediator);
3521
3522 // Update transformation stuff, including the graph coordinates of every point in the Document, so coordinates in
3523 // status bar are up to date. Point coordinates in Document are also updated
3524 updateAfterCommandStatusBarCoords ();
3525
3526 updateHighlightOpacity ();
3527
3528 // Update graphics. Effectively, these steps do very little (just needed for highlight opacity)
3529 m_digitizeStateContext->updateAfterPointAddition (); // May or may not be needed due to point addition
3530
3531 updateControls ();
3532 updateChecklistGuide ();
3533 updateFittingWindow ();
3534 updateGeometryWindow();
3535
3536 // Final actions at the end of a redo/undo are:
3537 // 1) checkpoint the Document and GraphicsScene to log files so proper state can be verified
3538 // 2) run sanity check on state
3539 writeCheckpointToLogFile ();
3541 docScrub.check (*this,
3542 m_cmdMediator->document ());
3543
3544 // Since focus may have drifted over to Geometry Window or some other control we se focus on the GraphicsView
3545 // so the cursor is appropriate for the current state (otherwise it often ends up as default arrow)
3546 m_view->setFocus ();
3547}
void updateAfterPointAddition()
Update the graphics attributes.
Check Document state.
void check(MainWindow &mainWindow, const Document &document) const
Check document state.

◆ updateAfterMouseRelease()

void MainWindow::updateAfterMouseRelease ( )

Call MainWindow::updateControls (which is private) after the very specific case - a mouse press/release.

Definition at line 3596 of file MainWindow.cpp.

3597{
3598 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateAfterMouseRelease";
3599
3600 updateControls ();
3601}

◆ updateCoordSystem()

void MainWindow::updateCoordSystem ( CoordSystemIndex coordSystemIndex)

Select a different CoordSystem.

Definition at line 3745 of file MainWindow.cpp.

3746{
3747 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateCoordSystem";
3748
3749 // If this is from undo/redo playback then combobox must be updated
3750 if ((CoordSystemIndex) m_cmbCoordSystem->currentIndex() != coordSystemIndex) {
3751 m_cmbCoordSystem->setCurrentIndex (coordSystemIndex);
3752 }
3753
3754 // Set current curve in the Document and in the MainWindow combobox together so they are in sync. Setting
3755 // the selected curve prevents a crash in updateTransformationAndItsDependencies
3756 m_cmdMediator->document().setCoordSystemIndex (coordSystemIndex);
3757 loadCurveListFromCmdMediator ();
3758
3759 updateTransformationAndItsDependencies(); // Transformation state may have changed
3760 updateSettingsAxesChecker(m_cmdMediator->document().modelAxesChecker()); // Axes checker dependes on transformation state
3761 loadGuidelinesFromCmdMediator();
3762
3763 // Nice trick for showing that a new coordinate system is in effect is to show the axes checker
3764 m_transformationStateContext->updateAxesChecker (*m_cmdMediator,
3765 m_transformation);
3766
3768}
unsigned int CoordSystemIndex
Zero-based index for identifying CoordSystem instantiations.
void setCoordSystemIndex(CoordSystemIndex coordSystemIndex)
Set the index of current active CoordSystem.
Definition Document.cpp:928
DocumentModelAxesChecker modelAxesChecker() const
Get method for DocumentModelAxesChecker.
Definition Document.cpp:684
void updateSettingsAxesChecker(const DocumentModelAxesChecker &modelAxesChecker)
Update with new axes indicator properties.
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
void updateAxesChecker(CmdMediator &cmdMediator, const Transformation &transformation)
Apply the new DocumentModelAxesChecker.

◆ updateDigitizeStateIfSoftwareTriggered()

void MainWindow::updateDigitizeStateIfSoftwareTriggered ( DigitizeState digitizeState)

After software-triggered state transition, this method manually triggers the action as if user had clicked on digitize button.

Definition at line 3770 of file MainWindow.cpp.

3771{
3772 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateDigitizeStateIfSoftwareTriggered";
3773
3774 switch (digitizeState) {
3776 m_actionDigitizeAxis->setChecked(true);
3777 slotDigitizeAxis(); // Call the slot that the setChecked call fails to trigger
3778 break;
3779
3781 m_actionDigitizeColorPicker->setChecked(true);
3782 slotDigitizeColorPicker(); // Call the slot that the setChecked call fails to trigger
3783 break;
3784
3786 m_actionDigitizeCurve->setChecked(true);
3787 slotDigitizeCurve(); // Call the slot that the setChecked call fails to trigger
3788 break;
3789
3791 break;
3792
3794 m_actionDigitizePointMatch->setChecked(true);
3795 slotDigitizePointMatch(); // Call the slot that the setChecked call fails to trigger
3796 break;
3797
3799 m_actionDigitizeScale->setChecked(true);
3800 slotDigitizeScale(); // Call the slot that the setChecked call fails to trigger
3801 break;
3802
3804 m_actionDigitizeSegment->setChecked(true);
3805 slotDigitizeSegment(); // Call the slot that the setChecked call fails to trigger
3806 break;
3807
3809 m_actionDigitizeSelect->setChecked(true);
3810 slotDigitizeSelect(); // Call the slot that the setChecked call fails to trigger
3811 break;
3812
3813 default:
3814 LOG4CPP_ERROR_S ((*mainCat)) << "MainWindow::updateDigitizeStateIfSoftwareTriggered";
3815 break;
3816 }
3817}
@ DIGITIZE_STATE_POINT_MATCH
@ DIGITIZE_STATE_SELECT
@ DIGITIZE_STATE_COLOR_PICKER
@ DIGITIZE_STATE_SEGMENT

◆ updateGraphicsLinesToMatchGraphicsPoints()

void MainWindow::updateGraphicsLinesToMatchGraphicsPoints ( )

Update the graphics lines so they follow the graphics points, after a drag, addition, removal, and such.

The points in the Document may (and probably are) out of date with respect to the graphics points

Definition at line 3849 of file MainWindow.cpp.

3850{
3851 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateGraphicsLinesToMatchGraphicsPoints";
3852
3854 m_transformation);
3855}
CurveStyles modelCurveStyles() const
Get method for CurveStyles.
Definition Document.cpp:705
void updateGraphicsLinesToMatchGraphicsPoints(const CurveStyles &modelCurveStyles, const Transformation &transformation)
A mouse move has just occurred so move the selected points, since they were dragged.

◆ updateSettingsAxesChecker()

void MainWindow::updateSettingsAxesChecker ( const DocumentModelAxesChecker & modelAxesChecker)

Update with new axes indicator properties.

Definition at line 3919 of file MainWindow.cpp.

3920{
3921 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsAxesChecker";
3922
3923 m_cmdMediator->document().setModelAxesChecker(modelAxesChecker);
3924 if (m_transformation.transformIsDefined()) {
3925 m_transformationStateContext->triggerStateTransition(m_isGnuplot,
3927 *m_cmdMediator,
3928 m_transformation,
3929 m_cmbCurve->currentText());
3930 } else {
3931 m_transformationStateContext->triggerStateTransition(m_isGnuplot,
3933 *m_cmdMediator,
3934 m_transformation,
3935 m_cmbCurve->currentText());
3936 }
3937}
void setModelAxesChecker(const DocumentModelAxesChecker &modelAxesChecker)
Set method for DocumentModelAxesChecker.
Definition Document.cpp:961
void triggerStateTransition(bool isGnuplot, TransformationState transformationState, CmdMediator &cmdMediator, const Transformation &transformation, const QString &selectedGraphCurve)
Trigger a state transition to be performed immediately.

◆ updateSettingsColorFilter()

void MainWindow::updateSettingsColorFilter ( const DocumentModelColorFilter & modelColorFilter)

Update with new color filter properties.

Definition at line 3939 of file MainWindow.cpp.

3940{
3941 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsColorFilter";
3942
3943 m_cmdMediator->document().setModelColorFilter(modelColorFilter);
3944 m_backgroundStateContext->updateColorFilter (m_isGnuplot,
3945 m_transformation,
3946 m_cmdMediator->document().modelGridRemoval(),
3947 modelColorFilter,
3948 m_cmbCurve->currentText());
3949 m_digitizeStateContext->handleCurveChange (m_cmdMediator);
3951}
void updateColorFilter(bool isGnuplot, const Transformation &transformation, const DocumentModelGridRemoval &modelGridRemoval, const DocumentModelColorFilter &colorFilter, const QString &curveSelected)
Apply color filter settings.
void handleCurveChange(CmdMediator *cmdMediator)
See DigitizeStateAbstractBase::handleCurveChange.
void setModelColorFilter(const DocumentModelColorFilter &modelColorFilter)
Set method for DocumentModelColorFilter.
Definition Document.cpp:968
DocumentModelGridRemoval modelGridRemoval() const
Get method for DocumentModelGridRemoval.
Definition Document.cpp:740
void updateViewsOfSettings(const QString &activeCurve)
Update curve-specific view of settings. Private version gets active curve name from DigitizeStateCont...

◆ updateSettingsCoords()

void MainWindow::updateSettingsCoords ( const DocumentModelCoords & modelCoords)

Update with new coordinate properties.

Definition at line 3953 of file MainWindow.cpp.

3954{
3955 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsCoords";
3956
3957 m_cmdMediator->document().setModelCoords(modelCoords);
3958}
void setModelCoords(const DocumentModelCoords &modelCoords)
Set method for DocumentModelCoords.
Definition Document.cpp:986

◆ updateSettingsCurveList()

void MainWindow::updateSettingsCurveList ( const CurvesGraphs & curvesGraphs)

Update with new curves.

Definition at line 3960 of file MainWindow.cpp.

3961{
3962 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsCurveList";
3963
3964 m_cmdMediator->document().setCurvesGraphs (curvesGraphs);
3965 loadCurveListFromCmdMediator();
3967}
void setCurvesGraphs(const CurvesGraphs &curvesGraphs)
Let CmdAbstract classes overwrite CurvesGraphs.
Definition Document.cpp:942

◆ updateSettingsCurveStyles()

void MainWindow::updateSettingsCurveStyles ( const CurveStyles & modelCurveStyles)

Update with new curve styles.

Definition at line 3969 of file MainWindow.cpp.

3970{
3971 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsCurveStyles";
3972
3973 m_scene->updateCurveStyles(modelCurveStyles);
3974 m_cmdMediator->document().setModelCurveStyles(modelCurveStyles);
3976}
void setModelCurveStyles(const CurveStyles &modelCurveStyles)
Set method for CurveStyles.
Definition Document.cpp:993
void updateCurveStyles(const CurveStyles &modelCurveStyles)
Update curve styles after settings changed.

◆ updateSettingsDigitizeCurve()

void MainWindow::updateSettingsDigitizeCurve ( const DocumentModelDigitizeCurve & modelDigitizeCurve)

Update with new curve digitization styles.

Definition at line 3978 of file MainWindow.cpp.

3979{
3980 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsDigitizeCurve";
3981
3982 m_cmdMediator->document().setModelDigitizeCurve(modelDigitizeCurve);
3983 m_digitizeStateContext->updateModelDigitizeCurve (m_cmdMediator,
3984 modelDigitizeCurve);
3985}
void updateModelDigitizeCurve(CmdMediator *cmdMediator, const DocumentModelDigitizeCurve &modelDigitizeCurve)
Update the digitize curve settings.
void setModelDigitizeCurve(const DocumentModelDigitizeCurve &modelDigitizeCurve)
Set method for DocumentModelDigitizeCurve.

◆ updateSettingsExportFormat()

void MainWindow::updateSettingsExportFormat ( const DocumentModelExportFormat & modelExport)

Update with new export properties.

Definition at line 3987 of file MainWindow.cpp.

3988{
3989 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsExportFormat";
3990
3991 m_cmdMediator->document().setModelExport (modelExport);
3992}
void setModelExport(const DocumentModelExportFormat &modelExport)
Set method for DocumentModelExportFormat.

◆ updateSettingsGeneral()

void MainWindow::updateSettingsGeneral ( const DocumentModelGeneral & modelGeneral)

Update with new general properties.

Definition at line 3994 of file MainWindow.cpp.

3995{
3996 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsGeneral";
3997
3998 m_cmdMediator->document().setModelGeneral(modelGeneral);
3999}
void setModelGeneral(const DocumentModelGeneral &modelGeneral)
Set method for DocumentModelGeneral.

◆ updateSettingsGridDisplay()

void MainWindow::updateSettingsGridDisplay ( const DocumentModelGridDisplay & modelGridDisplay)

Update with new grid display properties.

Definition at line 4001 of file MainWindow.cpp.

4002{
4003 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsGridDisplay";
4004
4005 m_cmdMediator->document().setModelGridDisplay(modelGridDisplay);
4006 updateGridLines ();
4007}
void setModelGridDisplay(const DocumentModelGridDisplay &modelGridDisplay)
Set method for DocumentModelGridDisplay.

◆ updateSettingsGridRemoval()

void MainWindow::updateSettingsGridRemoval ( const DocumentModelGridRemoval & modelGridRemoval)

Update with new grid removal properties.

Definition at line 4009 of file MainWindow.cpp.

4010{
4011 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsGridRemoval";
4012
4013 m_cmdMediator->document().setModelGridRemoval(modelGridRemoval);
4014}
void setModelGridRemoval(const DocumentModelGridRemoval &modelGridRemoval)
Set method for DocumentModelGridRemoval.

◆ updateSettingsMainWindow()

void MainWindow::updateSettingsMainWindow ( const MainWindowModel & modelMainWindow)

Update with new main window properties.

Definition at line 4045 of file MainWindow.cpp.

4046{
4047 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsMainWindow";
4048
4049 m_modelMainWindow = modelMainWindow;
4051}
MainWindowModel modelMainWindow() const
Get method for main window model.
void updateSettingsMainWindow(const MainWindowModel &modelMainWindow)
Update with new main window properties.

◆ updateSettingsPointMatch()

void MainWindow::updateSettingsPointMatch ( const DocumentModelPointMatch & modelPointMatch)

Update with new point match properties.

Definition at line 4053 of file MainWindow.cpp.

4054{
4055 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsPointMatch";
4056
4057 m_cmdMediator->document().setModelPointMatch(modelPointMatch);
4058}
void setModelPointMatch(const DocumentModelPointMatch &modelPointMatch)
Set method for DocumentModelPointMatch.

◆ updateSettingsSegments()

void MainWindow::updateSettingsSegments ( const DocumentModelSegments & modelSegments)

Update with new segments properties.

Definition at line 4060 of file MainWindow.cpp.

4061{
4062 LOG4CPP_INFO_S ((*mainCat)) << "MainWindow::updateSettingsSegments";
4063
4064 m_cmdMediator->document().setModelSegments(modelSegments);
4065 m_digitizeStateContext->updateModelSegments(modelSegments);
4066}
void updateModelSegments(const DocumentModelSegments &modelSegments)
Update the segments given the new settings.
void setModelSegments(const DocumentModelSegments &modelSegments)
Set method for DocumentModelSegments.

◆ updateViewsOfSettings()

void MainWindow::updateViewsOfSettings ( const QString & activeCurve)

Update curve-specific view of settings. Private version gets active curve name from DigitizeStateContext.

Definition at line 4136 of file MainWindow.cpp.

4137{
4138 if (activeCurve.isEmpty ()) {
4139
4140 m_viewPointStyle->unsetPointStyle ();
4141 m_viewSegmentFilter->unsetColorFilterSettings ();
4142
4143
4144 } else {
4145
4146 PointStyle pointStyle = m_cmdMediator->document().modelCurveStyles().curveStyle(activeCurve).pointStyle();
4147 m_viewPointStyle->setPointStyle (pointStyle);
4148
4149 ColorFilterSettings colorFilterSettings = m_cmdMediator->document().modelColorFilter().colorFilterSettings(activeCurve);
4150 m_viewSegmentFilter->setColorFilterSettings (colorFilterSettings,
4151 m_cmdMediator->pixmap ());
4152
4153 }
4154}
QPixmap pixmap() const
See Document::pixmap.
Color filter parameters for one curve. For a class, this is handled the same as LineStyle and PointSt...
PointStyle pointStyle() const
Get method for PointStyle.
CurveStyle curveStyle(const QString &curveName) const
CurveStyle in specified curve.
const ColorFilterSettings colorFilterSettings(const QString &curveName) const
Get method for copying one color filter. Cannot return just a reference or else there is a warning ab...
DocumentModelColorFilter modelColorFilter() const
Get method for DocumentModelColorFilter.
Definition Document.cpp:691
Details for a specific Point.
Definition PointStyle.h:21
void unsetPointStyle()
Apply no PointStyle.
void setPointStyle(const PointStyle &pointStyle)
Apply the PointStyle of the currently selected curve.
void unsetColorFilterSettings()
Apply no color filter.
void setColorFilterSettings(const ColorFilterSettings &colorFilterSettings, const QPixmap &pixmap)
Apply the color filter of the currently selected curve. The pixmap is included so the background colo...

◆ view() [1/2]

GraphicsView & MainWindow::view ( )

View for the QImage and QGraphicsItems, without const.

Definition at line 4195 of file MainWindow.cpp.

4196{
4197 ENGAUGE_CHECK_PTR (m_view);
4198 return *m_view;
4199}

◆ view() [2/2]

const GraphicsView & MainWindow::view ( ) const

View for the QImage and QGraphicsItems, without const.

Definition at line 4201 of file MainWindow.cpp.

4202{
4203 ENGAUGE_CHECK_PTR (m_view);
4204 return *m_view;
4205}

Friends And Related Symbol Documentation

◆ CreateActions

For simplifying this class by moving initialization to other classes.

Definition at line 100 of file MainWindow.h.

◆ CreateCentralWidget

Definition at line 101 of file MainWindow.h.

◆ CreateCommandStackShadow

Definition at line 102 of file MainWindow.h.

◆ CreateDockableWidgets

Definition at line 103 of file MainWindow.h.

◆ CreateFacade

Definition at line 104 of file MainWindow.h.

◆ CreateHelpWindow

Definition at line 105 of file MainWindow.h.

◆ CreateIcons

Definition at line 106 of file MainWindow.h.

◆ CreateLoadImage

Definition at line 107 of file MainWindow.h.

◆ CreateMenus

Definition at line 108 of file MainWindow.h.

◆ CreateNetwork

Definition at line 109 of file MainWindow.h.

◆ CreateScene

Definition at line 110 of file MainWindow.h.

◆ CreateSettingsDialogs

Definition at line 111 of file MainWindow.h.

◆ CreateStateContexts

Definition at line 112 of file MainWindow.h.

◆ CreateStatusBar

Definition at line 113 of file MainWindow.h.

◆ CreateToolBars

Definition at line 114 of file MainWindow.h.

◆ CreateTutorial

Definition at line 115 of file MainWindow.h.

◆ CreateZoomMaps

Definition at line 116 of file MainWindow.h.

◆ TestExport

For unit testing.

Definition at line 119 of file MainWindow.h.

◆ TestGuidelines

Definition at line 120 of file MainWindow.h.


The documentation for this class was generated from the following files: