/* * © Copyright 2014 – Urheberrechtshinweis * Alle Rechte vorbehalten / All Rights Reserved * * Programmcode ist urheberrechtlich geschuetzt. * Das Urheberrecht liegt, soweit nicht ausdruecklich anders gekennzeichnet, bei Frank Ebner. * Keine Verwendung ohne explizite Genehmigung. * (vgl. § 106 ff UrhG / § 97 UrhG) */ #ifndef MAINCONTROLLER_H #define MAINCONTROLLER_H #include "fixC11.h" #include #include #include "MainWindow.h" #include "mapview/model/MapModelListener.h" class MapTreeModel; class MapModelElement; class MapModel; class ToolMoveMap; class ToolRuler; class ToolMapZoom; class ToolMapGrid; class ToolSelector; class MainController : public QObject, public MapModelListener { Q_OBJECT ToolMoveMap* moveMap; ToolRuler* ruler; ToolMapZoom* mapZoom; ToolMapGrid* mapGrid; ToolSelector* mapSelector; public: explicit MainController(); void show() {mw->show();} public: void onLayerChanged(MapLayer* layer) override; void onLayerElementAdded(MapLayer* layer, MapModelElement* elem) override; void onLayerElementRemoved(MapLayer* layer, const MapModelElement* elem) override; void onLayerVisibilityChanged(MapLayer *layer, const bool visible) override; signals: public slots: /** MapLayer selection changed */ void layerSelected(QModelIndex idx); /** MapElement selection has changed */ void mapElementSelected(MapModelElement* el); /** the currently selected MapElement has changed */ void curMapElementChanged(); void onNew(); void onLoad(); void onSave(); void onMapModelAboutToReset(); void onMapModelReset(); void onMapModelNeedsRepaint(); private slots: void onSetShow3DFloorplan(bool show); void onSetShow3DGrid(bool show); void onSetShow3DNavMesh(bool show); private: MainWindow* mw; MapTreeModel* mapTreeModel; MapModel* mapModel; }; #endif // MAINCONTROLLER_H