1// qcombobox.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 QComboBox : QWidget
24{
25%TypeHeaderCode
26#include <qcombobox.h>
27%End
28
29public:
30    explicit QComboBox(QWidget *parent /TransferThis/ = 0);
31    virtual ~QComboBox();
32    int maxVisibleItems() const;
33    void setMaxVisibleItems(int maxItems);
34    int count() const /__len__/;
35    void setMaxCount(int max);
36    int maxCount() const;
37    bool duplicatesEnabled() const;
38    void setDuplicatesEnabled(bool enable);
39    void setFrame(bool);
40    bool hasFrame() const;
41    int findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const;
42    int findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const;
43
44    enum InsertPolicy
45    {
46        NoInsert,
47        InsertAtTop,
48        InsertAtCurrent,
49        InsertAtBottom,
50        InsertAfterCurrent,
51        InsertBeforeCurrent,
52        InsertAlphabetically,
53    };
54
55    QComboBox::InsertPolicy insertPolicy() const;
56    void setInsertPolicy(QComboBox::InsertPolicy policy);
57
58    enum SizeAdjustPolicy
59    {
60        AdjustToContents,
61        AdjustToContentsOnFirstShow,
62        AdjustToMinimumContentsLength,
63        AdjustToMinimumContentsLengthWithIcon,
64    };
65
66    QComboBox::SizeAdjustPolicy sizeAdjustPolicy() const;
67    void setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy);
68    int minimumContentsLength() const;
69    void setMinimumContentsLength(int characters);
70    QSize iconSize() const;
71    void setIconSize(const QSize &size);
72    bool isEditable() const;
73    void setEditable(bool editable);
74    void setLineEdit(QLineEdit *edit /Transfer/);
75    QLineEdit *lineEdit() const;
76    void setValidator(const QValidator *v /KeepReference/);
77    const QValidator *validator() const;
78    QAbstractItemDelegate *itemDelegate() const;
79    void setItemDelegate(QAbstractItemDelegate *delegate /KeepReference/);
80    QAbstractItemModel *model() const;
81    void setModel(QAbstractItemModel *model /KeepReference/);
82    QModelIndex rootModelIndex() const;
83    void setRootModelIndex(const QModelIndex &index);
84    int modelColumn() const;
85    void setModelColumn(int visibleColumn);
86    int currentIndex() const;
87    void setCurrentIndex(int index);
88    QString currentText() const;
89    QString itemText(int index) const;
90    QIcon itemIcon(int index) const;
91    QVariant itemData(int index, int role = Qt::UserRole) const;
92    void addItems(const QStringList &texts);
93    void addItem(const QString &text, const QVariant &userData = QVariant());
94    void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant());
95    void insertItem(int index, const QString &text, const QVariant &userData = QVariant());
96    void insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant());
97    void insertItems(int index, const QStringList &texts);
98    void removeItem(int index);
99    void setItemText(int index, const QString &text);
100    void setItemIcon(int index, const QIcon &icon);
101    void setItemData(int index, const QVariant &value, int role = Qt::ItemDataRole::UserRole);
102    QAbstractItemView *view() const;
103    void setView(QAbstractItemView *itemView /Transfer/);
104    virtual QSize sizeHint() const;
105    virtual QSize minimumSizeHint() const;
106    virtual void showPopup();
107    virtual void hidePopup();
108    virtual bool event(QEvent *event);
109    void setCompleter(QCompleter *c /KeepReference/);
110    QCompleter *completer() const;
111    void insertSeparator(int index);
112
113public slots:
114    void clear();
115    void clearEditText();
116    void setEditText(const QString &text);
117    void setCurrentText(const QString &text);
118
119signals:
120    void editTextChanged(const QString &);
121    void activated(int index);
122    void activated(const QString &);
123    void currentIndexChanged(int index);
124    void currentIndexChanged(const QString &);
125    void currentTextChanged(const QString &);
126    void highlighted(int index);
127    void highlighted(const QString &);
128
129protected:
130    void initStyleOption(QStyleOptionComboBox *option) const;
131    virtual void focusInEvent(QFocusEvent *e);
132    virtual void focusOutEvent(QFocusEvent *e);
133    virtual void changeEvent(QEvent *e);
134    virtual void resizeEvent(QResizeEvent *e);
135    virtual void paintEvent(QPaintEvent *e);
136    virtual void showEvent(QShowEvent *e);
137    virtual void hideEvent(QHideEvent *e);
138    virtual void mousePressEvent(QMouseEvent *e);
139    virtual void mouseReleaseEvent(QMouseEvent *e);
140    virtual void keyPressEvent(QKeyEvent *e);
141    virtual void keyReleaseEvent(QKeyEvent *e);
142    virtual void wheelEvent(QWheelEvent *e);
143    virtual void contextMenuEvent(QContextMenuEvent *e);
144    virtual void inputMethodEvent(QInputMethodEvent *);
145
146public:
147    virtual QVariant inputMethodQuery(Qt::InputMethodQuery) const;
148%If (Qt_5_2_0 -)
149    QVariant currentData(int role = Qt::ItemDataRole::UserRole) const;
150%End
151%If (Qt_5_7_0 -)
152    QVariant inputMethodQuery(Qt::InputMethodQuery query, const QVariant &argument) const;
153%End
154
155signals:
156%If (Qt_5_14_0 -)
157    void textActivated(const QString &);
158%End
159%If (Qt_5_14_0 -)
160    void textHighlighted(const QString &);
161%End
162
163public:
164%If (Qt_5_15_0 -)
165    void setPlaceholderText(const QString &placeholderText);
166%End
167%If (Qt_5_15_0 -)
168    QString placeholderText() const;
169%End
170};
171