94 lines
1.8 KiB
C++
94 lines
1.8 KiB
C++
/*
|
||
* © 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 <QObject>
|
||
#include <QModelIndex>
|
||
#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
|