OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
TreeWidget.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
13
14// Qt header
15#include <QtCore/qlist.h>
16#include <QtWidgets/qtreewidget.h>
17
18// std header
19#include <list>
20
21namespace ot {
22
23 class OT_WIDGETS_API_EXPORT TreeWidget : public QTreeWidget, public ot::QWidgetInterface {
24 Q_OBJECT
25 public:
31
32 TreeWidget(QWidget * _parentWidget = (QWidget*)nullptr);
33 virtual ~TreeWidget();
34
35 // ###########################################################################################################################################################################################################################################################################################################################
36
37 // Setter / Getter
38
40 virtual QWidget* getQWidget(void) override { return this; };
41
42 QTreeWidgetItem* findItem(const QString& _itemPath, char _delimiter = '/') const;
43
47 bool itemExists(const QString& _itemPath, char _delimiter = '/') const { return this->findItem(_itemPath, _delimiter); };
48
53 bool itemTextExists(const QString& _itemText) const;
54
55 QString getItemPath(QTreeWidgetItem* _item, char _delimiter = '/') const;
56
57 QTreeWidgetItem* addItem(const TreeWidgetItemInfo& _item);
58
61 void deselectAll(void);
62
63 // ###########################################################################################################################################################################################################################################################################################################################
64
65 // Event handler
66
67 virtual void mousePressEvent(QMouseEvent* _event) override;
68
69 virtual void drawRow(QPainter* _painter, const QStyleOptionViewItem& _options, const QModelIndex& _index) const override;
70
71 // ###########################################################################################################################################################################################################################################################################################################################
72
73 // Protected: Helper
74
80 bool itemTextExists(QTreeWidgetItem* _parent, const QString& _itemText) const;
81
82 QTreeWidgetItem* findItem(QTreeWidgetItem* _item, const QStringList& _childPath) const;
83
84 QTreeWidgetItem* findItemText(QTreeWidgetItem* _parent, const QString& _itemText) const;
85
86 // ###########################################################################################################################################################################################################################################################################################################################
87
88 // Private: Slots
89
90 private Q_SLOTS:
91 void slotColorStyleAboutToChange(void);
92 void slotColorStyleChanged(const ColorStyle& _style);
93
94 private:
95 std::list<int> m_columnWidths;
96
97 // ###########################################################################################################################################################################################################################################################################################################################
98
99 // Private: Helper
100
101 QTreeWidgetItem* addItem(QTreeWidgetItem* _parent, const TreeWidgetItemInfo& _item);
102 void destroyRecursive(QTreeWidgetItem* _item);
103
104 };
105
106}
#define OT_WIDGETS_API_EXPORT
Definition OTWidgetsAPIExport.h:12
Definition ColorStyle.h:24
Definition QWidgetInterface.h:18
Definition TreeWidget.h:23
bool itemExists(const QString &_itemPath, char _delimiter='/') const
Checks if the item at the given path exists.
Definition TreeWidget.h:47
virtual QWidget * getQWidget(void) override
Returns a pointer to the root widget of this object.
Definition TreeWidget.h:40
Definition TreeWidgetItemInfo.h:17
Definition Connector.h:8
NavigationTreeItemFlag
Definition NavigationTreeItem.h:21
Definition TreeWidget.h:26
QIcon icon
Definition TreeWidget.h:28
QString text
Definition TreeWidget.h:27
NavigationTreeItemFlag flags
Definition TreeWidget.h:29