This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
IndoorMap/MainController.h
root e5e19779d5 worked on android port
opengl1 -> es
2018-01-31 17:15:11 +01:00

84 lines
1.5 KiB
C++

#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