]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.h
Fixed click selection and pen functionality.
[architektonas] / src / applicationwindow.h
index b695c1ed06059ac72c6cc618b946e03d4ec466a0..651add7eacb4a2ea5296e7542559922ba7c0ef90 100644 (file)
@@ -1,12 +1,15 @@
 #ifndef __APPLICATIONWINDOW_H__
 #define __APPLICATIONWINDOW_H__
 
-#include <QtGui>
+#include <QtWidgets>
+#include <QPrinter>
+
+// Useful definitions
+
+#define MRU_MAX 10
 
 // Forward declarations
 
-//class EditWindow;
-//class CharWindow;
 class AboutWindow;
 class DrawingView;
 class QLabel;
@@ -21,12 +24,16 @@ class ApplicationWindow: public QMainWindow
 
        protected:
                void closeEvent(QCloseEvent * event);
+               void contextMenuEvent(QContextMenuEvent * event);
 
        private slots:
                void FileNew(void);
                void FileOpen(void);
+               void FileOpenRecent(void);
                void FileSave(void);
                void FileSaveAs(void);
+               void PrintPreview(void);
+               void HandlePrintRequest(QPrinter *);
                void SnapToGridTool(void);
                void FixAngle(void);
                void FixLength(void);
@@ -35,6 +42,8 @@ class ApplicationWindow: public QMainWindow
                void RotateTool(void);
                void MirrorTool(void);
                void TrimTool(void);
+               void ParallelTool(void);
+               void TriangulateTool(void);
                void AddLineTool(void);
                void AddCircleTool(void);
                void AddArcTool(void);
@@ -50,8 +59,18 @@ class ApplicationWindow: public QMainWindow
                void HandleGridSizeInPixels(int);
                void HandleGridSizeInBaseUnits(QString);
                void HandleDimensionSize(QString);
+               void EditCut(void);
+               void EditCopy(void);
+               void EditPaste(void);
+               void SelectAllObjects(void);
+               void UpdateZoom(void);
+               void MoveToLayer(void);
+
+       signals:
+               void ReloadLayers(void);
 
        private:
+               void LoadFile(QString);
                void ClearUIToolStatesExcept(QAction *);
                void SetInternalToolStates(void);
                void CreateActions(void);
@@ -63,6 +82,8 @@ class ApplicationWindow: public QMainWindow
                void CreateToolbars(void);
                void ReadSettings(void);
                void WriteSettings(void);
+               void UpdateMRUActionList(void);
+               void AdjustMRU(const QString & filePath);
 
                AboutWindow * aboutWin;
                QLabel * zoomIndicator;
@@ -98,6 +119,17 @@ class ApplicationWindow: public QMainWindow
                QAction * disconnectAct;
                QAction * mirrorAct;
                QAction * trimAct;
+               QAction * parallelAct;
+               QAction * triangulateAct;
+               QAction * editCutAct;
+               QAction * editCopyAct;
+               QAction * editPasteAct;
+               QAction * selectAllAct;
+               QAction * printPreviewAct;
+               QList<QAction *> layerAct;
+               QList<QAction *> mruAct;
+
+               std::vector<void *> clipboard;
 
        // Class variables
        public: