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
2018-10-25 12:19:36 +02:00

94 lines
1.8 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* © 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