#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 ApplicationWindow: public QMainWindow
{
protected:
void closeEvent(QCloseEvent * event);
+ void contextMenuEvent(QContextMenuEvent * event);
private slots:
-// void FileOpen();
+ 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);
QAction * CreateAction(QString name, QString tooltip, QString statustip,
QIcon icon, QKeySequence key, bool checkable = false);
- QAction * CreateAction2(QString name, QString tooltip, QString statustip,
+ QAction * CreateAction(QString name, QString tooltip, QString statustip,
QIcon icon, QKeySequence key1, QKeySequence key2, bool checkable = false);
void CreateMenus(void);
void CreateToolbars(void);
void ReadSettings(void);
void WriteSettings(void);
+ void UpdateMRUActionList(void);
+ void AdjustMRU(const QString & filePath);
-// EditWindow * editWnd;
-// CharWindow * charWnd;
- DrawingView * drawing;
+ AboutWindow * aboutWin;
+ QLabel * zoomIndicator;
+ QString documentName;
+ QLineEdit * baseUnitInput;
+ QLineEdit * dimensionSizeInput;
QSettings settings;
+ QAction * fileNewAct;
+ QAction * fileOpenAct;
+ QAction * fileSaveAct;
+ QAction * fileSaveAsAct;
+ QAction * fileCloseAct;
QAction * exitAct;
+ QAction * settingsAct;
QAction * fixAngleAct;
QAction * fixLengthAct;
+ QAction * deleteAct;
+ QAction * addDimensionAct;
+ QAction * addLineAct;
+ 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__