Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-25 09:26:22

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QCOLUMNVIEW_H
0006 #define QCOLUMNVIEW_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qabstractitemview.h>
0010 
0011 QT_REQUIRE_CONFIG(columnview);
0012 
0013 QT_BEGIN_NAMESPACE
0014 
0015 class QColumnViewPrivate;
0016 
0017 class Q_WIDGETS_EXPORT QColumnView : public QAbstractItemView {
0018 
0019 Q_OBJECT
0020     Q_PROPERTY(bool resizeGripsVisible READ resizeGripsVisible WRITE setResizeGripsVisible)
0021     Q_PROPERTY(bool previewColumnVisible READ isPreviewColumnVisible WRITE setPreviewColumnVisible)
0022 
0023 Q_SIGNALS:
0024     void updatePreviewWidget(const QModelIndex &index);
0025 
0026 public:
0027     explicit QColumnView(QWidget *parent = nullptr);
0028     ~QColumnView();
0029 
0030     // QAbstractItemView overloads
0031     QModelIndex indexAt(const QPoint &point) const override;
0032     void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) override;
0033     QSize sizeHint() const override;
0034     QRect visualRect(const QModelIndex &index) const override;
0035     void setModel(QAbstractItemModel *model) override;
0036     void setSelectionModel(QItemSelectionModel * selectionModel) override;
0037     void setRootIndex(const QModelIndex &index) override;
0038     void selectAll() override;
0039 
0040     // QColumnView functions
0041     void setResizeGripsVisible(bool visible);
0042     bool resizeGripsVisible() const;
0043     void setPreviewColumnVisible(bool visible);
0044     bool isPreviewColumnVisible() const;
0045 
0046     QWidget *previewWidget() const;
0047     void setPreviewWidget(QWidget *widget);
0048 
0049     void setColumnWidths(const QList<int> &list);
0050     QList<int> columnWidths() const;
0051 
0052 protected:
0053     QColumnView(QColumnViewPrivate &dd, QWidget *parent = nullptr);
0054 
0055     // QAbstractItemView overloads
0056     bool isIndexHidden(const QModelIndex &index) const override;
0057     QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override;
0058     void resizeEvent(QResizeEvent *event) override;
0059     void setSelection(const QRect & rect, QItemSelectionModel::SelectionFlags command) override;
0060     QRegion visualRegionForSelection(const QItemSelection &selection) const override;
0061     int horizontalOffset() const override;
0062     int verticalOffset() const override;
0063     void rowsInserted(const QModelIndex &parent, int start, int end) override;
0064     void currentChanged(const QModelIndex &current, const QModelIndex &previous) override;
0065 
0066     // QColumnView functions
0067     void scrollContentsBy(int dx, int dy) override;
0068     virtual QAbstractItemView* createColumn(const QModelIndex &rootIndex);
0069     void initializeColumn(QAbstractItemView *column) const;
0070 
0071 private:
0072     Q_DECLARE_PRIVATE(QColumnView)
0073     Q_DISABLE_COPY(QColumnView)
0074 };
0075 
0076 QT_END_NAMESPACE
0077 
0078 #endif // QCOLUMNVIEW_H
0079