/** ** ** @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 #include #include #include #include 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