]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.h
Added base units & display style to drawing.
[architektonas] / src / applicationwindow.h
index 5905f703de7b44d74adeffa547c2b4e297333543..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,29 +25,55 @@ 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);
                void DeleteTool(void);
                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);
@@ -55,11 +85,15 @@ class ApplicationWindow: public QMainWindow
                void CreateToolbars(void);
                void ReadSettings(void);
                void WriteSettings(void);
+               void UpdateMRUActionList(void);
+               void AdjustMRU(const QString & filePath);
 
-               DrawingView * drawing;
                AboutWindow * aboutWin;
                QLabel * zoomIndicator;
                QString documentName;
+               QLineEdit * baseUnitInput;
+               QLineEdit * dimensionSizeInput;
+               ConsoleWidget * cw;
 
                QSettings settings;
 
@@ -70,6 +104,7 @@ class ApplicationWindow: public QMainWindow
                QAction * fileCloseAct;
                QAction * exitAct;
                QAction * settingsAct;
+               QAction * drawingSettingsAct;
                QAction * fixAngleAct;
                QAction * fixLengthAct;
                QAction * deleteAct;
@@ -78,12 +113,32 @@ class ApplicationWindow: public QMainWindow
                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 * 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:
+               static DrawingView * drawing;
 };
 
 #endif // __APPLICATIONWINDOW_H__