qlistwidget.sip 7.09 KB
Newer Older
xuebingbing's avatar
xuebingbing committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
// qlistwidget.sip generated by MetaSIP
//
// This file is part of the QtWidgets Python extension module.
//
// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt5.
// 
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file.  Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
// 
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license.  For more information contact
// info@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


class QListWidgetItem /Supertype=sip.wrapper/
{
%TypeHeaderCode
#include <qlistwidget.h>
%End

public:
    enum ItemType
    {
        Type,
        UserType,
    };

    QListWidgetItem(QListWidget *parent /TransferThis/ = 0, int type = Type);
    QListWidgetItem(const QString &text, QListWidget *parent /TransferThis/ = 0, int type = Type);
    QListWidgetItem(const QIcon &icon, const QString &text, QListWidget *parent /TransferThis/ = 0, int type = Type);
    QListWidgetItem(const QListWidgetItem &other);
    virtual ~QListWidgetItem();
    virtual QListWidgetItem *clone() const /Factory/;
    QListWidget *listWidget() const;
    Qt::ItemFlags flags() const;
    QString text() const;
    QIcon icon() const;
    QString statusTip() const;
    QString toolTip() const;
    QString whatsThis() const;
    QFont font() const;
    int textAlignment() const;
    void setTextAlignment(int alignment);
    Qt::CheckState checkState() const;
    void setCheckState(Qt::CheckState state);
    QSize sizeHint() const;
    void setSizeHint(const QSize &size);
    virtual QVariant data(int role) const;
    virtual void setData(int role, const QVariant &value);
    virtual bool operator<(const QListWidgetItem &other /NoCopy/) const;
    virtual void read(QDataStream &in) /ReleaseGIL/;
    virtual void write(QDataStream &out) const /ReleaseGIL/;
    int type() const;
    void setFlags(Qt::ItemFlags aflags);
    void setText(const QString &atext);
    void setIcon(const QIcon &aicon);
    void setStatusTip(const QString &astatusTip);
    void setToolTip(const QString &atoolTip);
    void setWhatsThis(const QString &awhatsThis);
    void setFont(const QFont &afont);
    QBrush background() const;
    void setBackground(const QBrush &brush);
    QBrush foreground() const;
    void setForeground(const QBrush &brush);
    void setSelected(bool aselect);
    bool isSelected() const;
    void setHidden(bool ahide);
    bool isHidden() const;

private:
    QListWidgetItem &operator=(const QListWidgetItem &);
};

QDataStream &operator<<(QDataStream &out, const QListWidgetItem &item /Constrained/) /ReleaseGIL/;
QDataStream &operator>>(QDataStream &in, QListWidgetItem &item /Constrained/) /ReleaseGIL/;

class QListWidget : QListView
{
%TypeHeaderCode
#include <qlistwidget.h>
%End

public:
    explicit QListWidget(QWidget *parent /TransferThis/ = 0);
    virtual ~QListWidget();
    QListWidgetItem *item(int row) const;
    int row(const QListWidgetItem *item) const;
    void insertItem(int row, QListWidgetItem *item /Transfer/);
    void insertItem(int row, const QString &label);
    void insertItems(int row, const QStringList &labels);
    void addItem(QListWidgetItem *aitem /Transfer/);
    void addItem(const QString &label);
    void addItems(const QStringList &labels);
    QListWidgetItem *takeItem(int row) /TransferBack/;
    int count() const /__len__/;
    QListWidgetItem *currentItem() const;
    void setCurrentItem(QListWidgetItem *item);
    void setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command);
    int currentRow() const;
    void setCurrentRow(int row);
    void setCurrentRow(int row, QItemSelectionModel::SelectionFlags command);
    QListWidgetItem *itemAt(const QPoint &p) const;
    QListWidgetItem *itemAt(int ax, int ay) const;
    QWidget *itemWidget(QListWidgetItem *item) const;
    void setItemWidget(QListWidgetItem *item, QWidget *widget /Transfer/);
%MethodCode
        // We have to break the association with any existing widget.
        QWidget *w = sipCpp->itemWidget(a0);
        
        if (w)
        {
            PyObject *wo = sipGetPyObject(w, sipType_QWidget);
        
            if (wo)
                sipTransferTo(wo, 0);
        }
        
        Py_BEGIN_ALLOW_THREADS
        sipCpp->setItemWidget(a0, a1);
        Py_END_ALLOW_THREADS
%End

    QRect visualItemRect(const QListWidgetItem *item) const;
    void sortItems(Qt::SortOrder order = Qt::AscendingOrder);
    void editItem(QListWidgetItem *item);
    void openPersistentEditor(QListWidgetItem *item);
    void closePersistentEditor(QListWidgetItem *item);
    QList<QListWidgetItem *> selectedItems() const;
    QList<QListWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags) const;

public slots:
    void clear();
    void scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = QAbstractItemView::EnsureVisible);

signals:
    void itemPressed(QListWidgetItem *item);
    void itemClicked(QListWidgetItem *item);
    void itemDoubleClicked(QListWidgetItem *item);
    void itemActivated(QListWidgetItem *item);
    void itemEntered(QListWidgetItem *item);
    void itemChanged(QListWidgetItem *item);
    void currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
    void currentTextChanged(const QString &currentText);
    void currentRowChanged(int currentRow);
    void itemSelectionChanged();

protected:
    virtual QStringList mimeTypes() const;
    virtual QMimeData *mimeData(const QList<QListWidgetItem *> items) const /TransferBack/;
    virtual bool dropMimeData(int index, const QMimeData *data, Qt::DropAction action);
    virtual Qt::DropActions supportedDropActions() const;
    QList<QListWidgetItem *> items(const QMimeData *data) const;
    QModelIndex indexFromItem(QListWidgetItem *item) const;
    QListWidgetItem *itemFromIndex(const QModelIndex &index) const;
    virtual bool event(QEvent *e);

public:
    void setSortingEnabled(bool enable);
    bool isSortingEnabled() const;
    virtual void dropEvent(QDropEvent *event);
    void removeItemWidget(QListWidgetItem *aItem);
%MethodCode
        // We have to break the association with any existing widget.
        QWidget *w = sipCpp->itemWidget(a0);
        
        if (w)
        {
            PyObject *wo = sipGetPyObject(w, sipType_QWidget);
        
            if (wo)
                sipTransferTo(wo, 0);
        }
        
        Py_BEGIN_ALLOW_THREADS
        sipCpp->removeItemWidget(a0);
        Py_END_ALLOW_THREADS
%End

%If (Qt_5_7_0 -)
    virtual void setSelectionModel(QItemSelectionModel *selectionModel);
%End
%If (Qt_5_10_0 -)
    bool isPersistentEditorOpen(QListWidgetItem *item) const;
%End

private:
    virtual void setModel(QAbstractItemModel *model /KeepReference/);
};