]> Shamusworld >> Repos - architektonas/blob - src/applicationwindow.h
Misc. fixes & additions
[architektonas] / src / applicationwindow.h
1 #ifndef __APPLICATIONWINDOW_H__
2 #define __APPLICATIONWINDOW_H__
3
4 #include <QtGui>
5
6 // Forward declarations
7
8 //class EditWindow;
9 //class CharWindow;
10 class AboutWindow;
11 class DrawingView;
12 class QLabel;
13
14 class ApplicationWindow: public QMainWindow
15 {
16         // All Qt apps require this macro
17         Q_OBJECT
18
19         public:
20                 ApplicationWindow();
21
22         protected:
23                 void closeEvent(QCloseEvent * event);
24
25         private slots:
26                 void FileNew(void);
27                 void FileOpen(void);
28                 void FileSave(void);
29                 void FileSaveAs(void);
30                 void SnapToGridTool(void);
31                 void FixAngle(void);
32                 void FixLength(void);
33                 void DeleteTool(void);
34                 void DimensionTool(void);
35                 void RotateTool(void);
36                 void MirrorTool(void);
37                 void AddLineTool(void);
38                 void AddCircleTool(void);
39                 void AddArcTool(void);
40                 void AddPolygonTool(void);
41                 void ZoomInTool(void);
42                 void ZoomOutTool(void);
43                 void HelpAbout(void);
44                 void Settings(void);
45                 void HandleGrouping(void);
46                 void HandleConnection(void);
47                 void HandleDisconnection(void);
48                 void HandleGridSizeInPixels(int);
49                 void HandleGridSizeInBaseUnits(QString);
50                 void HandleDimensionSize(QString);
51
52         private:
53                 void ClearUIToolStatesExcept(QAction *);
54                 void SetInternalToolStates(void);
55                 void CreateActions(void);
56                 QAction * CreateAction(QString name, QString tooltip, QString statustip,
57                         QIcon icon, QKeySequence key, bool checkable = false);
58                 QAction * CreateAction(QString name, QString tooltip, QString statustip,
59                         QIcon icon, QKeySequence key1, QKeySequence key2, bool checkable = false);
60                 void CreateMenus(void);
61                 void CreateToolbars(void);
62                 void ReadSettings(void);
63                 void WriteSettings(void);
64
65                 AboutWindow * aboutWin;
66                 QLabel * zoomIndicator;
67                 QString documentName;
68                 QLineEdit * baseUnitInput;
69                 QLineEdit * dimensionSizeInput;
70
71                 QSettings settings;
72
73                 QAction * fileNewAct;
74                 QAction * fileOpenAct;
75                 QAction * fileSaveAct;
76                 QAction * fileSaveAsAct;
77                 QAction * fileCloseAct;
78                 QAction * exitAct;
79                 QAction * settingsAct;
80                 QAction * fixAngleAct;
81                 QAction * fixLengthAct;
82                 QAction * deleteAct;
83                 QAction * addDimensionAct;
84                 QAction * addLineAct;
85                 QAction * addCircleAct;
86                 QAction * addArcAct;
87                 QAction * addPolygonAct;
88                 QAction * aboutAct;
89                 QAction * rotateAct;
90                 QAction * zoomInAct;
91                 QAction * zoomOutAct;
92                 QAction * snapToGridAct;
93                 QAction * groupAct;
94                 QAction * connectAct;
95                 QAction * disconnectAct;
96                 QAction * mirrorAct;
97
98         // Class variables
99         public:
100                 static DrawingView * drawing;
101 };
102
103 #endif  // __APPLICATIONWINDOW_H__