94 lines
2.5 KiB
C++
Executable File
94 lines
2.5 KiB
C++
Executable File
/**
|
|
**
|
|
** @RDE_HEADER@
|
|
** model_tree_widget_item.h
|
|
** $Id$
|
|
** $HeadURL$
|
|
** $Author$
|
|
**
|
|
** -----------------------------------------------------------------------------------------------
|
|
**
|
|
** Hardware-Environment: Intel-PC
|
|
** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5
|
|
**
|
|
** Language ........: C++ 11
|
|
**
|
|
** -----------------------------------------------------------------------------------------------
|
|
**
|
|
** Author ...........: Jörg Turla, SPD G, Tel. 3132
|
|
**
|
|
** -----------------------------------------------------------------------------------------------
|
|
**
|
|
** Notes .........:
|
|
**
|
|
** 13.06.2016, JT : First edition for use with Qt5
|
|
**
|
|
** -----------------------------------------------------------------------------------------------
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <Map/map.h>
|
|
|
|
#include <GeometryModel/geometry_model.h>
|
|
|
|
#include <QtCore/QString>
|
|
|
|
#include <QtWidgets/QTreeWidgetItem>
|
|
#include <QtWidgets/QTreeWidget>
|
|
|
|
|
|
namespace SituationMap { class Referenced; }
|
|
|
|
|
|
namespace PlanEditor
|
|
{
|
|
|
|
class PlanEditor;
|
|
class ModelTreeWidget;
|
|
|
|
class ModelTreeWidgetItem : public QTreeWidgetItem
|
|
{
|
|
public:
|
|
Q_DISABLE_COPY(ModelTreeWidgetItem)
|
|
|
|
static const int itemColumn = 0;
|
|
static const int nameColumn = 1;
|
|
|
|
explicit ModelTreeWidgetItem(QTreeWidget *parent, const QString &text);
|
|
explicit ModelTreeWidgetItem(QTreeWidgetItem *parent);
|
|
|
|
void selectionChanged(PlanEditor &planEditor
|
|
, const SituationMap::GeometryModel &geometryModel);
|
|
|
|
void setGroupSelected(bool selectionState);
|
|
|
|
static void updateTree( ModelTreeWidget *modelTreeWidget
|
|
, QTreeWidgetItem *parentItem
|
|
, SituationMap::Map *map
|
|
, const SituationMap::GeometryModel &geoModel
|
|
, SituationMap::GeometryModel::Node node = SituationMap::GeometryModel::Node());
|
|
|
|
static void selectItem(QTreeWidgetItem *parentItem, const SituationMap::GeometryModel::Node &node, bool on = true);
|
|
static void clearSelection(QTreeWidgetItem *parentItem);
|
|
|
|
void userDefinedNameChanged(SituationMap::GeometryModel &geometryModel);
|
|
|
|
QVariant data(int column, int role) const override;
|
|
|
|
void connectionRemoved() { m_connectionObj = nullptr; }
|
|
protected:
|
|
|
|
void setCheckState(bool selected);
|
|
SituationMap::GeometryModel::Node findGeometryNode(SituationMap::GeometryModel::Node node, uint id);
|
|
|
|
SituationMap::Referenced *m_connectionObj;
|
|
|
|
private:
|
|
|
|
void initItem();
|
|
|
|
}; // ModelTreeWidgetItem
|
|
|
|
} // namespace PlanEditor
|