add non-functional c1 Hatchery
[openc2e.git] / qtgui / qtopenc2e.h
bloba82d5b800a0314a5de521d735232500a33be042f
1 /*
2 This program is free software; you can redistribute it and/or modify
3 it under the terms of the GNU General Public License as published by
4 the Free Software Foundation; either version 2 of the License, or
5 (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License along
13 with this program; if not, write to the Free Software Foundation, Inc.,
14 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 #ifndef _QTOPENC2E_H
18 #define _QTOPENC2E_H
20 #include <QMainWindow>
21 #include <boost/shared_ptr.hpp>
22 #include "AgentRef.h"
24 class QtOpenc2e : public QMainWindow {
25 Q_OBJECT
27 public:
28 QtOpenc2e(boost::shared_ptr<class QtBackend>);
29 ~QtOpenc2e();
31 class Creature *getSelectedCreature();
33 signals:
34 void ticked();
35 void creatureTicked();
36 void creatureChanged();
38 private slots:
39 void tick();
41 void onCreatureChange();
42 void updateCreaturesMenu();
43 void selectCreature();
44 void updateMenus();
46 void about();
48 void showHatchery();
49 void showAgentInjector();
50 void showBrainViewer();
52 void toggleShowMap();
53 void toggleShowScrollbars();
54 void toggleFastSpeed();
55 void toggleDisplayUpdates();
56 void toggleAutokill();
57 void togglePause();
58 void toggleMute();
60 void newEgg();
61 void newNorn();
63 private:
64 QToolBar *maintoolbar;
65 QMenu *fileMenu, *viewMenu, *controlMenu, *debugMenu, *toolsMenu, *creaturesMenu, *helpMenu;
66 QAction *exitAct, *aboutAct, *agentInjectorAct, *brainViewerAct, *hatcheryAct;
67 QAction *showMapAct, *newNornAct, *newEggAct;
68 QAction *pauseAct, *muteAct, *fastSpeedAct, *displayUpdatesAct, *autokillAct, *toggleScrollbarsAct;
70 class AgentInjector *agentInjector;
71 class BrainViewer *brainViewer;
72 class CreatureGrapher *creatureGrapher;
73 class QDockWidget *creatureGrapherDock;
74 class Hatchery *hatchery;
76 class openc2eView *viewport;
78 AgentRef selectedcreature;
79 std::string oldcreaturename;
81 class QTimer *ourTimer;
84 #endif