1 #ifndef __APPLICATIONWINDOW_H__
2 #define __APPLICATIONWINDOW_H__
11 // Forward declarations
18 class ApplicationWindow: public QMainWindow
20 // All Qt apps require this macro
27 void closeEvent(QCloseEvent * event);
28 void contextMenuEvent(QContextMenuEvent * event);
33 void FileOpenRecent(void);
35 void FileSaveAs(void);
36 void PrintPreview(void);
37 void HandlePrintRequest(QPrinter *);
38 void SnapToGridTool(void);
41 void DeleteTool(void);
42 void DimensionTool(void);
43 void RotateTool(void);
44 void MirrorTool(void);
46 void ParallelTool(void);
47 void TriangulateTool(void);
48 void AddLineTool(void);
49 void AddCircleTool(void);
50 void AddArcTool(void);
51 void AddPolygonTool(void);
52 void AddSplineTool(void);
53 void ZoomInTool(void);
54 void ZoomOutTool(void);
57 void HandleGrouping(void);
58 void HandleConnection(void);
59 void HandleDisconnection(void);
60 void HandleGridSizeInPixels(int);
61 void HandleGridSizeInBaseUnits(QString);
62 void HandleDimensionSize(QString);
66 void SelectAllObjects(void);
67 void UpdateZoom(void);
68 void MoveToLayer(void);
69 void UpdateFromCommand(void);
72 void ReloadLayers(void);
75 void LoadFile(QString);
76 void ClearUIToolStatesExcept(QAction *);
77 void SetInternalToolStates(void);
78 void CreateActions(void);
79 QAction * CreateAction(QString name, QString tooltip, QString statustip,
80 QIcon icon, QKeySequence key, bool checkable = false);
81 QAction * CreateAction(QString name, QString tooltip, QString statustip,
82 QIcon icon, QKeySequence key1, QKeySequence key2, bool checkable = false);
83 void CreateMenus(void);
84 void CreateToolbars(void);
85 void ReadSettings(void);
86 void WriteSettings(void);
87 void UpdateMRUActionList(void);
88 void AdjustMRU(const QString & filePath);
90 AboutWindow * aboutWin;
91 QLabel * zoomIndicator;
93 QLineEdit * baseUnitInput;
94 QLineEdit * dimensionSizeInput;
100 QAction * fileOpenAct;
101 QAction * fileSaveAct;
102 QAction * fileSaveAsAct;
103 QAction * fileCloseAct;
105 QAction * settingsAct;
106 QAction * fixAngleAct;
107 QAction * fixLengthAct;
109 QAction * addDimensionAct;
110 QAction * addLineAct;
111 QAction * addCircleAct;
113 QAction * addPolygonAct;
114 QAction * addSplineAct;
118 QAction * zoomOutAct;
119 QAction * snapToGridAct;
121 QAction * connectAct;
122 QAction * disconnectAct;
125 QAction * parallelAct;
126 QAction * triangulateAct;
127 QAction * editCutAct;
128 QAction * editCopyAct;
129 QAction * editPasteAct;
130 QAction * selectAllAct;
131 QAction * printPreviewAct;
132 QList<QAction *> layerAct;
133 QList<QAction *> mruAct;
135 std::vector<void *> clipboard;
139 static DrawingView * drawing;
142 #endif // __APPLICATIONWINDOW_H__