Files
qt5-legatus-legacy/Lts/Plugins/PlanEditor/model_tree_widget_item.h
T
2026-08-13 18:33:10 +02:00

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