8#include "DigitAxis.xpm"
9#include "DigitColorPicker.xpm"
10#include "DigitCurve.xpm"
11#include "DigitGuideline.xpm"
12#include "DigitPointMatch.xpm"
13#include "DigitScale.xpm"
14#include "DigitSegment.xpm"
15#include "DigitSelect.xpm"
19#include <QActionGroup>
22#include <QSignalMapper>
41void CreateActions::createDigitize (
MainWindow &mw)
45 QPixmap pixmapAxis (DigitAxis_xpm);
46 QPixmap pixmapCurve (DigitCurve_xpm);
47 QPixmap pixmapColorPicker (DigitColorPicker_xpm);
48 QPixmap pixmapGuideline (DigitGuideline_xpm);
49 QPixmap pixmapPointMatch (DigitPointMatch_xpm);
50 QPixmap pixmapScale (DigitScale_xpm);
51 QPixmap pixmapSegment (DigitSegment_xpm);
52 QPixmap pixmapSelect (DigitSelect_xpm);
54 QIcon iconAxis (pixmapAxis);
55 QIcon iconCurve (pixmapCurve);
56 QIcon iconColorPicker (pixmapColorPicker);
57 QIcon iconGuideline (pixmapGuideline);
58 QIcon iconPointMatch (pixmapPointMatch);
59 QIcon iconScale (pixmapScale);
60 QIcon iconSegment (pixmapSegment);
61 QIcon iconSelect (pixmapSelect);
63 mw.m_actionDigitizeSelect =
new QAction (iconSelect, tr (
"Select Tool"), &mw);
64 mw.m_actionDigitizeSelect->setShortcut (QKeySequence (tr (
"Shift+F2")));
65 mw.m_actionDigitizeSelect->setCheckable (
true);
66 mw.m_actionDigitizeSelect->setStatusTip (tr (
"Select points on screen."));
67 mw.m_actionDigitizeSelect->setWhatsThis (tr (
"Select\n\n"
68 "Select points on the screen."));
69 connect (mw.m_actionDigitizeSelect, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeSelect ()));
71 mw.m_actionDigitizeAxis =
new QAction (iconAxis, tr (
"Axis Point Tool"), &mw);
72 mw.m_actionDigitizeAxis->setShortcut (QKeySequence (tr (
"Shift+F3")));
73 mw.m_actionDigitizeAxis->setCheckable (
true);
74 mw.m_actionDigitizeAxis->setStatusTip (tr (
"Digitize axis points for a graph."));
75 mw.m_actionDigitizeAxis->setWhatsThis (tr (
"Digitize Axis Point\n\n"
76 "Digitizes an axis point for a graph by placing a new point at the cursor "
77 "after a mouse click. The coordinates of the axis point are then "
78 "entered. After Import and Import (Advanced), three axis points with "
79 "(X1,Y1) (X2,Y2) (X3,Y3) coordinates can be digitized to define the graph coordinates. "
80 "Optionally, after Import (Advanced) four axis points with "
81 "(X1) (X2) (Y3) (Y4) coordinates can be digitized to define the graph coordinates.\n\n"
82 "This tool is disabled when a complete set of axis points has been defined, or "
83 "after Import (Advanced) if Scale Bar is selected."));
84 connect (mw.m_actionDigitizeAxis, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeAxis ()));
86 mw.m_actionDigitizeScale =
new QAction (iconScale, tr (
"Scale Bar Tool"), &mw);
87 mw.m_actionDigitizeScale->setShortcut (QKeySequence (tr (
"Shift+F8")));
88 mw.m_actionDigitizeScale->setCheckable (
true);
89 mw.m_actionDigitizeScale->setStatusTip (tr (
"Digitize scale bar for a map. Requires Import (Advanced)."));
90 mw.m_actionDigitizeScale->setWhatsThis (tr (
"Digitize Scale Bar\n\n"
91 "Digitize a scale bar for a map by clicking and dragging. The length of the "
92 "scale bar is then entered. In a map, the two endpoints of the scale "
93 "bar define the distances in graph coordinates.\n\n"
94 "This tool is enabled by selecting Scale Bar in Import (Advanced).\n\n"
95 "This tool is disabled when a scale bar has been defined, or "
96 "if axis points were selected during import."));
97 connect (mw.m_actionDigitizeScale, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeScale ()));
99 mw.m_actionDigitizeCurve =
new QAction (iconCurve, tr (
"Curve Point Tool"), &mw);
100 mw.m_actionDigitizeCurve->setShortcut (QKeySequence (tr (
"Shift+F4")));
101 mw.m_actionDigitizeCurve->setCheckable (
true);
102 mw.m_actionDigitizeCurve->setStatusTip (tr (
"Digitize curve points."));
103 mw.m_actionDigitizeCurve->setWhatsThis (tr (
"Digitize Curve Point\n\n"
104 "Digitizes a curve point by placing a new point at the cursor "
105 "after a mouse click. Use this mode to digitize points along curves "
107 "New points will be assigned to the currently selected curve."));
108 connect (mw.m_actionDigitizeCurve, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeCurve ()));
110 mw.m_actionDigitizePointMatch =
new QAction (iconPointMatch, tr (
"Point Match Tool"), &mw);
111 mw.m_actionDigitizePointMatch->setShortcut (QKeySequence (tr (
"Shift+F5")));
112 mw.m_actionDigitizePointMatch->setCheckable (
true);
113 mw.m_actionDigitizePointMatch->setStatusTip (tr (
"Digitize curve points in a point plot by matching a point."));
114 mw.m_actionDigitizePointMatch->setWhatsThis (tr (
"Digitize Curve Points by Point Matching\n\n"
115 "Digitizes curve points in a point plot by finding points that match a sample point. The process "
116 "starts by selecting a representative sample point.\n\n"
117 "New points will be assigned to the currently selected curve."));
118 connect (mw.m_actionDigitizePointMatch, SIGNAL (triggered ()), &mw, SLOT (slotDigitizePointMatch ()));
120 mw.m_actionDigitizeColorPicker =
new QAction (iconColorPicker, tr (
"Color Picker Tool"), &mw);
121 mw.m_actionDigitizeColorPicker->setShortcut (QKeySequence (tr (
"Shift+F6")));
122 mw.m_actionDigitizeColorPicker->setCheckable (
true);
123 mw.m_actionDigitizeColorPicker->setStatusTip (tr (
"Select color settings for filtering in Segment Fill mode."));
124 mw.m_actionDigitizeColorPicker->setWhatsThis (tr (
"Select color settings for Segment Fill filtering\n\n"
125 "Select a pixel along the currently selected curve. That pixel and its neighbors will "
126 "define the filter settings (color, brightness, and so on) of the currently selected curve "
127 "while in Segment Fill mode."));
128 connect (mw.m_actionDigitizeColorPicker, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeColorPicker ()));
130 mw.m_actionDigitizeSegment =
new QAction (iconSegment, tr (
"Segment Fill Tool"), &mw);
131 mw.m_actionDigitizeSegment->setShortcut (QKeySequence (tr (
"Shift+F7")));
132 mw.m_actionDigitizeSegment->setCheckable (
true);
133 mw.m_actionDigitizeSegment->setStatusTip (tr (
"Digitize curve points along a segment of a curve."));
134 mw.m_actionDigitizeSegment->setWhatsThis (tr (
"Digitize Curve Points With Segment Fill\n\n"
135 "Digitizes curve points by placing new points along the highlighted "
136 "segment under the cursor. Use this mode to quickly digitize multiple points along a "
137 "curve with a single click.\n\n"
138 "New points will be assigned to the currently selected curve."));
139 connect (mw.m_actionDigitizeSegment, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeSegment ()));
141 mw.m_actionDigitizeGuideline =
new QAction (iconGuideline, tr (
"Guidelines Tool"), &mw);
142 mw.m_actionDigitizeGuideline->setShortcut (QKeySequence (tr (
"Shift+F8")));
143 mw.m_actionDigitizeGuideline->setCheckable (
true);
144 mw.m_actionDigitizeGuideline->setStatusTip (tr (
"Digitize guidelines along constant coordinate values for aligning new points"));
145 mw.m_actionDigitizeGuideline->setWhatsThis (tr (
"Digitize guidelines along constant coordinate values\n\n"
146 "Guidelines can be placed along constant X or Y coordinates in cartesian coordinates, "
147 "and T (theta) or R (range) coordinates in polar coordinates. Guidelines can help "
148 "with aligning new points"));
149 connect (mw.m_actionDigitizeGuideline, SIGNAL (triggered ()), &mw, SLOT (slotDigitizeGuidelines ()));
151 mw.m_groupDigitize =
new QActionGroup (&mw);
152 mw.m_groupDigitize->addAction (mw.m_actionDigitizeSelect);
153 mw.m_groupDigitize->addAction (mw.m_actionDigitizeAxis);
154 mw.m_groupDigitize->addAction (mw.m_actionDigitizeScale);
155 mw.m_groupDigitize->addAction (mw.m_actionDigitizeCurve);
156 mw.m_groupDigitize->addAction (mw.m_actionDigitizePointMatch);
157 mw.m_groupDigitize->addAction (mw.m_actionDigitizeColorPicker);
158 mw.m_groupDigitize->addAction (mw.m_actionDigitizeSegment);
159 mw.m_groupDigitize->addAction (mw.m_actionDigitizeGuideline);
162void CreateActions::createEdit (
MainWindow &mw)
166 mw.m_actionEditUndo =
new QAction(tr (
"&Undo"), &mw);
167 mw.m_actionEditUndo->setShortcut (QKeySequence::Undo);
168 mw.m_actionEditUndo->setStatusTip (tr (
"Undo the last operation."));
169 mw.m_actionEditUndo->setWhatsThis (tr (
"Undo\n\n"
170 "Undo the last operation."));
173 mw.m_actionEditRedo =
new QAction(tr (
"&Redo"), &mw);
174 mw.m_actionEditRedo->setShortcut (QKeySequence::Redo);
175 mw.m_actionEditRedo->setStatusTip (tr (
"Redo the last operation."));
176 mw.m_actionEditRedo->setWhatsThis (tr (
"Redo\n\n"
177 "Redo the last operation."));
180 mw.m_actionEditCut =
new QAction (tr (
"Cut"), &mw);
181 mw.m_actionEditCut->setShortcut (QKeySequence::Cut);
182 mw.m_actionEditCut->setStatusTip (tr (
"Cuts the selected points and copies them to the clipboard."));
183 mw.m_actionEditCut->setWhatsThis (tr (
"Cut\n\n"
184 "Cuts the selected points and copies them to the clipboard."));
185 connect (mw.m_actionEditCut, SIGNAL (triggered ()), &mw, SLOT (slotEditCut ()));
187 mw.m_actionEditCopy =
new QAction (tr (
"Copy"), &mw);
188 mw.m_actionEditCopy->setShortcut (QKeySequence::Copy);
189 mw.m_actionEditCopy->setStatusTip (tr (
"Copies the selected points to the clipboard."));
190 mw.m_actionEditCopy->setWhatsThis (tr (
"Copy\n\n"
191 "Copies the selected points to the clipboard."));
192 connect (mw.m_actionEditCopy, SIGNAL (triggered ()), &mw, SLOT (slotEditCopy ()));
194 mw.m_actionEditPaste =
new QAction (tr (
"Paste"), &mw);
195 mw.m_actionEditPaste->setShortcut (QKeySequence::Paste);
196 mw.m_actionEditPaste->setStatusTip (tr (
"Pastes the selected points from the clipboard."));
197 mw.m_actionEditPaste->setWhatsThis (tr (
"Paste\n\n"
198 "Pastes the selected points from the clipboard. They will be assigned to the current curve."));
199 connect (mw.m_actionEditPaste, SIGNAL (triggered ()), &mw, SLOT (slotEditPaste ()));
201 mw.m_actionEditDelete =
new QAction (tr (
"Delete"), &mw);
202 mw.m_actionEditDelete->setShortcut (QKeySequence::Delete);
203 mw.m_actionEditDelete->setStatusTip (tr (
"Deletes the selected points, after copying them to the clipboard."));
204 mw.m_actionEditDelete->setWhatsThis (tr (
"Delete\n\n"
205 "Deletes the selected points, after copying them to the clipboard."));
206 connect (mw.m_actionEditDelete, SIGNAL (triggered ()), &mw, SLOT (slotEditDelete ()));
208 mw.m_actionEditPasteAsNew =
new QAction (tr (
"Paste As New"), &mw);
209 mw.m_actionEditPasteAsNew->setStatusTip (tr (
"Pastes an image from the clipboard."));
210 mw.m_actionEditPasteAsNew->setWhatsThis (tr (
"Paste as New\n\n"
211 "Creates a new document by pasting an image from the clipboard."));
212 connect (mw.m_actionEditPasteAsNew, SIGNAL (triggered ()), &mw, SLOT (slotEditPasteAsNew ()));
214 mw.m_actionEditPasteAsNewAdvanced =
new QAction (tr (
"Paste As New (Advanced)..."), &mw);
215 mw.m_actionEditPasteAsNewAdvanced->setStatusTip (tr (
"Pastes an image from the clipboard, in advanced mode."));
216 mw.m_actionEditPasteAsNewAdvanced->setWhatsThis (tr (
"Paste as New (Advanced)\n\n"
217 "Creates a new document by pasting an image from the clipboard, in advanced mode."));
218 connect (mw.m_actionEditPasteAsNewAdvanced, SIGNAL (triggered ()), &mw, SLOT (slotEditPasteAsNewAdvanced ()));
221void CreateActions::createFile (
MainWindow &mw)
225 mw.m_actionImport =
new QAction(tr (
"&Import..."), &mw);
226 mw.m_actionImport->setShortcut (tr (
"Ctrl+I"));
227 mw.m_actionImport->setStatusTip (tr (
"Creates a new document by importing a simple image."));
228 mw.m_actionImport->setWhatsThis (tr (
"Import Image\n\n"
229 "Creates a new document by importing an image with a single coordinate system, "
230 "and axes both coordinates known.\n\n"
231 "For more complicated images with multiple coordinate systems, "
232 "and/or floating axes, Import (Advanced) is used instead."));
233 connect (mw.m_actionImport, SIGNAL (triggered ()), &mw, SLOT (slotFileImport ()));
235 mw.m_actionImportAdvanced =
new QAction(tr (
"Import (Advanced)..."), &mw);
236 mw.m_actionImportAdvanced->setStatusTip (tr (
"Creates a new document by importing an image with support for advanced feaures."));
237 mw.m_actionImportAdvanced->setWhatsThis (tr (
"Import (Advanced)\n\n"
238 "Creates a new document by importing an image with support for advanced feaures. In "
239 "advanced mode, there can be multiple coordinate systems and/or floating axes."));
240 connect (mw.m_actionImportAdvanced, SIGNAL (triggered ()), &mw, SLOT (slotFileImportAdvanced ()));
242 mw.m_actionImportImageReplace =
new QAction (tr (
"Import (Image Replace)..."), &mw);
243 mw.m_actionImportImageReplace->setStatusTip (tr (
"Imports a new image into the current document, replacing the existing image."));
244 mw.m_actionImportImageReplace->setWhatsThis (tr (
"Import (Image Replace)\n\n"
245 "Imports a new image into the current document. The existing image is replaced, "
246 "and all curves in the document are preserved. This operation is useful for applying "
247 "the axis points and other settings from an existing document to a different image."));
248 connect (mw.m_actionImportImageReplace, SIGNAL (triggered ()), &mw, SLOT (slotFileImportImageReplace ()));
250 mw.m_actionOpen =
new QAction(tr (
"&Open..."), &mw);
251 mw.m_actionOpen->setShortcut (QKeySequence::Open);
252 mw.m_actionOpen->setStatusTip (tr (
"Opens an existing document."));
253 mw.m_actionOpen->setWhatsThis (tr (
"Open Document\n\n"
254 "Opens an existing document."));
255 connect (mw.m_actionOpen, SIGNAL (triggered ()), &mw, SLOT (slotFileOpen ()));
257#if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
259 QAction *recentFileAction =
new QAction (&mw);
260 recentFileAction->setVisible (
true);
261 connect (recentFileAction, SIGNAL (triggered ()), &mw, SLOT (slotRecentFileAction ()));
262 mw.m_actionRecentFiles.append (recentFileAction);
266 mw.m_actionClose =
new QAction(tr (
"&Close"), &mw);
267 mw.m_actionClose->setShortcut (QKeySequence::Close);
268 mw.m_actionClose->setStatusTip (tr (
"Closes the open document."));
269 mw.m_actionClose->setWhatsThis (tr (
"Close Document\n\n"
270 "Closes the open document."));
271 connect (mw.m_actionClose, SIGNAL (triggered ()), &mw, SLOT (slotFileClose ()));
273 mw.m_actionSave =
new QAction(tr (
"&Save"), &mw);
274 mw.m_actionSave->setShortcut (QKeySequence::Save);
275 mw.m_actionSave->setStatusTip (tr (
"Saves the current document."));
276 mw.m_actionSave->setWhatsThis (tr (
"Save Document\n\n"
277 "Saves the current document."));
278 connect (mw.m_actionSave, SIGNAL (triggered ()), &mw, SLOT (slotFileSave ()));
280 mw.m_actionSaveAs =
new QAction(tr (
"Save As..."), &mw);
281 mw.m_actionSaveAs->setShortcut (QKeySequence::SaveAs);
282 mw.m_actionSaveAs->setStatusTip (tr (
"Saves the current document under a new filename."));
283 mw.m_actionSaveAs->setWhatsThis (tr (
"Save Document As\n\n"
284 "Saves the current document under a new filename."));
285 connect (mw.m_actionSaveAs, SIGNAL (triggered ()), &mw, SLOT (slotFileSaveAs ()));
287 mw.m_actionExport =
new QAction (tr (
"Export..."), &mw);
288 mw.m_actionExport->setShortcut (tr (
"Ctrl+E"));
289 mw.m_actionExport->setStatusTip (tr (
"Exports the current document into a text file."));
290 mw.m_actionExport->setWhatsThis (tr (
"Export Document\n\n"
291 "Exports the current document into a text file."));
292 connect (mw.m_actionExport, SIGNAL (triggered ()), &mw, SLOT (slotFileExport ()));
294 mw.m_actionPrint =
new QAction (tr (
"&Print..."), &mw);
295 mw.m_actionPrint->setShortcut (QKeySequence::Print);
296 mw.m_actionPrint->setStatusTip (tr (
"Print the current document."));
297 mw.m_actionPrint->setWhatsThis (tr (
"Print Document\n\n"
298 "Print the current document to a printer or file."));
299 connect (mw.m_actionPrint, SIGNAL (triggered ()), &mw, SLOT (slotFilePrint ()));
301 mw.m_actionExit =
new QAction(tr (
"&Exit"), &mw);
302 mw.m_actionExit->setShortcut (QKeySequence::Quit);
303 mw.m_actionExit->setStatusTip (tr (
"Quits the application."));
304 mw.m_actionExit->setWhatsThis (tr (
"Exit\n\n"
305 "Quits the application."));
306 connect (mw.m_actionExit, SIGNAL (triggered ()), &mw, SLOT (close ()));
309void CreateActions::createHelp (
MainWindow &mw)
313 mw.m_actionHelpChecklistGuideWizard =
new QAction (tr (
"Checklist Guide Wizard"), &mw);
314 mw.m_actionHelpChecklistGuideWizard->setCheckable (
true);
315 mw.m_actionHelpChecklistGuideWizard->setStatusTip (tr (
"Open Checklist Guide Wizard during import to define digitizing steps"));
316 mw.m_actionHelpChecklistGuideWizard->setWhatsThis (tr (
"Checklist Guide Wizard\n\n"
317 "Use Checklist Guide Wizard during import to generate a checklist of steps "
318 "for the imported document"));
320 mw.m_actionHelpWhatsThis = QWhatsThis::createAction(&mw);
321 mw.m_actionHelpWhatsThis->setShortcut (QKeySequence::WhatsThis);
323 mw.m_actionHelpTutorial =
new QAction (tr (
"Tutorial"), &mw);
324 mw.m_actionHelpTutorial->setStatusTip (tr (
"Play tutorial showing steps for digitizing curves"));
325 mw.m_actionHelpTutorial->setWhatsThis (tr (
"Tutorial\n\n"
326 "Play tutorial showing steps for digitizing points from curves drawn with lines "
328 connect (mw.m_actionHelpTutorial, SIGNAL (triggered ()), &mw, SLOT (slotHelpTutorial()));
330#if !defined(OSX_DEBUG) && !defined(OSX_RELEASE)
331 mw.m_actionHelpHelp =
new QAction (tr (
"Help"), &mw);
332 mw.m_actionHelpHelp->setShortcut (QKeySequence::HelpContents);
333 mw.m_actionHelpHelp->setStatusTip (tr (
"Help documentation"));
334 mw.m_actionHelpHelp->setWhatsThis (tr (
"Help Documentation\n\n"
335 "Searchable help documentation"));
339 mw.m_actionHelpAbout =
new QAction(tr (
"About Engauge"), &mw);
340 mw.m_actionHelpAbout->setStatusTip (tr (
"About the application."));
341 mw.m_actionHelpAbout->setWhatsThis (tr (
"About Engauge\n\nAbout the application."));
342 connect (mw.m_actionHelpAbout, SIGNAL (triggered ()), &mw, SLOT (slotHelpAbout ()));
345void CreateActions::createSettings (
MainWindow &mw)
349 mw.m_actionSettingsCoords =
new QAction (tr (
"Coordinates..."), &mw);
350 mw.m_actionSettingsCoords->setStatusTip (tr (
"Edit Coordinate settings."));
351 mw.m_actionSettingsCoords->setWhatsThis (tr (
"Coordinate Settings\n\n"
352 "Coordinate settings determine how the graph coordinates are mapped to the pixels in the image"));
353 connect (mw.m_actionSettingsCoords, SIGNAL (triggered ()), &mw, SLOT (slotSettingsCoords ()));
355 mw.m_actionSettingsCurveList =
new QAction (tr (
"Curve List..."), &mw);
356 mw.m_actionSettingsCurveList->setStatusTip (tr (
"Edit Curve List settings."));
357 mw.m_actionSettingsCurveList->setWhatsThis (tr (
"Curve List\n\n"
358 "Curve list settings add, rename and/or remove curves in the current document"));
359 connect (mw.m_actionSettingsCurveList, SIGNAL (triggered ()), &mw, SLOT (slotSettingsCurveList ()));
361 mw.m_actionSettingsCurveProperties =
new QAction (tr (
"Curve Properties..."), &mw);
362 mw.m_actionSettingsCurveProperties->setStatusTip (tr (
"Edit Curve Properties settings."));
363 mw.m_actionSettingsCurveProperties->setWhatsThis (tr (
"Curve Properties Settings\n\n"
364 "Curves properties settings determine how each curve appears"));
365 connect (mw.m_actionSettingsCurveProperties, SIGNAL (triggered ()), &mw, SLOT (slotSettingsCurveProperties ()));
367 mw.m_actionSettingsDigitizeCurve =
new QAction (tr (
"Digitize Curve..."), &mw);
368 mw.m_actionSettingsDigitizeCurve->setStatusTip (tr (
"Edit Digitize Axis and Graph Curve settings."));
369 mw.m_actionSettingsDigitizeCurve->setWhatsThis (tr (
"Digitize Axis and Graph Curve Settings\n\n"
370 "Digitize Curve settings determine how points are digitized in Digitize Axis Point and "
371 "Digitize Graph Point modes"));
372 connect (mw.m_actionSettingsDigitizeCurve, SIGNAL (triggered ()), &mw, SLOT (slotSettingsDigitizeCurve ()));
374 mw.m_actionSettingsExport =
new QAction (tr (
"Export Format..."), &mw);
375 mw.m_actionSettingsExport->setStatusTip (tr (
"Edit Export Format settings."));
376 mw.m_actionSettingsExport->setWhatsThis (tr (
"Export Format Settings\n\n"
377 "Export format settings affect how exported files are formatted"));
378 connect (mw.m_actionSettingsExport, SIGNAL (triggered ()), &mw, SLOT (slotSettingsExportFormat ()));
380 mw.m_actionSettingsColorFilter =
new QAction (tr (
"Color Filter..."), &mw);
381 mw.m_actionSettingsColorFilter->setStatusTip (tr (
"Edit Color Filter settings."));
382 mw.m_actionSettingsColorFilter->setWhatsThis (tr (
"Color Filter Settings\n\n"
383 "Color filtering simplifies the graphs for easier Point Matching and Segment Filling"));
384 connect (mw.m_actionSettingsColorFilter, SIGNAL (triggered ()), &mw, SLOT (slotSettingsColorFilter ()));
386 mw.m_actionSettingsAxesChecker =
new QAction (tr (
"Axes Checker..."), &mw);
387 mw.m_actionSettingsAxesChecker->setStatusTip (tr (
"Edit Axes Checker settings."));
388 mw.m_actionSettingsAxesChecker->setWhatsThis (tr (
"Axes Checker Settings\n\n"
389 "Axes checker can reveal any axis point mistakes, which are otherwise hard to find."));
390 connect (mw.m_actionSettingsAxesChecker, SIGNAL (triggered ()), &mw, SLOT (slotSettingsAxesChecker ()));
392 mw.m_actionSettingsGridDisplay =
new QAction (tr (
"Grid Line Display..."), &mw);
393 mw.m_actionSettingsGridDisplay->setStatusTip (tr (
"Edit Grid Line Display settings."));
394 mw.m_actionSettingsGridDisplay->setWhatsThis (tr (
"Grid Line Display Settings\n\n"
395 "Grid lines displayed on the graph can provide more accuracy than the Axis Checker, for distorted graphs. "
396 "In a distorted graph, the grid lines can be used to adjust the axis points for more accuracy in different regions."));
397 connect (mw.m_actionSettingsGridDisplay, SIGNAL (triggered ()), &mw, SLOT (slotSettingsGridDisplay ()));
399 mw.m_actionSettingsGridRemoval =
new QAction (tr (
"Grid Line Removal..."), &mw);
400 mw.m_actionSettingsGridRemoval->setStatusTip (tr (
"Edit Grid Line Removal settings."));
401 mw.m_actionSettingsGridRemoval->setWhatsThis (tr (
"Grid Line Removal Settings\n\n"
402 "Grid line removal isolates curve lines for easier Point Matching and Segment Filling, when "
403 "Color Filtering is not able to separate grid lines from curve lines."));
404 connect (mw.m_actionSettingsGridRemoval, SIGNAL (triggered ()), &mw, SLOT (slotSettingsGridRemoval ()));
406 mw.m_actionSettingsGuideline =
new QAction (tr (
"Guideline..."), &mw);
407 mw.m_actionSettingsGuideline->setStatusTip (tr (
"Guideline Settings."));
408 mw.m_actionSettingsGuideline->setWhatsThis (tr (
"Guideline Settings\n\n"
409 "Guidelines displayed on the graph can help to align points along constant coordinate lines."));
410 connect (mw.m_actionSettingsGuideline, SIGNAL (triggered ()), &mw, SLOT (slotSettingsGuideline ()));
412 mw.m_actionSettingsPointMatch =
new QAction (tr (
"Point Match..."), &mw);
413 mw.m_actionSettingsPointMatch->setStatusTip (tr (
"Edit Point Match settings."));
414 mw.m_actionSettingsPointMatch->setWhatsThis (tr (
"Point Match Settings\n\n"
415 "Point match settings determine how points are matched while in Point Match mode"));
416 connect (mw.m_actionSettingsPointMatch, SIGNAL (triggered ()), &mw, SLOT (slotSettingsPointMatch ()));
418 mw.m_actionSettingsSegments =
new QAction (tr (
"Segment Fill..."), &mw);
419 mw.m_actionSettingsSegments->setStatusTip (tr (
"Edit Segment Fill settings."));
420 mw.m_actionSettingsSegments->setWhatsThis (tr (
"Segment Fill Settings\n\n"
421 "Segment fill settings determine how points are generated in the Segment Fill mode"));
422 connect (mw.m_actionSettingsSegments, SIGNAL (triggered ()), &mw, SLOT (slotSettingsSegments ()));
424 mw.m_actionSettingsGeneral =
new QAction (tr (
"General..."), &mw);
425 mw.m_actionSettingsGeneral->setStatusTip (tr (
"Edit General settings."));
426 mw.m_actionSettingsGeneral->setWhatsThis (tr (
"General Settings\n\n"
427 "General settings are document-specific settings that affect multiple modes. For example, the cursor size setting affects "
428 "both Color Picker and Point Match modes"));
429 connect (mw.m_actionSettingsGeneral, SIGNAL (triggered ()), &mw, SLOT (slotSettingsGeneral ()));
431 mw.m_actionSettingsMainWindow =
new QAction (tr (
"Main Window..."), &mw);
432 mw.m_actionSettingsMainWindow->setEnabled (
true);
433 mw.m_actionSettingsMainWindow->setStatusTip (tr (
"Edit Main Window settings."));
434 mw.m_actionSettingsMainWindow->setWhatsThis (tr (
"Main Window Settings\n\n"
435 "Main window settings affect the user interface and are not specific to any document"));
436 connect (mw.m_actionSettingsMainWindow, SIGNAL (triggered ()), &mw, SLOT (slotSettingsMainWindow ()));
439void CreateActions::createView (
MainWindow &mw)
443 mw.m_actionViewBackgroundToolBar =
new QAction (tr (
"Background Toolbar"), &mw);
444 mw.m_actionViewBackgroundToolBar->setCheckable (
true);
445 mw.m_actionViewBackgroundToolBar->setChecked (
true);
446 mw.m_actionViewBackgroundToolBar->setStatusTip (tr (
"Show or hide the background toolbar."));
447 mw.m_actionViewBackgroundToolBar->setWhatsThis (tr (
"View Background ToolBar\n\n"
448 "Show or hide the background toolbar"));
449 connect (mw.m_actionViewBackgroundToolBar, SIGNAL (triggered ()), &mw, SLOT (slotViewToolBarBackground ()));
451 mw.m_actionViewDigitizeToolBar =
new QAction (tr (
"Digitizing Tools Toolbar"), &mw);
452 mw.m_actionViewDigitizeToolBar->setCheckable (
true);
453 mw.m_actionViewDigitizeToolBar->setChecked (
true);
454 mw.m_actionViewDigitizeToolBar->setStatusTip (tr (
"Show or hide the digitizing tools toolbar."));
455 mw.m_actionViewDigitizeToolBar->setWhatsThis (tr (
"View Digitizing Tools ToolBar\n\n"
456 "Show or hide the digitizing tools toolbar"));
457 connect (mw.m_actionViewDigitizeToolBar, SIGNAL (triggered ()), &mw, SLOT (slotViewToolBarDigitize()));
459 mw.m_actionViewSettingsViewsToolBar =
new QAction (tr (
"Settings Views Toolbar"), &mw);
460 mw.m_actionViewSettingsViewsToolBar->setCheckable (
true);
461 mw.m_actionViewSettingsViewsToolBar->setChecked (
true);
462 mw.m_actionViewSettingsViewsToolBar->setStatusTip (tr (
"Show or hide the settings views toolbar."));
463 mw.m_actionViewSettingsViewsToolBar->setWhatsThis (tr (
"View Settings Views ToolBar\n\n"
464 "Show or hide the settings views toolbar. These views graphically show the "
465 "most important settings."));
466 connect (mw.m_actionViewSettingsViewsToolBar, SIGNAL (triggered ()), &mw, SLOT (slotViewToolBarSettingsViews()));
468 mw.m_actionViewCoordSystemToolBar =
new QAction (tr (
"Coordinate System Toolbar"), &mw);
469 mw.m_actionViewCoordSystemToolBar->setCheckable (
true);
470 mw.m_actionViewCoordSystemToolBar->setChecked (
false);
471 mw.m_actionViewCoordSystemToolBar->setStatusTip (tr (
"Show or hide the coordinate system toolbar."));
472 mw.m_actionViewCoordSystemToolBar->setWhatsThis (tr (
"View Coordinate Systems ToolBar\n\n"
473 "Show or hide the coordinate system selection toolbar. This toolbar is used "
474 "to select the current coordinate system when the document has multiple "
475 "coordinate systems. This toolbar is also used to view and print all coordinate "
477 "This toolbar is disabled when there is only one coordinate system."));
478 connect (mw.m_actionViewCoordSystemToolBar, SIGNAL (triggered ()), &mw, SLOT (slotViewToolBarCoordSystem()));
480 mw.m_actionViewChecklistGuideWindow =
new QAction (tr (
"Checklist Guide Window"), &mw);
481 mw.m_actionViewChecklistGuideWindow->setCheckable (
true);
482 mw.m_actionViewChecklistGuideWindow->setChecked (
false);
483 mw.m_actionViewChecklistGuideWindow->setStatusTip (tr (
"Show or hide the checklist guide."));
484 mw.m_actionViewChecklistGuideWindow->setWhatsThis (tr (
"View Checklist Guide\n\n"
485 "Show or hide the checklist guide"));
486 connect (mw.m_actionViewChecklistGuideWindow, SIGNAL (changed ()), &mw, SLOT (slotViewWindowChecklistGuide()));
488 mw.m_actionViewFittingWindow =
new QAction (tr (
"Curve Fitting Window"), &mw);
489 mw.m_actionViewFittingWindow->setCheckable (
true);
490 mw.m_actionViewFittingWindow->setChecked (
false);
491 mw.m_actionViewFittingWindow->setStatusTip (tr (
"Show or hide the curve fitting window."));
492 mw.m_actionViewFittingWindow->setWhatsThis (tr (
"View Curve Fitting Window\n\n"
493 "Show or hide the curve fitting window"));
494 connect (mw.m_actionViewFittingWindow, SIGNAL (changed ()), &mw, SLOT (slotViewWindowFitting()));
496 mw.m_actionViewGeometryWindow =
new QAction (tr (
"Geometry Window"), &mw);
497 mw.m_actionViewGeometryWindow->setCheckable (
true);
498 mw.m_actionViewGeometryWindow->setChecked (
false);
499 mw.m_actionViewGeometryWindow->setStatusTip (tr (
"Show or hide the geometry window."));
500 mw.m_actionViewGeometryWindow->setWhatsThis (tr (
"View Geometry Window\n\n"
501 "Show or hide the geometry window"));
502 connect (mw.m_actionViewGeometryWindow, SIGNAL (changed ()), &mw, SLOT (slotViewWindowGeometry()));
504 mw.m_actionViewToolTips =
new QAction (tr (
"Tool Tips"), &mw);
505 mw.m_actionViewToolTips->setCheckable (
true);
506 mw.m_actionViewToolTips->setChecked (
true);
507 mw.m_actionViewToolTips->setStatusTip (tr (
"Show or hide the tool tips."));
508 mw.m_actionViewToolTips->setWhatsThis (tr (
"View Tool Tips\n\n"
509 "Show or hide the tool tips"));
510 connect (mw.m_actionViewToolTips, SIGNAL (triggered ()), &mw, SLOT (slotViewToolTips()));
512 mw.m_actionViewGridLines =
new QAction (tr (
"Grid Lines"), &mw);
513 mw.m_actionViewGridLines->setCheckable (
true);
514 mw.m_actionViewGridLines->setChecked (
false);
515 mw.m_actionViewGridLines->setStatusTip (tr (
"Show or hide grid lines."));
516 mw.m_actionViewGridLines->setWhatsThis (tr (
"View Grid Lines\n\n"
517 "Show or hide grid lines that are added for accurate adjustments of the axes points, "
518 "which can improve accuracy in distorted graphs"));
519 connect (mw.m_actionViewGridLines, SIGNAL (triggered ()), &mw, SLOT (slotViewGridLines()));
521 mw.m_actionViewGuidelines =
new QAction (tr (
"Guidelines"), &mw);
522 mw.m_actionViewGuidelines->setCheckable (
true);
523 mw.m_actionViewGuidelines->setChecked (
true);
524 mw.m_actionViewGuidelines->setStatusTip (tr (
"Show or hide guidelines."));
525 mw.m_actionViewGuidelines->setWhatsThis (tr (
"View Guidelines\n\n"
526 "Show or hide guidelines that are added for accurate adjustments of the graph points, "
527 "which can improve accuracy of points close to the guidelines"));
528 connect (mw.m_actionViewGuidelines, SIGNAL (triggered ()), &mw, SLOT (slotViewGuidelines()));
530 mw.m_actionViewBackgroundNone =
new QAction (tr (
"No Background"), &mw);
531 mw.m_actionViewBackgroundNone->setCheckable (
true);
532 mw.m_actionViewBackgroundNone->setStatusTip (tr (
"Do not show the image underneath the points."));
533 mw.m_actionViewBackgroundNone->setWhatsThis (tr (
"No Background\n\n"
534 "No image is shown so points are easier to see"));
536 mw.m_actionViewBackgroundOriginal =
new QAction (tr (
"Show Original Image"), &mw);
537 mw.m_actionViewBackgroundOriginal->setCheckable (
true);
538 mw.m_actionViewBackgroundOriginal->setStatusTip (tr (
"Show the original image underneath the points."));
539 mw.m_actionViewBackgroundOriginal->setWhatsThis (tr (
"Show Original Image\n\n"
540 "Show the original image underneath the points"));
542 mw.m_actionViewBackgroundFiltered =
new QAction (tr (
"Show Filtered Image"), &mw);
543 mw.m_actionViewBackgroundFiltered->setCheckable (
true);
544 mw.m_actionViewBackgroundFiltered->setChecked (
true);
545 mw.m_actionViewBackgroundFiltered->setStatusTip (tr (
"Show the filtered image underneath the points."));
546 mw.m_actionViewBackgroundFiltered->setWhatsThis (tr (
"Show Filtered Image\n\n"
547 "Show the filtered image underneath the points.\n\n"
548 "The filtered image is created from the original image according to the "
549 "Filter preferences so unimportant information is hidden and important "
550 "information is emphasized"));
552 mw.m_groupBackground =
new QActionGroup(&mw);
553 mw.m_groupBackground->addAction (mw.m_actionViewBackgroundNone);
554 mw.m_groupBackground->addAction (mw.m_actionViewBackgroundOriginal);
555 mw.m_groupBackground->addAction (mw.m_actionViewBackgroundFiltered);
556 connect (mw.m_groupBackground, SIGNAL(triggered (QAction*)), &mw, SLOT (slotViewGroupBackground(QAction*)));
558 mw.m_actionViewCurvesNone =
new QAction (tr (
"Hide All Curves"), &mw);
559 mw.m_actionViewCurvesNone->setCheckable (
true);
560 mw.m_actionViewCurvesNone->setStatusTip (tr (
"Hide all digitized curves."));
561 mw.m_actionViewCurvesNone->setWhatsThis (tr (
"Hide All Curves\n\n"
562 "No axis points or digitized graph curves are shown so the image is easier to see."));
564 mw.m_actionViewCurvesSelected =
new QAction (tr (
"Show Selected Curve"), &mw);
565 mw.m_actionViewCurvesSelected->setCheckable (
true);
566 mw.m_actionViewCurvesSelected->setStatusTip (tr (
"Show only the currently selected curve."));
567 mw.m_actionViewCurvesSelected->setWhatsThis (tr (
"Show Selected Curve\n\n"
568 "Show only the digitized points and line that belong to the currently selected curve."));
570 mw.m_actionViewCurvesAll =
new QAction (tr (
"Show All Curves"), &mw);
571 mw.m_actionViewCurvesAll->setCheckable (
true);
572 mw.m_actionViewCurvesAll->setChecked (
true);
573 mw.m_actionViewCurvesAll->setStatusTip (tr (
"Show all curves."));
574 mw.m_actionViewCurvesAll->setWhatsThis (tr (
"Show All Curves\n\n"
575 "Show all digitized axis points and graph curves"));
577 mw.m_groupCurves =
new QActionGroup(&mw);
578 mw.m_groupCurves->addAction (mw.m_actionViewCurvesNone);
579 mw.m_groupCurves->addAction (mw.m_actionViewCurvesSelected);
580 mw.m_groupCurves->addAction (mw.m_actionViewCurvesAll);
581 connect (mw.m_groupCurves, SIGNAL(triggered (QAction*)), &mw, SLOT (slotViewGroupCurves(QAction*)));
583 mw.m_actionStatusNever =
new QAction (tr (
"Hide Always"), &mw);
584 mw.m_actionStatusNever->setCheckable(
true);
585 mw.m_actionStatusNever->setStatusTip (tr (
"Always hide the status bar."));
586 mw.m_actionStatusNever->setWhatsThis (tr (
"Hide the status bar. No temporary status or feedback messages will appear."));
588 mw.m_actionStatusTemporary =
new QAction (tr (
"Show Temporary Messages"), &mw);
589 mw.m_actionStatusTemporary->setCheckable(
true);
590 mw.m_actionStatusTemporary->setStatusTip (tr (
"Hide the status bar except when display temporary messages."));
591 mw.m_actionStatusTemporary->setWhatsThis (tr (
"Hide the status bar, except when displaying temporary status and feedback messages."));
593 mw.m_actionStatusAlways =
new QAction (tr (
"Show Always"), &mw);
594 mw.m_actionStatusAlways->setCheckable(
true);
595 mw.m_actionStatusAlways->setStatusTip (tr (
"Always show the status bar."));
596 mw.m_actionStatusAlways->setWhatsThis (tr (
"Show the status bar. Besides displaying temporary status and feedback messages, "
597 "the status bar also displays information about the cursor position."));
599 mw.m_groupStatus =
new QActionGroup(&mw);
600 mw.m_groupStatus->addAction (mw.m_actionStatusNever);
601 mw.m_groupStatus->addAction (mw.m_actionStatusTemporary);
602 mw.m_groupStatus->addAction (mw.m_actionStatusAlways);
603 connect (mw.m_groupStatus, SIGNAL (triggered (QAction*)), &mw, SLOT (slotViewGroupStatus(QAction*)));
605 mw.m_actionZoomOut =
new QAction (tr (
"Zoom Out"), &mw);
606 mw.m_actionZoomOut->setStatusTip (tr (
"Zoom out"));
608 connect (mw.m_actionZoomOut, SIGNAL (triggered ()), &mw, SLOT (slotViewZoomOut ()));
610 mw.m_actionZoomIn =
new QAction (tr (
"Zoom In"), &mw);
611 mw.m_actionZoomIn->setStatusTip (tr (
"Zoom in"));
613 connect (mw.m_actionZoomIn, SIGNAL (triggered ()), &mw, SLOT (slotViewZoomIn ()));
615 mw.m_mapperZoomFactor =
new QSignalMapper (&mw);
616 connect (mw.m_mapperZoomFactor, SIGNAL (mapped (
int)), &mw, SLOT (slotViewZoomFactorInt (
int)));
618 mw.m_actionZoom16To1 =
new QAction (tr (
"16:1 (1600%)"), &mw);
619 mw.m_actionZoom16To1->setCheckable (
true);
620 mw.m_actionZoom16To1->setStatusTip (tr (
"Zoom 16:1"));
621 connect (mw.m_actionZoom16To1, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
622 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom16To1,
ZOOM_16_TO_1);
624 mw.m_actionZoom16To1Farther =
new QAction (tr (
"16:1 farther (1270%)"), &mw);
625 mw.m_actionZoom16To1Farther->setCheckable (
true);
626 mw.m_actionZoom16To1Farther->setStatusTip (tr (
"Zoom 12.7:1"));
627 connect (mw.m_actionZoom16To1Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
630 mw.m_actionZoom8To1Closer =
new QAction (tr (
"8:1 closer (1008%)"), &mw);
631 mw.m_actionZoom8To1Closer->setCheckable (
true);
632 mw.m_actionZoom8To1Closer->setStatusTip (tr (
"Zoom 10.08:1"));
633 connect (mw.m_actionZoom8To1Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
636 mw.m_actionZoom8To1 =
new QAction (tr (
"8:1 (800%)"), &mw);
637 mw.m_actionZoom8To1->setCheckable (
true);
638 mw.m_actionZoom8To1->setStatusTip (tr (
"Zoom 8:1"));
639 connect (mw.m_actionZoom8To1, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
640 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom8To1,
ZOOM_8_TO_1);
642 mw.m_actionZoom8To1Farther =
new QAction (tr (
"8:1 farther (635%)"), &mw);
643 mw.m_actionZoom8To1Farther->setCheckable (
true);
644 mw.m_actionZoom8To1Farther->setStatusTip (tr (
"Zoom 6.35:1"));
645 connect (mw.m_actionZoom8To1Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
648 mw.m_actionZoom4To1Closer =
new QAction (tr (
"4:1 closer (504%)"), &mw);
649 mw.m_actionZoom4To1Closer->setCheckable (
true);
650 mw.m_actionZoom4To1Closer->setStatusTip (tr (
"Zoom 5.04:1"));
651 connect (mw.m_actionZoom4To1Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
654 mw.m_actionZoom4To1 =
new QAction (tr (
"4:1 (400%)"), &mw);
655 mw.m_actionZoom4To1->setCheckable (
true);
656 mw.m_actionZoom4To1->setStatusTip (tr (
"Zoom 4:1"));
657 connect (mw.m_actionZoom4To1, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
658 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom4To1,
ZOOM_4_TO_1);
660 mw.m_actionZoom4To1Farther =
new QAction (tr (
"4:1 farther (317%)"), &mw);
661 mw.m_actionZoom4To1Farther->setCheckable (
true);
662 mw.m_actionZoom4To1Farther->setStatusTip (tr (
"Zoom 3.17:1"));
663 connect (mw.m_actionZoom4To1Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
666 mw.m_actionZoom2To1Closer =
new QAction (tr (
"2:1 closer (252%)"), &mw);
667 mw.m_actionZoom2To1Closer->setCheckable (
true);
668 mw.m_actionZoom2To1Closer->setStatusTip (tr (
"Zoom 2.52:1"));
669 connect (mw.m_actionZoom2To1Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
672 mw.m_actionZoom2To1 =
new QAction (tr (
"2:1 (200%)"), &mw);
673 mw.m_actionZoom2To1->setCheckable (
true);
674 mw.m_actionZoom2To1->setStatusTip (tr (
"Zoom 2:1"));
675 connect (mw.m_actionZoom2To1, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
676 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom2To1,
ZOOM_2_TO_1);
678 mw.m_actionZoom2To1Farther =
new QAction (tr (
"2:1 farther (159%)"), &mw);
679 mw.m_actionZoom2To1Farther->setCheckable (
true);
680 mw.m_actionZoom2To1Farther->setStatusTip (tr (
"Zoom 1.59:1"));
681 connect (mw.m_actionZoom2To1Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
684 mw.m_actionZoom1To1Closer =
new QAction (tr (
"1:1 closer (126%)"), &mw);
685 mw.m_actionZoom1To1Closer->setCheckable (
true);
686 mw.m_actionZoom1To1Closer->setChecked (
true);
687 mw.m_actionZoom1To1Closer->setStatusTip (tr (
"Zoom 1.3:1"));
688 connect (mw.m_actionZoom1To1Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
691 mw.m_actionZoom1To1 =
new QAction (tr (
"1:1 (100%)"), &mw);
692 mw.m_actionZoom1To1->setCheckable (
true);
693 mw.m_actionZoom1To1->setChecked (
true);
694 mw.m_actionZoom1To1->setStatusTip (tr (
"Zoom 1:1"));
695 connect (mw.m_actionZoom1To1, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
696 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom1To1,
ZOOM_1_TO_1);
698 mw.m_actionZoom1To1Farther =
new QAction (tr (
"1:1 farther (79%)"), &mw);
699 mw.m_actionZoom1To1Farther->setCheckable (
true);
700 mw.m_actionZoom1To1Farther->setChecked (
true);
701 mw.m_actionZoom1To1Farther->setStatusTip (tr (
"Zoom 0.8:1"));
702 connect (mw.m_actionZoom1To1Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
705 mw.m_actionZoom1To2Closer =
new QAction (tr (
"1:2 closer (63%)"), &mw);
706 mw.m_actionZoom1To2Closer->setCheckable (
true);
707 mw.m_actionZoom1To2Closer->setStatusTip (tr (
"Zoom 1.3:2"));
708 connect (mw.m_actionZoom1To2Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
711 mw.m_actionZoom1To2 =
new QAction (tr (
"1:2 (50%)"), &mw);
712 mw.m_actionZoom1To2->setCheckable (
true);
713 mw.m_actionZoom1To2->setStatusTip (tr (
"Zoom 1:2"));
714 connect (mw.m_actionZoom1To2, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
715 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom1To2,
ZOOM_1_TO_2);
717 mw.m_actionZoom1To2Farther =
new QAction (tr (
"1:2 farther (40%)"), &mw);
718 mw.m_actionZoom1To2Farther->setCheckable (
true);
719 mw.m_actionZoom1To2Farther->setStatusTip (tr (
"Zoom 0.8:2"));
720 connect (mw.m_actionZoom1To2Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
723 mw.m_actionZoom1To4Closer =
new QAction (tr (
"1:4 closer (31%)"), &mw);
724 mw.m_actionZoom1To4Closer->setCheckable (
true);
725 mw.m_actionZoom1To4Closer->setStatusTip (tr (
"Zoom 1.3:4"));
726 connect (mw.m_actionZoom1To4Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
729 mw.m_actionZoom1To4 =
new QAction (tr (
"1:4 (25%)"), &mw);
730 mw.m_actionZoom1To4->setCheckable (
true);
731 mw.m_actionZoom1To4->setStatusTip (tr (
"Zoom 1:4"));
732 connect (mw.m_actionZoom1To4, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
733 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom1To4,
ZOOM_1_TO_4);
735 mw.m_actionZoom1To4Farther =
new QAction (tr (
"1:4 farther (20%)"), &mw);
736 mw.m_actionZoom1To4Farther->setCheckable (
true);
737 mw.m_actionZoom1To4Farther->setStatusTip (tr (
"Zoom 0.8:4"));
738 connect (mw.m_actionZoom1To4Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
741 mw.m_actionZoom1To8Closer =
new QAction (tr (
"1:8 closer (12.5%)"), &mw);
742 mw.m_actionZoom1To8Closer->setCheckable (
true);
743 mw.m_actionZoom1To8Closer->setStatusTip (tr (
"Zoom 1:8"));
744 connect (mw.m_actionZoom1To8Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
747 mw.m_actionZoom1To8 =
new QAction (tr (
"1:8 (12.5%)"), &mw);
748 mw.m_actionZoom1To8->setCheckable (
true);
749 mw.m_actionZoom1To8->setStatusTip (tr (
"Zoom 1:8"));
750 connect (mw.m_actionZoom1To8, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
751 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom1To8,
ZOOM_1_TO_8);
753 mw.m_actionZoom1To8Farther =
new QAction (tr (
"1:8 farther (10%)"), &mw);
754 mw.m_actionZoom1To8Farther->setCheckable (
true);
755 mw.m_actionZoom1To8Farther->setStatusTip (tr (
"Zoom 0.8:8"));
756 connect (mw.m_actionZoom1To8Farther, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
759 mw.m_actionZoom1To16Closer =
new QAction (tr (
"1:16 closer (8%)"), &mw);
760 mw.m_actionZoom1To16Closer->setCheckable (
true);
761 mw.m_actionZoom1To16Closer->setStatusTip (tr (
"Zoom 1.3:16"));
762 connect (mw.m_actionZoom1To16Closer, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
765 mw.m_actionZoom1To16 =
new QAction (tr (
"1:16 (6.25%)"), &mw);
766 mw.m_actionZoom1To16->setCheckable (
true);
767 mw.m_actionZoom1To16->setStatusTip (tr (
"Zoom 1:16"));
768 connect (mw.m_actionZoom1To16, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
769 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoom1To16,
ZOOM_1_TO_16);
771 mw.m_actionZoomFill =
new QAction (tr (
"Fill"), &mw);
772 mw.m_actionZoomFill->setCheckable (
true);
773 mw.m_actionZoomFill->setStatusTip (tr (
"Zoom with stretching to fill window"));
774 connect (mw.m_actionZoomFill, SIGNAL (triggered ()), mw.m_mapperZoomFactor, SLOT (map ()));
775 mw.m_mapperZoomFactor->setMapping (mw.m_actionZoomFill,
ZOOM_FILL);
777 mw.m_groupZoom =
new QActionGroup (&mw);
778 mw.m_groupZoom->addAction (mw.m_actionZoom16To1);
779 mw.m_groupZoom->addAction (mw.m_actionZoom16To1Farther);
780 mw.m_groupZoom->addAction (mw.m_actionZoom8To1Closer);
781 mw.m_groupZoom->addAction (mw.m_actionZoom8To1);
782 mw.m_groupZoom->addAction (mw.m_actionZoom8To1Farther);
783 mw.m_groupZoom->addAction (mw.m_actionZoom4To1Closer);
784 mw.m_groupZoom->addAction (mw.m_actionZoom4To1);
785 mw.m_groupZoom->addAction (mw.m_actionZoom4To1Farther);
786 mw.m_groupZoom->addAction (mw.m_actionZoom2To1Closer);
787 mw.m_groupZoom->addAction (mw.m_actionZoom2To1);
788 mw.m_groupZoom->addAction (mw.m_actionZoom2To1Farther);
789 mw.m_groupZoom->addAction (mw.m_actionZoom1To1Closer);
790 mw.m_groupZoom->addAction (mw.m_actionZoom1To1);
791 mw.m_groupZoom->addAction (mw.m_actionZoom1To1Farther);
792 mw.m_groupZoom->addAction (mw.m_actionZoom1To2Closer);
793 mw.m_groupZoom->addAction (mw.m_actionZoom1To2);
794 mw.m_groupZoom->addAction (mw.m_actionZoom1To2Farther);
795 mw.m_groupZoom->addAction (mw.m_actionZoom1To4Closer);
796 mw.m_groupZoom->addAction (mw.m_actionZoom1To4);
797 mw.m_groupZoom->addAction (mw.m_actionZoom1To4Farther);
798 mw.m_groupZoom->addAction (mw.m_actionZoom1To8Closer);
799 mw.m_groupZoom->addAction (mw.m_actionZoom1To8);
800 mw.m_groupZoom->addAction (mw.m_actionZoom1To8Farther);
801 mw.m_groupZoom->addAction (mw.m_actionZoom1To16Closer);
802 mw.m_groupZoom->addAction (mw.m_actionZoom1To16);
803 mw.m_groupZoom->addAction (mw.m_actionZoomFill);
log4cpp::Category * mainCat
const unsigned int MAX_RECENT_FILE_LIST_SIZE
CreateActions()
Single constructor.
void create(MainWindow &mw)
Create QAction actions.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
#define LOG4CPP_INFO_S(logger)