• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

C:/CVUT/diplomka/Automata_editor/sources/mainwindow.h

Go to the documentation of this file.
00001 #ifndef MAINWINDOW_H_42312624626347
00002 #define MAINWINDOW_H_42312624626347
00003 
00004 #include "editor.h"
00005 
00006 #include <QMainWindow>
00007 #include <QDialog>
00008 
00009 class QAction;
00010 class QToolBar;
00011 class QMenu;
00012 
00013 class IAlgorithmHolder;
00014 class IGraphViz;
00015 
00016 class MainWindow : public QMainWindow
00017 {
00018     Q_OBJECT
00019 private:
00020   Editor* editor;
00021  
00022   void createActions();
00023   void createMenus();
00024   void createToolBars();
00025   void createStatusBar();
00026 
00027   QMenu *fileMenu;
00028   QMenu *editMenu;
00029   QMenu *itemsMenu;
00030   QMenu *toolsMenu;
00031   QMenu *showMenu;
00032   QMenu *extraMenu;
00033   QMenu *helpMenu;
00034   
00035   QToolBar *fileToolBar;
00036   QToolBar *editToolBar;
00037   QToolBar *zoomToolBar;
00038   QToolBar *itemsToolBar;
00039   QToolBar *toolsToolBar;
00040   QToolBar *showToolBar;
00041   QToolBar *extraToolBar;
00042   
00043   QAction *fileNew;
00044   QAction *fileOpen;
00045   QAction *fileSave;
00046   QAction *fileSaveAs;
00047   QAction *fileExport;
00048   QAction *fileQuit;
00049   
00050   QAction *editUndo;
00051   QAction *editRedo;  
00052   QAction *editShowUndoStack;
00053   QAction *editCopy;
00054   QAction *editPaste;
00055   QAction *editCut;
00056   QAction *editRemove;
00057   QAction *zoomIn;
00058   QAction *zoomOut;
00059   QAction *resetZoom;
00060   QAction *editGridRect;
00061   QAction *editStateParams;
00062   QAction *editTransitionParams;
00063   
00064   QAction *itemsSelection;
00065   QAction *itemsState;
00066   QAction *itemsTransition;  
00067   
00068   QAction *toolsSnapToGrid;
00069   QAction *toolsAlignStatesToGrid;  
00070   QAction *toolsExpandGrid;
00071   
00072   QAction *showGrid;
00073   QAction *showFrame;
00074   QAction *showAntialias;
00075   
00076   QAction *helpAbout;
00077   QAction *helpAboutQt;
00078   
00079   QAction *extraLaTeXTable;
00080   QAction *extraGeneration;
00081   QAction *extraSimulation;
00082   QMenu *algorithmMenu;  
00083 
00084 
00085 public:
00086     MainWindow(const QString &fileName = "");
00087     ~MainWindow() {}
00088     void setStatusBar(const QString& s);
00089     void setStatusBar(const QString& s, int ms);    
00090 
00091 protected:
00092   void closeEvent(QCloseEvent *event); // on close maybe save file  
00093 
00094   // for saving
00095   void addSuffix(QString &fn, Editor::Format f);
00096 
00097   void loadPlugins();
00098   void processAlgorithmsPlugin(IAlgorithmHolder *algHolder);
00099   void processGraphVizPlugin(IGraphViz *graphVizWrapper);
00100 
00101 private slots:
00102     // file
00103     void newFile();
00104     void openFile();
00105     bool save();
00106     bool saveAs();
00107     void exportTo();
00108 
00109     // edit    
00110     void undoViewClosed();
00111     void updateEditMenu();
00112     void enableEditMenu();
00113     void copy();
00114     void paste();
00115     void cut();
00116     void remove();
00117     
00118     // actions
00119     void setSelection();    
00120     void setState();
00121     void setTransition();
00122 
00123     // tools
00124     void snapToGrid();
00125     void alignToGrid();    
00126   
00127     //help
00128     void about();
00129     void aboutQt();
00130     
00131     void actualizeChecking(bool,bool);
00132     void actionChanged(int);
00133     
00134     void setItemsAvailable(bool available);
00135     void setToolsAvailable(bool available);
00136     void setUtilsAvailable(bool available);
00137 };
00138 
00139 #endif //MAINWINDOW_H_42312624626347

Generated on Tue Jan 4 2011 03:03:23 for Autoamata editor by  doxygen 1.7.0