⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qlistview_p.h

📁 奇趣公司比较新的qt/emd版本
💻 H
📖 第 1 页 / 共 2 页
字号:
    QBspTree tree;    QVector<QListViewItem> items;    QBitArray moved;    QSize contentsSize;    QVector<QModelIndex> draggedItems; // indices to the tree.itemVector    mutable QPoint draggedItemsPos;    // used when laying out in batches    int batchStartRow;    int batchSavedDeltaSeg;    void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);    bool doBatchedItemLayout(const QListViewLayoutInfo &info, int max);    void initBspTree(const QSize &contents);    QPoint initDynamicLayout(const QListViewLayoutInfo &info);    void doDynamicLayout(const QListViewLayoutInfo &info);    void intersectingDynamicSet(const QRect &area) const;    static void addLeaf(QVector<int> &leaf, const QRect &area,                        uint visited, QBspTree::Data data);    void insertItem(int index);    void removeItem(int index);    void moveItem(int index, const QPoint &dest);    int itemIndex(const QListViewItem &item) const;    void createItems(int to);    void drawItems(QPainter *painter, const QVector<QModelIndex> &indexes) const;    QRect itemsRect(const QVector<QModelIndex> &indexes) const;    QPoint draggedItemsDelta() const;    QRect draggedItemsRect() const;    QPoint snapToGrid(const QPoint &pos) const;    void scrollElasticBandBy(int dx, int dy);    QListViewItem indexToListViewItem(const QModelIndex &index) const;    void clear();};class QListViewPrivate: public QAbstractItemViewPrivate{    Q_DECLARE_PUBLIC(QListView)public:    QListViewPrivate();    ~QListViewPrivate();    void clear();    void prepareItemsLayout();    bool doItemsLayout(int num);    inline void intersectingSet(const QRect &area, bool doLayout = true) const {        if (doLayout) executePostedLayout();        QRect a = (q_func()->isRightToLeft() ? flipX(area.normalized()) : area.normalized());        if (viewMode == QListView::ListMode) staticListView->intersectingStaticSet(a);        else dynamicListView->intersectingDynamicSet(a);    }    // ### FIXME:    inline void resetBatchStartRow()        { if (viewMode == QListView::ListMode) staticListView->batchStartRow = 0;              else dynamicListView->batchStartRow = 0; }    inline int batchStartRow() const        { return (viewMode == QListView::ListMode          ? staticListView->batchStartRow : dynamicListView->batchStartRow); }    inline QSize contentsSize() const        { return (viewMode == QListView::ListMode          ? staticListView->contentsSize : dynamicListView->contentsSize); }    inline void setContentsSize(int w, int h)        { if (viewMode == QListView::ListMode) staticListView->contentsSize = QSize(w, h);          else dynamicListView->contentsSize = QSize(w, h); }    inline int flipX(int x) const        { return qMax(viewport->width(), contentsSize().width()) - x; }    inline QPoint flipX(const QPoint &p) const        { return QPoint(flipX(p.x()), p.y()); }    inline QRect flipX(const QRect &r) const        { return QRect(flipX(r.x()) - r.width(), r.y(), r.width(), r.height()); }    inline QRect viewItemRect(const QListViewItem &item) const        { if (q_func()->isRightToLeft()) return flipX(item.rect()); return item.rect(); }    int itemIndex(const QListViewItem &item) const;    QListViewItem indexToListViewItem(const QModelIndex &index) const;    inline QModelIndex listViewItemToIndex(const QListViewItem &item) const        { return model->index(itemIndex(item), column, root); }    QRect mapToViewport(const QRect &rect, bool greedy = false) const;    QModelIndex closestIndex(const QPoint &target, const QVector<QModelIndex> &candidates) const;    QSize itemSize(const QStyleOptionViewItem &option, const QModelIndex &index) const;    bool selectionAllowed(const QModelIndex &index) const        { if (viewMode == QListView::ListMode && !showElasticBand) return index.isValid(); return true; }    int horizontalScrollToValue(const QModelIndex &index, const QRect &rect, QListView::ScrollHint hint) const;    int verticalScrollToValue(const QModelIndex &index, const QRect &rect, QListView::ScrollHint hint) const;    QItemSelection selection(const QRect &rect) const;    inline void setGridSize(const QSize &size) { grid = size; }    inline QSize gridSize() const { return grid; }    inline void setWrapping(bool b) { wrap = b; }    inline bool isWrapping() const { return wrap; }    inline void setSpacing(int s) { space = s; }    inline int spacing() const { return space; }    inline void setSelectionRectVisible(bool visible) { showElasticBand = visible; }    inline bool isSelectionRectVisible() const { return showElasticBand; }    void scrollElasticBandBy(int dx, int dy);    // ### FIXME: we only need one at a time    QDynamicListViewBase *dynamicListView;    QStaticListViewBase *staticListView;    // ### FIXME: see if we can move the members into the dynamic/static classes    bool wrap;    int space;    QSize grid;    QListView::Flow flow;    QListView::Movement movement;    QListView::ResizeMode resizeMode;    QListView::LayoutMode layoutMode;    QListView::ViewMode viewMode;    // the properties controlling the    // icon- or list-view modes    enum ModeProperties {        Wrap = 1,        Spacing = 2,        GridSize = 4,        Flow = 8,        Movement = 16,        ResizeMode = 32,        SelectionRectVisible = 64    };    uint modeProperties : 8;    QRect layoutBounds;    // used for intersecting set    mutable QVector<QModelIndex> intersectVector;    // timers    QBasicTimer batchLayoutTimer;    // used for hidden items    QVector<int> hiddenRows;    int column;    bool uniformItemSizes;    mutable QSize cachedItemSize;    int batchSize;    QRect elasticBand;    bool showElasticBand;};// inline implementationsinline int QCommonListViewBase::spacing() const { return dd->spacing(); }inline bool QCommonListViewBase::isWrapping() const { return dd->isWrapping(); }inline QSize QCommonListViewBase::gridSize() const { return dd->gridSize(); }inline QListView::Flow QCommonListViewBase::flow() const { return dd->flow; }inline QListView::Movement QCommonListViewBase::movement() const { return dd->movement; }inline QPoint QCommonListViewBase::offset() const { return dd->offset(); }inline QPoint QCommonListViewBase::pressedPosition() const { return dd->pressedPosition; }inline bool QCommonListViewBase::uniformItemSizes() const { return dd->uniformItemSizes; }inline int QCommonListViewBase::column() const { return dd->column; }inline int QCommonListViewBase::verticalScrollBarValue() const { return qq->verticalScrollBar()->value(); }inline int QCommonListViewBase::horizontalScrollBarValue() const { return qq->horizontalScrollBar()->value(); }inline QListView::ScrollMode QCommonListViewBase::verticalScrollMode() const { return qq->verticalScrollMode(); }inline QListView::ScrollMode QCommonListViewBase::horizontalScrollMode() const { return qq->horizontalScrollMode(); }inline QModelIndex QCommonListViewBase::modelIndex(int row) const    { return dd->model->index(row, dd->column, dd->root); }inline int QCommonListViewBase::rowCount() const { return dd->model->rowCount(dd->root); }inline QStyleOptionViewItemV3 QCommonListViewBase::viewOptions() const { return dd->viewOptionsV3(); }inline QWidget *QCommonListViewBase::viewport() const { return dd->viewport; }inline QRect QCommonListViewBase::clipRect() const { return dd->clipRect(); }inline QSize QCommonListViewBase::cachedItemSize() const { return dd->cachedItemSize; }inline QRect QCommonListViewBase::viewItemRect(const QListViewItem &item) const { return dd->viewItemRect(item); }inline QSize QCommonListViewBase::itemSize(const QStyleOptionViewItemV2 &opt, const QModelIndex &idx) const    { return dd->itemSize(opt, idx); }inline QAbstractItemDelegate *QCommonListViewBase::delegate(const QModelIndex &idx) const    { return dd->delegateForIndex(idx); }inline bool QCommonListViewBase::isHidden(int row) const { return dd->hiddenRows.contains(row); }inline int QCommonListViewBase::hiddenCount() const { return dd->hiddenRows.count(); }inline void QCommonListViewBase::clearIntersections() const { dd->intersectVector.clear(); }inline void QCommonListViewBase::appendToIntersections(const QModelIndex &idx) const { dd->intersectVector.append(idx); }inline bool QCommonListViewBase::isRightToLeft() const { return qq->isRightToLeft(); }#endif // QT_NO_LISTVIEW#endif // QLISTVIEW_P_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -