1// qtreewidget.sip generated by MetaSIP 2// 3// This file is part of the QtWidgets Python extension module. 4// 5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 6// 7// This file is part of PyQt5. 8// 9// This file may be used under the terms of the GNU General Public License 10// version 3.0 as published by the Free Software Foundation and appearing in 11// the file LICENSE included in the packaging of this file. Please review the 12// following information to ensure the GNU General Public License version 3.0 13// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 14// 15// If you do not wish to use this file under the terms of the GPL version 3.0 16// then you may purchase a commercial license. For more information contact 17// info@riverbankcomputing.com. 18// 19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22 23class QTreeWidgetItem /Supertype=sip.wrapper/ 24{ 25%TypeHeaderCode 26#include <qtreewidget.h> 27%End 28 29public: 30 enum ItemType 31 { 32 Type, 33 UserType, 34 }; 35 36 explicit QTreeWidgetItem(int type = Type); 37 QTreeWidgetItem(const QStringList &strings, int type = Type); 38 QTreeWidgetItem(QTreeWidget *parent /TransferThis/, int type = Type); 39 QTreeWidgetItem(QTreeWidget *parent /TransferThis/, const QStringList &strings, int type = Type); 40 QTreeWidgetItem(QTreeWidget *parent /TransferThis/, QTreeWidgetItem *preceding, int type = Type); 41 QTreeWidgetItem(QTreeWidgetItem *parent /TransferThis/, int type = Type); 42 QTreeWidgetItem(QTreeWidgetItem *parent /TransferThis/, const QStringList &strings, int type = Type); 43 QTreeWidgetItem(QTreeWidgetItem *parent /TransferThis/, QTreeWidgetItem *preceding, int type = Type); 44 QTreeWidgetItem(const QTreeWidgetItem &other); 45 virtual ~QTreeWidgetItem(); 46 virtual QTreeWidgetItem *clone() const /Factory/; 47 QTreeWidget *treeWidget() const; 48 Qt::ItemFlags flags() const; 49 QString text(int column) const; 50 QIcon icon(int column) const; 51 QString statusTip(int column) const; 52 QString toolTip(int column) const; 53 QString whatsThis(int column) const; 54 QFont font(int column) const; 55 int textAlignment(int column) const; 56 void setTextAlignment(int column, int alignment); 57 Qt::CheckState checkState(int column) const; 58 void setCheckState(int column, Qt::CheckState state); 59 virtual QVariant data(int column, int role) const; 60 virtual void setData(int column, int role, const QVariant &value); 61 virtual bool operator<(const QTreeWidgetItem &other /NoCopy/) const; 62 virtual void read(QDataStream &in) /ReleaseGIL/; 63 virtual void write(QDataStream &out) const /ReleaseGIL/; 64 QTreeWidgetItem *parent() const; 65 QTreeWidgetItem *child(int index) const; 66 int childCount() const; 67 int columnCount() const; 68 void addChild(QTreeWidgetItem *child /Transfer/); 69 void insertChild(int index, QTreeWidgetItem *child /Transfer/); 70 QTreeWidgetItem *takeChild(int index) /TransferBack/; 71 int type() const; 72 void setFlags(Qt::ItemFlags aflags); 73 void setText(int column, const QString &atext); 74 void setIcon(int column, const QIcon &aicon); 75 void setStatusTip(int column, const QString &astatusTip); 76 void setToolTip(int column, const QString &atoolTip); 77 void setWhatsThis(int column, const QString &awhatsThis); 78 void setFont(int column, const QFont &afont); 79 int indexOfChild(QTreeWidgetItem *achild) const; 80 QSize sizeHint(int column) const; 81 void setSizeHint(int column, const QSize &size); 82 void addChildren(const QList<QTreeWidgetItem *> &children /Transfer/); 83 void insertChildren(int index, const QList<QTreeWidgetItem *> &children /Transfer/); 84 QList<QTreeWidgetItem *> takeChildren() /TransferBack/; 85 QBrush background(int column) const; 86 void setBackground(int column, const QBrush &brush); 87 QBrush foreground(int column) const; 88 void setForeground(int column, const QBrush &brush); 89 void sortChildren(int column, Qt::SortOrder order); 90 void setSelected(bool aselect); 91 bool isSelected() const; 92 void setHidden(bool ahide); 93 bool isHidden() const; 94 void setExpanded(bool aexpand); 95 bool isExpanded() const; 96 97 enum ChildIndicatorPolicy 98 { 99 ShowIndicator, 100 DontShowIndicator, 101 DontShowIndicatorWhenChildless, 102 }; 103 104 void setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy); 105 QTreeWidgetItem::ChildIndicatorPolicy childIndicatorPolicy() const; 106 void removeChild(QTreeWidgetItem *child /TransferBack/); 107 void setFirstColumnSpanned(bool aspan); 108 bool isFirstColumnSpanned() const; 109 void setDisabled(bool disabled); 110 bool isDisabled() const; 111 112protected: 113 void emitDataChanged(); 114 115private: 116 QTreeWidgetItem &operator=(const QTreeWidgetItem &); 117}; 118 119QDataStream &operator<<(QDataStream &out, const QTreeWidgetItem &item /Constrained/) /ReleaseGIL/; 120QDataStream &operator>>(QDataStream &in, QTreeWidgetItem &item /Constrained/) /ReleaseGIL/; 121 122class QTreeWidget : QTreeView 123{ 124%TypeHeaderCode 125#include <qtreewidget.h> 126%End 127 128public: 129 explicit QTreeWidget(QWidget *parent /TransferThis/ = 0); 130 virtual ~QTreeWidget(); 131 int columnCount() const; 132 void setColumnCount(int columns); 133 QTreeWidgetItem *topLevelItem(int index) const; 134 int topLevelItemCount() const; 135 void insertTopLevelItem(int index, QTreeWidgetItem *item /Transfer/); 136 void addTopLevelItem(QTreeWidgetItem *item /Transfer/); 137 QTreeWidgetItem *takeTopLevelItem(int index) /TransferBack/; 138 int indexOfTopLevelItem(QTreeWidgetItem *item) const; 139 void insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items /Transfer/); 140 void addTopLevelItems(const QList<QTreeWidgetItem *> &items /Transfer/); 141 QTreeWidgetItem *headerItem() const; 142 void setHeaderItem(QTreeWidgetItem *item /Transfer/); 143 void setHeaderLabels(const QStringList &labels); 144 QTreeWidgetItem *currentItem() const; 145 int currentColumn() const; 146 void setCurrentItem(QTreeWidgetItem *item); 147 void setCurrentItem(QTreeWidgetItem *item, int column); 148 void setCurrentItem(QTreeWidgetItem *item, int column, QItemSelectionModel::SelectionFlags command); 149 QTreeWidgetItem *itemAt(const QPoint &p) const; 150 QTreeWidgetItem *itemAt(int ax, int ay) const; 151 QRect visualItemRect(const QTreeWidgetItem *item) const; 152 int sortColumn() const; 153 void sortItems(int column, Qt::SortOrder order); 154 void editItem(QTreeWidgetItem *item, int column = 0); 155 void openPersistentEditor(QTreeWidgetItem *item, int column = 0); 156 void closePersistentEditor(QTreeWidgetItem *item, int column = 0); 157 QWidget *itemWidget(QTreeWidgetItem *item, int column) const; 158 void setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget /Transfer/); 159%MethodCode 160 // We have to break the association with any existing widget. Note that I'm 161 // not sure this is really necessary as it should get tidied up when Qt 162 // destroys any current widget, except (possibly) when the widget wasn't 163 // created from PyQt. See also removeItemWidget(), QListWidget and 164 // QTableWidget. 165 QWidget *w = sipCpp->itemWidget(a0, a1); 166 167 if (w) 168 { 169 PyObject *wo = sipGetPyObject(w, sipType_QWidget); 170 171 if (wo) 172 sipTransferTo(wo, 0); 173 } 174 175 Py_BEGIN_ALLOW_THREADS 176 sipCpp->setItemWidget(a0, a1, a2); 177 Py_END_ALLOW_THREADS 178%End 179 180 QList<QTreeWidgetItem *> selectedItems() const; 181 QList<QTreeWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags, int column = 0) const; 182 183public slots: 184 void scrollToItem(const QTreeWidgetItem *item, QAbstractItemView::ScrollHint hint = QAbstractItemView::EnsureVisible); 185 void expandItem(const QTreeWidgetItem *item); 186 void collapseItem(const QTreeWidgetItem *item); 187 void clear(); 188 189signals: 190 void itemPressed(QTreeWidgetItem *item, int column); 191 void itemClicked(QTreeWidgetItem *item, int column); 192 void itemDoubleClicked(QTreeWidgetItem *item, int column); 193 void itemActivated(QTreeWidgetItem *item, int column); 194 void itemEntered(QTreeWidgetItem *item, int column); 195 void itemChanged(QTreeWidgetItem *item, int column); 196 void itemExpanded(QTreeWidgetItem *item); 197 void itemCollapsed(QTreeWidgetItem *item); 198 void currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); 199 void itemSelectionChanged(); 200 201protected: 202 virtual QStringList mimeTypes() const; 203 virtual QMimeData *mimeData(const QList<QTreeWidgetItem *> items) const /TransferBack/; 204 virtual bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action); 205 virtual Qt::DropActions supportedDropActions() const; 206 QModelIndex indexFromItem(QTreeWidgetItem *item, int column = 0) const; 207 QTreeWidgetItem *itemFromIndex(const QModelIndex &index) const; 208 virtual bool event(QEvent *e); 209 virtual void dropEvent(QDropEvent *event); 210 211public: 212 QTreeWidgetItem *invisibleRootItem() const /Transfer/; 213 void setHeaderLabel(const QString &alabel); 214 bool isFirstItemColumnSpanned(const QTreeWidgetItem *item) const; 215 void setFirstItemColumnSpanned(const QTreeWidgetItem *item, bool span); 216 QTreeWidgetItem *itemAbove(const QTreeWidgetItem *item) const; 217 QTreeWidgetItem *itemBelow(const QTreeWidgetItem *item) const; 218 void removeItemWidget(QTreeWidgetItem *item, int column); 219%MethodCode 220 // We have to break the association with any existing widget. 221 QWidget *w = sipCpp->itemWidget(a0, a1); 222 223 if (w) 224 { 225 PyObject *wo = sipGetPyObject(w, sipType_QWidget); 226 227 if (wo) 228 sipTransferTo(wo, 0); 229 } 230 231 Py_BEGIN_ALLOW_THREADS 232 sipCpp->removeItemWidget(a0, a1); 233 Py_END_ALLOW_THREADS 234%End 235 236 virtual void setSelectionModel(QItemSelectionModel *selectionModel /KeepReference/); 237%If (Qt_5_10_0 -) 238 bool isPersistentEditorOpen(QTreeWidgetItem *item, int column = 0) const; 239%End 240 241private: 242 virtual void setModel(QAbstractItemModel *model /KeepReference/); 243}; 244