| /* |
| |
| Permission is hereby granted, free of charge, to any person |
| obtaining a copy of this software and associated documentation |
| files (the "Software"), to deal in the Software without |
| restriction, including without limitation the rights to use, |
| copy, modify, merge, publish, distribute, sublicense, and/or sell |
| copies of the Software, and to permit persons to whom the |
| Software is furnished to do so, subject to the following |
| conditions: |
| |
| The above copyright notice and this permission notice shall be |
| included in all copies or substantial portions of the Software. |
| |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
| OTHER DEALINGS IN THE SOFTWARE. |
| */ |
| #ifndef MAINWINDOW_H |
| #define MAINWINDOW_H |
| |
| #include <QMainWindow> |
| #include "logicunit.h" |
| #include "container.h" |
| #include "clockconfig.h" |
| |
| |
| #include <QDialog> |
| |
| class ExplorerScene; |
| |
| QT_BEGIN_NAMESPACE |
| class QAction; |
| class QToolBox; |
| class QSpinBox; |
| class QComboBox; |
| class QFontComboBox; |
| class QButtonGroup; |
| class QLineEdit; |
| class QGraphicsTextItem; |
| class QFont; |
| class QToolButton; |
| class QAbstractButton; |
| class QGraphicsView; |
| QT_END_NAMESPACE |
| |
| |
| class MainWindow : public QMainWindow |
| { |
| Q_OBJECT |
| |
| public: |
| MainWindow(); |
| |
| private slots: |
| // void backgroundButtonGroupClicked(QAbstractButton *button); |
| void simulationButtonGroupClicked(QAbstractButton* button); |
| void buttonGroupClicked(int id); |
| void powerButtonGroupClicked(QAbstractButton* button); |
| void deleteItem(); |
| void pointerGroupClicked(int id); |
| void bringToFront(); |
| void sendToBack(); |
| void itemInserted(LogicUnit *item); |
| void textInserted(QGraphicsTextItem *item); |
| void currentFontChanged(const QFont &font); |
| void fontSizeChanged(const QString &size); |
| void sceneScaleChanged(int scale); |
| void activityCycleCountChangedChanged(int number); |
| void textColorChanged(); |
| void itemColorChanged(); |
| void lineColorChanged(); |
| void textButtonTriggered(); |
| void fillButtonTriggered(); |
| void lineButtonTriggered(); |
| void handleFontChange(); |
| void itemSelected(QGraphicsItem *item); |
| void about(); |
| void openFileWithOdin(); |
| void setName(); |
| void findBlock(); |
| void selectAll(); |
| void showAllConnection(); |
| void resetHighlighting(); |
| void showNodeAndNeighboursOnly(); |
| void addParentsToHighlighting(); |
| void addChildrenToHighlighting(); |
| void showRelevantGraph(); |
| void expandCollapse(); |
| |
| private: |
| void createToolBox(); |
| void createActions(); |
| void createMenus(); |
| void createToolbars(); |
| void configureClocks(); |
| |
| ClockConfig clkconfig; |
| |
| QWidget *createBackgroundCellWidget(const QString &text, |
| const QString &image); |
| QWidget* createSimulationCellWidget(const QString &text, |
| const QString &image); |
| QWidget* createPowerCellWidget(const QString &text, |
| const QString &image); |
| QWidget *createCellWidget(const QString &text, |
| LogicUnit::UnitType type); |
| QMenu *createColorMenu(const char *slot, QColor defaultColor); |
| QIcon createColorToolButtonIcon(const QString &image, QColor color); |
| QIcon createColorIcon(QColor color); |
| |
| ExplorerScene *scene; |
| QGraphicsView *view; |
| |
| QAction *exitAction; |
| QAction *addAction; |
| QAction *deleteAction; |
| QAction *setNameAction; |
| QAction *selectAllAction; |
| QAction *findAction; |
| QAction *showAllConnectionsAction; |
| QAction *removeHighlightingAction; |
| QAction *showNodeAndNeighboursOnlyAction; |
| QAction *addParentsToHighlightingAction; |
| QAction *addChildrenToHighlightingAction; |
| QAction *showRelevantGraphAction; |
| QAction *expandCollapseAction; |
| |
| QAction *toFrontAction; |
| QAction *sendBackAction; |
| QAction *aboutAction; |
| |
| QAction *openFileAction; |
| QAction *openFileOdinAction; |
| |
| QMenu *fileMenu; |
| QMenu *itemMenu; |
| QMenu *aboutMenu; |
| |
| QToolBar *openToolBar; |
| QToolBar *textToolBar; |
| QToolBar *editToolBar; |
| QToolBar *colorToolBar; |
| QToolBar *pointerToolbar; |
| |
| |
| QComboBox *itemColorCombo; |
| QComboBox *textColorCombo; |
| QComboBox *fontSizeCombo; |
| QFontComboBox *fontCombo; |
| |
| QToolBox *toolBox; |
| QButtonGroup *nodeButtonGroup; |
| QButtonGroup *pointerTypeGroup; |
| QButtonGroup *backgroundButtonGroup; |
| QButtonGroup* simulationButtonGroup; |
| QButtonGroup* powerButtonGroup; |
| QToolButton *fontColorToolButton; |
| QToolButton *fillColorToolButton; |
| QToolButton *lineColorToolButton; |
| QAction *boldAction; |
| QAction *underlineAction; |
| QAction *italicAction; |
| QAction *textAction; |
| QAction *fillAction; |
| QAction *lineAction; |
| |
| QString actBlifFilename; |
| |
| QGridLayout *simStatLayout; |
| QLabel* simstatLabel; |
| |
| Container* myContainer; |
| |
| bool fileopen; |
| int actSimStep, maxSimStep; |
| int activityBase; |
| }; |
| #endif |