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