X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fapplicationwindow.h;h=d5a9c08b2474572630066ce0af3fffdaec868803;hb=fce575a51ba1f26418869c20e63b9f388e118ab6;hp=bbe01a4b29fb4d63b669718ac538661d0eaf3fe1;hpb=fa8da664bfb749497b1b2d2991077af0554cc369;p=architektonas diff --git a/src/applicationwindow.h b/src/applicationwindow.h index bbe01a4..d5a9c08 100644 --- a/src/applicationwindow.h +++ b/src/applicationwindow.h @@ -1,13 +1,18 @@ #ifndef __APPLICATIONWINDOW_H__ #define __APPLICATIONWINDOW_H__ -#include +#include +#include + +// Useful definitions + +#define MRU_MAX 10 // Forward declarations -//class EditWindow; -//class CharWindow; +class AboutWindow; class DrawingView; +class QLabel; class ApplicationWindow: public QMainWindow { @@ -19,31 +24,82 @@ 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; @@ -51,6 +107,34 @@ class ApplicationWindow: public QMainWindow 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 layerAct; + QList mruAct; + + std::vector clipboard; + + // Class variables + public: + static DrawingView * drawing; }; #endif // __APPLICATIONWINDOW_H__