Engauge Digitizer  2
CreateMenus.cpp
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2018 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #include "CreateMenus.h"
8 #include "Logger.h"
9 #include "MainWindow.h"
10 #include <QMenu>
11 #include <QMenuBar>
12 
14 {
15 }
16 
18 {
19  LOG4CPP_INFO_S ((*mainCat)) << "CreateMenus::create";
20 
21  mw.m_menuFile = mw.menuBar()->addMenu(tr("&File"));
22  mw.m_menuFile->addAction (mw.m_actionImport);
23  mw.m_menuFile->addAction (mw.m_actionImportAdvanced);
24  mw.m_menuFile->addAction (mw.m_actionImportImageReplace);
25  mw.m_menuFile->addAction (mw.m_actionOpen);
26 #if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
27  mw.m_menuFileOpenRecent = new QMenu (tr ("Open &Recent"));
28  for (int i = 0; i < signed (MAX_RECENT_FILE_LIST_SIZE); i++) {
29  mw.m_menuFileOpenRecent->addAction (mw.m_actionRecentFiles.at (i));
30  }
31  mw.m_menuFile->addMenu (mw.m_menuFileOpenRecent);
32 #endif
33  mw.m_menuFile->addAction (mw.m_actionClose);
34  mw.m_menuFile->insertSeparator (mw.m_actionSave);
35  mw.m_menuFile->addAction (mw.m_actionSave);
36  mw.m_menuFile->addAction (mw.m_actionSaveAs);
37  mw.m_menuFile->addAction (mw.m_actionExport);
38  mw.m_menuFile->insertSeparator (mw.m_actionPrint);
39  mw.m_menuFile->addAction (mw.m_actionPrint);
40  mw.m_menuFile->insertSeparator (mw.m_actionExit);
41  mw.m_menuFile->addAction (mw.m_actionExit);
42 
43  mw.m_menuEdit = mw.menuBar()->addMenu(tr("&Edit"));
44  connect (mw.m_menuEdit, SIGNAL (aboutToShow ()), &mw, SLOT (slotEditMenu ()));
45  mw.m_menuEdit->addAction (mw.m_actionEditUndo);
46  mw.m_menuEdit->addAction (mw.m_actionEditRedo);
47  mw.m_menuEdit->insertSeparator (mw.m_actionEditCut);
48  mw.m_menuEdit->addAction (mw.m_actionEditCut);
49  mw.m_menuEdit->addAction (mw.m_actionEditCopy);
50  mw.m_menuEdit->addAction (mw.m_actionEditPaste);
51  mw.m_menuEdit->addAction (mw.m_actionEditDelete);
52  mw.m_menuEdit->insertSeparator (mw.m_actionEditPasteAsNew);
53  mw.m_menuEdit->addAction (mw.m_actionEditPasteAsNew);
54  mw.m_menuEdit->addAction (mw.m_actionEditPasteAsNewAdvanced);
55 
56  mw.m_menuDigitize = mw.menuBar()->addMenu(tr("Digitize"));
57  mw.m_menuDigitize->addAction (mw.m_actionDigitizeSelect);
58  mw.m_menuDigitize->addAction (mw.m_actionDigitizeAxis);
59  mw.m_menuDigitize->addAction (mw.m_actionDigitizeScale);
60  mw.m_menuDigitize->addAction (mw.m_actionDigitizeCurve);
61  mw.m_menuDigitize->addAction (mw.m_actionDigitizePointMatch);
62  mw.m_menuDigitize->addAction (mw.m_actionDigitizeColorPicker);
63  mw.m_menuDigitize->addAction (mw.m_actionDigitizeSegment);
64 
65  mw.m_menuView = mw.menuBar()->addMenu(tr("View"));
66  mw.m_menuView->addAction (mw.m_actionViewBackground);
67  mw.m_menuView->addAction (mw.m_actionViewDigitize);
68  mw.m_menuView->addAction (mw.m_actionViewChecklistGuide);
69  mw.m_menuView->addAction (mw.m_actionViewFittingWindow);
70  mw.m_menuView->addAction (mw.m_actionViewGeometryWindow);
71  mw.m_menuView->addAction (mw.m_actionViewSettingsViews);
72  mw.m_menuView->addAction (mw.m_actionViewCoordSystem);
73  mw.m_menuView->insertSeparator (mw.m_actionViewToolTips);
74  mw.m_menuView->addAction (mw.m_actionViewToolTips);
75  mw.m_menuView->addAction (mw.m_actionViewGridLines);
76  mw.m_menuView->insertSeparator (mw.m_actionViewBackgroundNone);
77  mw.m_menuViewBackground = new QMenu (tr ("Background"));
78  mw.m_menuViewBackground->addAction (mw.m_actionViewBackgroundNone);
79  mw.m_menuViewBackground->addAction (mw.m_actionViewBackgroundOriginal);
80  mw.m_menuViewBackground->addAction (mw.m_actionViewBackgroundFiltered);
81  mw.m_menuView->addMenu (mw.m_menuViewBackground);
82  mw.m_menuViewCurves = new QMenu (tr ("Curves"));
83  mw.m_menuViewCurves->addAction (mw.m_actionViewCurvesNone);
84  mw.m_menuViewCurves->addAction (mw.m_actionViewCurvesSelected);
85  mw.m_menuViewCurves->addAction (mw.m_actionViewCurvesAll);
86  mw.m_menuView->addMenu (mw.m_menuViewCurves);
87  mw.m_menuViewStatus = new QMenu (tr ("Status Bar"));
88  mw.m_menuViewStatus->addAction (mw.m_actionStatusNever);
89  mw.m_menuViewStatus->addAction (mw.m_actionStatusTemporary);
90  mw.m_menuViewStatus->addAction (mw.m_actionStatusAlways);
91  mw.m_menuView->addMenu (mw.m_menuViewStatus);
92  mw.m_menuViewZoom = new QMenu (tr ("Zoom"));
93  mw.m_menuViewZoom->addAction (mw.m_actionZoomOut);
94  mw.m_menuViewZoom->addAction (mw.m_actionZoomIn);
95  mw.m_menuViewZoom->insertSeparator (mw.m_actionZoom16To1);
96  mw.m_menuViewZoom->addAction (mw.m_actionZoom16To1);
97  mw.m_menuViewZoom->addAction (mw.m_actionZoom16To1Farther);
98  mw.m_menuViewZoom->addAction (mw.m_actionZoom8To1Closer);
99  mw.m_menuViewZoom->addAction (mw.m_actionZoom8To1);
100  mw.m_menuViewZoom->addAction (mw.m_actionZoom8To1Farther);
101  mw.m_menuViewZoom->addAction (mw.m_actionZoom4To1Closer);
102  mw.m_menuViewZoom->addAction (mw.m_actionZoom4To1);
103  mw.m_menuViewZoom->addAction (mw.m_actionZoom4To1Farther);
104  mw.m_menuViewZoom->addAction (mw.m_actionZoom2To1Closer);
105  mw.m_menuViewZoom->addAction (mw.m_actionZoom2To1);
106  mw.m_menuViewZoom->addAction (mw.m_actionZoom2To1Farther);
107  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To1Closer);
108  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To1);
109  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To1Farther);
110  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To2Closer);
111  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To2);
112  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To2Farther);
113  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To4Closer);
114  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To4);
115  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To4Farther);
116  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To8Closer);
117  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To8);
118  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To8Farther);
119  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To16Closer);
120  mw.m_menuViewZoom->addAction (mw.m_actionZoom1To16);
121  mw.m_menuViewZoom->addAction (mw.m_actionZoomFill);
122  mw.m_menuView->addMenu (mw.m_menuViewZoom);
123 
124  mw.m_menuSettings = mw.menuBar()->addMenu(tr ("Settings"));
125  mw.m_menuSettings->addAction (mw.m_actionSettingsCoords);
126  mw.m_menuSettings->addAction (mw.m_actionSettingsCurveList);
127  mw.m_menuSettings->addAction (mw.m_actionSettingsCurveProperties);
128  mw.m_menuSettings->addAction (mw.m_actionSettingsDigitizeCurve);
129  mw.m_menuSettings->addAction (mw.m_actionSettingsExport);
130  mw.m_menuSettings->addAction (mw.m_actionSettingsColorFilter);
131  mw.m_menuSettings->addAction (mw.m_actionSettingsAxesChecker);
132  mw.m_menuSettings->addAction (mw.m_actionSettingsGridDisplay);
133  mw.m_menuSettings->addAction (mw.m_actionSettingsGridRemoval);
134  mw.m_menuSettings->addAction (mw.m_actionSettingsPointMatch);
135  mw.m_menuSettings->addAction (mw.m_actionSettingsSegments);
136  mw.m_menuSettings->insertSeparator (mw.m_actionSettingsGeneral);
137  mw.m_menuSettings->addAction (mw.m_actionSettingsGeneral);
138  mw.m_menuSettings->addAction (mw.m_actionSettingsMainWindow);
139 
140  mw.m_menuHelp = mw.menuBar()->addMenu(tr("&Help"));
141  mw.m_menuHelp->addAction (mw.m_actionHelpChecklistGuideWizard);
142  mw.m_menuHelp->insertSeparator(mw.m_actionHelpWhatsThis);
143  mw.m_menuHelp->addAction (mw.m_actionHelpWhatsThis);
144  mw.m_menuHelp->addAction (mw.m_actionHelpTutorial);
145 #if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
146  mw.m_menuHelp->addAction (mw.m_actionHelpHelp);
147 #endif
148  mw.m_menuHelp->addAction (mw.m_actionHelpAbout);
149 
150  mw.updateRecentFileList();
151 }
CreateMenus()
Single constructor.
Definition: CreateMenus.cpp:13
void create(MainWindow &mw)
Create QMenu menu items.
Definition: CreateMenus.cpp:17
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
log4cpp::Category * mainCat
Definition: Logger.cpp:14
const unsigned int MAX_RECENT_FILE_LIST_SIZE
Definition: MainWindow.cpp:130
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:91