]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.h
Added base units & display style to drawing.
[architektonas] / src / applicationwindow.h
index 339744b4ab1756bfc33c5648f861fbe418ff6f68..8b9921818107f041f690443d450326acda88e484 100644 (file)
@@ -2,14 +2,18 @@
 #define __APPLICATIONWINDOW_H__
 
 #include <QtWidgets>
+#include <QPrinter>
+
+// Useful definitions
+
+#define MRU_MAX 10
 
 // Forward declarations
 
-//class EditWindow;
-//class CharWindow;
 class AboutWindow;
 class DrawingView;
 class QLabel;
+class ConsoleWidget;
 
 class ApplicationWindow: public QMainWindow
 {
@@ -21,12 +25,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 +43,7 @@ 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);
@@ -45,14 +54,26 @@ class ApplicationWindow: public QMainWindow
                void ZoomOutTool(void);
                void HelpAbout(void);
                void Settings(void);
+               void DrawingSettings(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);
+               void SelectAllObjects(void);
+               void UpdateZoom(void);
+               void MoveToLayer(void);
+               void UpdateFromCommand(void);
+
+       signals:
+               void ReloadLayers(void);
 
        private:
+               void LoadFile(QString);
                void ClearUIToolStatesExcept(QAction *);
                void SetInternalToolStates(void);
                void CreateActions(void);
@@ -64,12 +85,15 @@ 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;
                QString documentName;
                QLineEdit * baseUnitInput;
                QLineEdit * dimensionSizeInput;
+               ConsoleWidget * cw;
 
                QSettings settings;
 
@@ -80,6 +104,7 @@ class ApplicationWindow: public QMainWindow
                QAction * fileCloseAct;
                QAction * exitAct;
                QAction * settingsAct;
+               QAction * drawingSettingsAct;
                QAction * fixAngleAct;
                QAction * fixLengthAct;
                QAction * deleteAct;
@@ -99,7 +124,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: