]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.h
Changes to make containers behave like a first-class object.
[architektonas] / src / applicationwindow.h
index c6b8aa24d893173d71ab3ca8c6d957a476373dff..d10e4dd6c791a1b9db83481912bf6d68e0c99516 100644 (file)
@@ -1,13 +1,13 @@
 #ifndef __APPLICATIONWINDOW_H__
 #define __APPLICATIONWINDOW_H__
 
-#include <QtGui>
+#include <QtWidgets>
 
 // Forward declarations
 
-//class EditWindow;
-//class CharWindow;
+class AboutWindow;
 class DrawingView;
+class QLabel;
 
 class ApplicationWindow: public QMainWindow
 {
@@ -19,32 +19,102 @@ class ApplicationWindow: public QMainWindow
 
        protected:
                void closeEvent(QCloseEvent * event);
+               void contextMenuEvent(QContextMenuEvent * event);
 
        private slots:
-//             void FileOpen();
+               void FileNew(void);
+               void FileOpen(void);
+               void FileSave(void);
+               void FileSaveAs(void);
+               void SnapToGridTool(void);
                void FixAngle(void);
                void FixLength(void);
+               void DeleteTool(void);
+               void DimensionTool(void);
+               void RotateTool(void);
+               void MirrorTool(void);
+               void TrimTool(void);
+               void TriangulateTool(void);
+               void AddLineTool(void);
+               void AddCircleTool(void);
+               void AddArcTool(void);
+               void AddPolygonTool(void);
+               void AddSplineTool(void);
+               void ZoomInTool(void);
+               void ZoomOutTool(void);
+               void HelpAbout(void);
+               void Settings(void);
+               void HandleGrouping(void);
+               void HandleConnection(void);
+               void HandleDisconnection(void);
+               void HandleGridSizeInPixels(int);
+               void HandleGridSizeInBaseUnits(QString);
+               void HandleDimensionSize(QString);
+               void EditCut(void);
+               void EditCopy(void);
+               void EditPaste(void);
+
+       signals:
+               void ReloadLayers(void);
 
        private:
+               void ClearUIToolStatesExcept(QAction *);
+               void SetInternalToolStates(void);
                void CreateActions(void);
                QAction * CreateAction(QString name, QString tooltip, QString statustip,
                        QIcon icon, QKeySequence key, bool checkable = false);
-               QAction * CreateAction2(QString name, QString tooltip, QString statustip,
+               QAction * CreateAction(QString name, QString tooltip, QString statustip,
                        QIcon icon, QKeySequence key1, QKeySequence key2, bool checkable = false);
                void CreateMenus(void);
                void CreateToolbars(void);
                void ReadSettings(void);
                void WriteSettings(void);
 
-//             EditWindow * editWnd;
-//             CharWindow * charWnd;
-               DrawingView * drawing;
+               AboutWindow * aboutWin;
+               QLabel * zoomIndicator;
+               QString documentName;
+               QLineEdit * baseUnitInput;
+               QLineEdit * dimensionSizeInput;
 
                QSettings settings;
 
+               QAction * fileNewAct;
+               QAction * fileOpenAct;
+               QAction * fileSaveAct;
+               QAction * fileSaveAsAct;
+               QAction * fileCloseAct;
                QAction * exitAct;
+               QAction * settingsAct;
                QAction * fixAngleAct;
                QAction * fixLengthAct;
+               QAction * deleteAct;
+               QAction * addDimensionAct;
+               QAction * addLineAct;
+               QAction * addCircleAct;
+               QAction * addArcAct;
+               QAction * addPolygonAct;
+               QAction * addSplineAct;
+               QAction * aboutAct;
+               QAction * rotateAct;
+               QAction * zoomInAct;
+               QAction * zoomOutAct;
+               QAction * snapToGridAct;
+               QAction * groupAct;
+               QAction * connectAct;
+               QAction * disconnectAct;
+               QAction * mirrorAct;
+               QAction * trimAct;
+               QAction * triangulateAct;
+               QAction * editCutAct;
+               QAction * editCopyAct;
+               QAction * editPasteAct;
+
+               std::vector<void *> clipboard;
+
+       // Class variables
+       public:
+               static DrawingView * drawing;
 };
 
 #endif // __APPLICATIONWINDOW_H__
+