1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
/* This file is part of Step.
Copyright (C) 2007 Vladimir Kuznetsov <ks.vladimir@gmail.com>
Step is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
Step is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Step; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef STEP_MAINWINDOW_H
#define STEP_MAINWINDOW_H
#include <QUrl>
#include <KXmlGuiWindow>
class WorldModel;
class WorldBrowser;
class WorldScene;
class WorldGraphicsView;
class PropertiesBrowser;
class InfoBrowser;
class UndoBrowser;
class ItemPalette;
class KConfig;
class KToolBarPopupAction;
class KRecentFilesAction;
class QAction;
class QItemSelection;
class QActionGroup;
class MainWindow : public KXmlGuiWindow
{
Q_OBJECT
public:
MainWindow();
~MainWindow();
public slots:
bool newFile();
bool openFile(const QUrl& url = QUrl(), const QUrl& startUrl = QUrl());
bool saveFileAs(const QUrl& url = QUrl(), const QUrl& startUrl = QUrl());
bool saveFile();
void openTutorial();
void openExample();
void openLocalExample();
void uploadExample();
void downloadExamples();
void configureStep();
void simulationStartStop();
void simulationStart();
void simulationStop();
void simulationStopped(int result);
void setRunSpeed(int);
void setFullSpeed() { setRunSpeed(0); }
void setSlowSpeed() { setRunSpeed(1); }
void setSlowerSpeed() { setRunSpeed(2); }
void setSlowestSpeed() { setRunSpeed(3); }
void setStepSpeed() { setRunSpeed(4); }
protected slots:
void updateCaption();
void undoTextChanged(const QString& undoText);
void redoTextChanged(const QString& redoText);
void worldSelectionChanged();
/*
protected slots:
void on_actionNew_triggered(bool checked);
void on_actionOpen_triggered(bool checked);
void on_actionSave_triggered(bool checked);
void on_actionSaveAs_triggered(bool checked);
void on_actionStep_triggered(bool checked);
void on_actionSimulation_triggered(bool checked);
void on_actionAboutStep_triggered(bool checked);
void on_simulationTimer_timeout();
*/
protected:
void setupActions();
bool queryClose();
bool maybeSave();
protected:
WorldModel* worldModel;
WorldBrowser* worldBrowser;
PropertiesBrowser* propertiesBrowser;
InfoBrowser* infoBrowser;
UndoBrowser* undoBrowser;
ItemPalette* itemPalette;
WorldScene* worldScene;
WorldGraphicsView* worldGraphicsView;
QAction* actionUndo;
QAction* actionRedo;
QAction* actionDelete;
QAction* actionCut;
QAction* actionCopy;
QAction* actionPaste;
KRecentFilesAction* actionRecentFiles;
QUrl currentFileUrl;
//The following members are needed for the setting of the timeScale
int runSpeed;
KToolBarPopupAction *runSpeedAction;
QAction *fullSpeedAct;
QAction *slowSpeedAct;
QAction *slowerSpeedAct;
QAction *slowestSpeedAct;
QAction *stepSpeedAct;
QActionGroup *runSpeedGroup;
};
#endif
|