qtreewidget.sip 10 KB

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