136 const QString &fileCmdScriptFile,
137 bool isDropRegression,
138 bool isRegressionTest,
142 bool isExtractImageOnly,
143 const QString &extractImageOnlyExtension,
144 const QStringList &loadStartupFiles,
145 const QStringList &commandLineWithoutLoadStartupFiles,
146 QWidget *parent =
nullptr);
214 const char *context);
309 void slotBtnPrintAll();
310 void slotBtnShowAllPressed();
311 void slotBtnShowAllReleased();
312 void slotCanRedoChanged (
bool);
313 void slotCanUndoChanged (
bool);
314 void slotChecklistClosed ();
315 void slotCleanChanged (
bool);
316 void slotCmbBackground(
int);
317 void slotCmbCoordSystem(
int);
318 void slotCmbCurve(
int);
319 void slotContextMenuEventAxis (QString);
320 void slotContextMenuEventGraph (QStringList);
321 void slotDigitizeAxis ();
322 void slotDigitizeColorPicker ();
323 void slotDigitizeCurve ();
324 void slotDigitizeGuidelines ();
325 void slotDigitizePointMatch ();
326 void slotDigitizeScale ();
327 void slotDigitizeSegment ();
328 void slotDigitizeSelect ();
329 void slotEditCopy ();
331 void slotEditDelete ();
332 void slotEditMenu ();
333 void slotEditPaste ();
334 void slotEditPasteAsNew ();
335 void slotEditPasteAsNewAdvanced ();
336 void slotFileClose ();
337 void slotFileExport ();
338 void slotFileImport();
339 void slotFileImportAdvanced();
340 void slotFileImportDraggedImage(QImage);
341 void slotFileImportDraggedImageUrl(QUrl);
342 void slotFileImportImage(QString, QImage);
343 void slotFileImportImageReplace();
345 void slotFileOpenDraggedDigFile (QString);
346 void slotFilePrint();
348 bool slotFileSaveAs();
349 void slotFittingWindowClosed();
351 void slotGeometryWindowClosed();
353 void slotHelpAbout();
354 void slotHelpTutorial();
355 void slotKeyPress (Qt::Key,
bool);
356 void slotLoadStartupFiles ();
357 void slotMouseMove (QPointF);
358 void slotMousePress (QPointF);
359 void slotMouseRelease (QPointF);
360 void slotRecentFileAction ();
361 void slotRecentFileClear ();
362 void slotRedoTextChanged (
const QString &);
363 void slotSettingsAxesChecker ();
364 void slotSettingsColorFilter ();
365 void slotSettingsCoords ();
366 void slotSettingsCurveList ();
367 void slotSettingsCurveProperties ();
368 void slotSettingsDigitizeCurve ();
369 void slotSettingsExportFormat ();
370 void slotSettingsGeneral ();
371 void slotSettingsGridDisplay ();
372 void slotSettingsGridRemoval ();
373 void slotSettingsGuideline ();
374 void slotSettingsMainWindow ();
375 void slotSettingsPointMatch ();
376 void slotSettingsSegments ();
377 void slotTableStatusChange ();
378 void slotTimeoutChecklistGuideWizard ();
379 void slotTimeoutRegressionErrorReport ();
380 void slotTimeoutRegressionFileCmdScript ();
381 void slotUndoTextChanged (
const QString &);
382 void slotViewGridLines ();
383 void slotViewGroupBackground(QAction*);
384 void slotViewGroupCurves(QAction*);
385 void slotViewGroupStatus(QAction*);
386 void slotViewGuidelines ();
387 void slotViewToolBarBackground ();
388 void slotViewToolBarCoordSystem ();
389 void slotViewToolBarDigitize ();
390 void slotViewWindowChecklistGuide ();
391 void slotViewWindowFitting ();
392 void slotViewWindowGeometry ();
393 void slotViewToolBarSettingsViews ();
394 void slotViewToolTips ();
396 void slotViewZoomFactorInt (
int);
397 void slotViewZoom (
int);
398 void slotViewZoomIn ();
399 void slotViewZoomInFromWheelEvent ();
400 void slotViewZoomOut ();
401 void slotViewZoomOutFromWheelEvent ();
419 IMPORT_TYPE_ADVANCED,
420 IMPORT_TYPE_IMAGE_REPLACE
423 void addDockWindow (QDockWidget *dockWidget,
425 const QString &settingsTokenArea,
426 const QString &settingsTokenGeometry,
427 Qt::DockWidgetArea dockWidgetArea);
428 void applyZoomFactorAfterLoad();
429 virtual void closeEvent(QCloseEvent *event);
431#if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
432 void exportAllCoordinateSystemsAfterRegressionTests();
434 QString exportRegressionFilenameFromInputFilename (
const QString &fileName)
const;
435 void fileExport(
const QString &fileName,
437 void fileExtractImage (
const QString &fileName);
438 void fileImport (
const QString &fileName,
439 ImportType ImportType);
440 void fileImportWithPrompts (ImportType ImportType);
441 QString fileNameForExportOnly ()
const;
442 QString fileNameForExtractImageOnly ()
const;
443 void filePaste (ImportType importType);
444 void ghostsCreate ();
445 void ghostsDestroy ();
446 void guidelineAddXTEnqueue (
double value);
447 void guidelineAddYREnqueue (
double value);
448 void guidelineMoveXTEnqueue (
double valueBefore,
450 void guidelineMoveYREnqueue (
double valueBefore,
452 void guidelineRemoveXTEnqueue (
double value);
453 void guidelineRemoveYREnqueue (
double value);
455 void handleGuidelineMode();
456 void handlerFileExtractImage ();
457 void loadCoordSystemListFromCmdMediator();
458 void loadCurveListFromCmdMediator();
459 void loadDocumentFile (
const QString &fileName);
460 void loadErrorReportFile(
const QString &errorReportFile);
461 void loadGuidelinesFromCmdMediator();
462 bool loadImage (
const QString &fileName,
464 ImportType ImportType);
465 bool loadImageNewDocument (
const QString &fileName,
467 ImportType ImportType);
468 bool loadImageReplacingImage (
const QString &fileName,
470 ImportType ImportType);
471 void loadInputFileForErrorReport(QDomDocument &domInputFile)
const;
472 void loadToolTips ();
473 void loadViewsLoad ();
474 void loadViewsSave ();
476 QString messageCannotReadFile (
const QString &fileName)
const;
477 bool modeGraph ()
const;
478 void rebuildRecentFileListForCurrentFile(
const QString &filePath);
479 bool saveDocumentFile(
const QString &fileName);
480 QString saveErrorReportFileAndExitXml (
const char *comment,
483 const char *context)
const;
484 void saveStartingDocumentSnapshot();
485 void setCurrentFile(
const QString &fileName);
486 void setCurrentPathFromFile (
const QString &fileName);
487 void setNonFillZoomFactor (
ZoomFactor newZoomFactor);
488 void setPixmap (
const QString &curveSelected,
489 const QPixmap &pixmap);
490 void settingsRead (
bool isReset);
491 void settingsReadEnvironment (QSettings &settings);
492 void settingsReadMainWindow (QSettings &settings);
493 void settingsWrite ();
494 bool setupAfterLoadNewDocument (
const QString &fileName,
495 const QString &temporaryMessage,
496 ImportType ImportType);
497 bool setupAfterLoadReplacingImage (
const QString &fileName,
498 const QString &temporaryMessage,
499 ImportType ImportType);
500 void startRegressionTestErrorReport (
const QString ®ressionInputFile);
501 void startRegressionDropTest (
const QStringList &loadStartupFiles);
502 void startRegressionTestFileCmdScript ();
503 void updateAfterCommandStatusBarCoords ();
504 void updateChecklistGuide ();
505 void updateControls ();
506 void updateFittingWindow ();
507 void updateGeometryWindow ();
508 void updateGridLines();
509 void updateGuidelines();
510 void updateHighlightOpacity();
511 void updateRecentFileList();
513 void updateSmallDialogs();
514 void updateTransformationAndItsDependencies();
515 void updateViewedCurves ();
517 void updateWindowTitle ();
518 void writeCheckpointToLogFile();
520 QString m_originalFile;
521 bool m_originalFileWasImported;
522 bool m_isDocumentExported;
523 QString m_engaugeFile;
524 QString m_currentFile;
525 QString m_currentFileWithPathAndFileExtension;
529 QAction *m_actionImport;
530 QAction *m_actionImportAdvanced;
531 QAction *m_actionImportImageReplace;
532 QAction *m_actionOpen;
533 QMenu *m_menuFileOpenRecent;
534 QList<QAction*> m_actionRecentFiles;
535 QAction *m_actionClose;
536 QAction *m_actionSave;
537 QAction *m_actionSaveAs;
538 QAction *m_actionExport;
539 QAction *m_actionPrint;
540 QAction *m_actionExit;
543 QAction *m_actionEditUndo;
544 QAction *m_actionEditRedo;
545 QAction *m_actionEditCut;
546 QAction *m_actionEditCopy;
547 QAction *m_actionEditPaste;
548 QAction *m_actionEditDelete;
549 QAction *m_actionEditPasteAsNew;
550 QAction *m_actionEditPasteAsNewAdvanced;
552 QMenu *m_menuDigitize;
553 QActionGroup *m_groupDigitize;
554 QAction *m_actionDigitizeSelect;
555 QAction *m_actionDigitizeAxis;
556 QAction *m_actionDigitizeScale;
557 QAction *m_actionDigitizeCurve;
558 QAction *m_actionDigitizeGuideline;
559 QAction *m_actionDigitizePointMatch;
560 QAction *m_actionDigitizeColorPicker;
561 QAction *m_actionDigitizeSegment;
564 QAction *m_actionViewBackgroundToolBar;
565 QAction *m_actionViewChecklistGuideWindow;
566 QAction *m_actionViewCoordSystemToolBar;
567 QAction *m_actionViewDigitizeToolBar;
568 QAction *m_actionViewFittingWindow;
569 QAction *m_actionViewGeometryWindow;
570 QAction *m_actionViewSettingsViewsToolBar;
571 QAction *m_actionViewToolTips;
572 QAction *m_actionViewGridLines;
573 QAction *m_actionViewGuidelines;
574 QMenu *m_menuViewBackground;
575 QActionGroup *m_groupBackground;
576 QAction *m_actionViewBackgroundNone;
577 QAction *m_actionViewBackgroundOriginal;
578 QAction *m_actionViewBackgroundFiltered;
579 QMenu *m_menuViewCurves;
580 QActionGroup *m_groupCurves;
581 QAction *m_actionViewCurvesNone;
582 QAction *m_actionViewCurvesSelected;
583 QAction *m_actionViewCurvesAll;
584 QMenu *m_menuViewGuidelines;
585 QMenu *m_menuViewStatus;
586 QActionGroup *m_groupStatus;
587 QAction *m_actionStatusNever;
588 QAction *m_actionStatusTemporary;
589 QAction *m_actionStatusAlways;
590 QMenu *m_menuViewZoom;
591 QAction *m_actionZoomOut;
592 QAction *m_actionZoomIn;
593 QActionGroup *m_groupZoom;
594 QSignalMapper *m_mapperZoomFactor;
595 QAction *m_actionZoomFill;
596 QAction *m_actionZoom16To1;
597 QAction *m_actionZoom16To1Farther;
598 QAction *m_actionZoom8To1Closer;
599 QAction *m_actionZoom8To1;
600 QAction *m_actionZoom8To1Farther;
601 QAction *m_actionZoom4To1Closer;
602 QAction *m_actionZoom4To1;
603 QAction *m_actionZoom4To1Farther;
604 QAction *m_actionZoom2To1Closer;
605 QAction *m_actionZoom2To1;
606 QAction *m_actionZoom2To1Farther;
607 QAction *m_actionZoom1To1Closer;
608 QAction *m_actionZoom1To1;
609 QAction *m_actionZoom1To1Farther;
610 QAction *m_actionZoom1To2Closer;
611 QAction *m_actionZoom1To2;
612 QAction *m_actionZoom1To2Farther;
613 QAction *m_actionZoom1To4Closer;
614 QAction *m_actionZoom1To4;
615 QAction *m_actionZoom1To4Farther;
616 QAction *m_actionZoom1To8Closer;
617 QAction *m_actionZoom1To8;
618 QAction *m_actionZoom1To8Farther;
619 QAction *m_actionZoom1To16Closer;
620 QAction *m_actionZoom1To16;
622 QMenu *m_menuSettings;
623 QAction *m_actionSettingsAxesChecker;
624 QAction *m_actionSettingsColorFilter;
625 QAction *m_actionSettingsCoords;
626 QAction *m_actionSettingsCurveList;
627 QAction *m_actionSettingsCurveProperties;
628 QAction *m_actionSettingsDigitizeCurve;
629 QAction *m_actionSettingsExport;
630 QAction *m_actionSettingsGeneral;
631 QAction *m_actionSettingsGridDisplay;
632 QAction *m_actionSettingsGridRemoval;
633 QAction *m_actionSettingsGuideline;
634 QAction *m_actionSettingsMainWindow;
635 QAction *m_actionSettingsPointMatch;
636 QAction *m_actionSettingsSegments;
639 QAction *m_actionHelpAbout;
640 QAction *m_actionHelpChecklistGuideWizard;
641 QAction *m_actionHelpHelp;
642 QAction *m_actionHelpTutorial;
643 QAction *m_actionHelpWhatsThis;
645 QGridLayout *m_layout;
652 QComboBox *m_cmbCurve;
653 QToolBar *m_toolDigitize;
656 QComboBox *m_cmbBackground;
657 QToolBar *m_toolBackground;
661 QToolBar *m_toolSettingsViews;
666 QComboBox *m_cmbCoordSystem;
667 QPushButton *m_btnPrintAll;
668 QPushButton *m_btnShowAll;
669 QToolBar *m_toolCoordSystem;
671#if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
704 QString m_startingDocumentSnapshot;
712 QTimer *m_timerLoadStartupFiles;
713 QStringList m_loadStartupFiles;
716 QStringList m_commandLineWithoutLoadStartupFiles;
724 QTimer *m_timerRegressionErrorReport;
726 bool m_isErrorReportRegressionTest;
727 QTimer *m_timerRegressionFileCmdScript;
728 QString m_regressionFile;
729 QString m_startupDirectory;
741 QMap<ZoomFactorInitial, ZoomFactor> m_zoomMapFromInitial;
742 QMap<ZoomFactor, QAction*> m_zoomMapToAction;
751 bool m_isExtractImageOnly;
752 QString m_extractImageOnlyExtension;
755 QTimer *m_timerChecklistGuideWizard;