#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;
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 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);
+
+ signals:
+ void ReloadLayers(void);
private:
+ void LoadFile(QString);
void ClearUIToolStatesExcept(QAction *);
void SetInternalToolStates(void);
void CreateActions(void);
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;
QSettings settings;
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;
+// QAction * moveToLayerAct;
+ QList<QAction *> layerAct;
+ QList<QAction *> mruAct;
+
+ std::vector<void *> clipboard;
+
+ // Class variables
+ public:
+ static DrawingView * drawing;
};
#endif // __APPLICATIONWINDOW_H__