]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.h
Added base units & display style to drawing.
[architektonas] / src / applicationwindow.h
index 9432d81347b085df0d6f8fc604b43323e4c45a2c..8b9921818107f041f690443d450326acda88e484 100644 (file)
@@ -1,15 +1,19 @@
 #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;
+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);
@@ -34,20 +42,38 @@ class ApplicationWindow: public QMainWindow
                void DimensionTool(void);
                void RotateTool(void);
                void MirrorTool(void);
+               void TrimTool(void);
+               void ParallelTool(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 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);
@@ -59,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;
 
@@ -75,6 +104,7 @@ class ApplicationWindow: public QMainWindow
                QAction * fileCloseAct;
                QAction * exitAct;
                QAction * settingsAct;
+               QAction * drawingSettingsAct;
                QAction * fixAngleAct;
                QAction * fixLengthAct;
                QAction * deleteAct;
@@ -83,6 +113,7 @@ class ApplicationWindow: public QMainWindow
                QAction * addCircleAct;
                QAction * addArcAct;
                QAction * addPolygonAct;
+               QAction * addSplineAct;
                QAction * aboutAct;
                QAction * rotateAct;
                QAction * zoomInAct;
@@ -92,6 +123,18 @@ class ApplicationWindow: public QMainWindow
                QAction * connectAct;
                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: