18#include <QtWidgets/private/qtwidgetsglobal_p.h>
22#include <QtCore/QList>
25#include <QtCore/QDebug>
26#include "private/qabstractitemview_p.h"
57 : m_top(-1), m_left(-1), m_bottom(-1), m_right(-1), will_be_deleted(
false) { }
59 : m_top(
row), m_left(
column), m_bottom(
row+rowCount-1), m_right(
column+columnCount-1), will_be_deleted(
false) { }
60 inline int top()
const {
return m_top; }
61 inline int left()
const {
return m_left; }
62 inline int bottom()
const {
return m_bottom; }
63 inline int right()
const {
return m_right; }
64 inline int height()
const {
return m_bottom - m_top + 1; }
65 inline int width()
const {
return m_right - m_left + 1; }
73 void addSpan(Span *
span);
74 void updateSpan(Span *
span,
int old_height);
75 Span *spanAt(
int x,
int y)
const;
77 QSet<Span *> spansInRect(
int x,
int y,
int w,
int h)
const;
79 void updateInsertedRows(
int start,
int end);
80 void updateInsertedColumns(
int start,
int end);
81 void updateRemovedRows(
int start,
int end);
82 void updateRemovedColumns(
int start,
int end);
84#ifdef QT_BUILD_INTERNAL
85 bool checkConsistency()
const;
93 typedef QMap<int, SubIndex>
Index;
96 bool cleanSpanSubIndex(
SubIndex &subindex,
int end,
bool update =
false);
101#if QT_CONFIG(abstractbutton)
102class QTableCornerButton;
109 : showGrid(true), gridStyle(
Qt::SolidLine),
110 columnResizeTimerID(0), rowResizeTimerID(0),
112 sortingEnabled(
false), geometryRecursionBlock(
false),
116#if QT_CONFIG(draganddrop)
121 void clearConnections();
126 return verticalHeader->isSectionHidden(
row)
127 || horizontalHeader->isSectionHidden(col);
130 return verticalHeader->visualIndex(logicalRow);
133 return horizontalHeader->visualIndex(logicalCol);
136 return verticalHeader->logicalIndex(visualRow);
139 return horizontalHeader->logicalIndex(visualCol);
143 const int vHeader = verticalHeader ? 1 : 0;
144 return (
index.row() + (horizontalHeader ? 1 : 0)) * (
index.model()->columnCount() + vHeader)
145 +
index.column() + vHeader;
153 int firstVisualRow,
int lastVisualRow,
int firstVisualColumn,
int lastVisualColumn);
166#if QT_CONFIG(abstractbutton)
167 QTableCornerButton *cornerWidget;
182 void setSpan(
int row,
int column,
int rowSpan,
int columnSpan);
191 return !spans.
spans.empty();
194 return sectionSpanSize(verticalHeader,
row,
span);
197 return sectionSpanSize(horizontalHeader,
column,
span);
200 return sectionSpanEndLogical(verticalHeader,
row,
span);
203 return sectionSpanEndLogical(horizontalHeader,
column,
span);
221 int nextActiveVisualRow(
int rowToStart,
int column,
int limit,
222 SearchDirection searchDirection)
const;
223 int nextActiveVisualColumn(
int row,
int columnToStart,
int limit,
224 SearchDirection searchDirection)
const;
228 void selectRow(
int row,
bool anchor);
229 void selectColumn(
int column,
bool anchor);
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Returns the index of the data in row and column with parent.
The QPainter class performs low-level painting on widgets and other paint devices.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QRegion class specifies a clip region for a painter.
std::list< Span * > SpanList
QMetaObject::Connection selectionmodelConnection
int logicalColumn(int visualCol) const
QList< int > columnsToUpdate
QList< int > rowsToUpdate
QHeaderView * horizontalHeader
std::array< QMetaObject::Connection, 7 > verHeaderConnections
std::vector< QMetaObject::Connection > dynHorHeaderConnections
bool isRowHidden(int row) const
bool isCellEnabled(int row, int column) const
bool isHidden(int row, int col) const
bool isColumnHidden(int column) const
int columnSpan(int row, int column) const
std::array< QMetaObject::Connection, 4 > modelConnections
bool geometryRecursionBlock
int rowSpanEndLogical(int row, int span) const
int logicalRow(int visualRow) const
int visualRow(int logicalRow) const
QHeaderView * verticalHeader
int rowSpanHeight(int row, int span) const
int columnSpanWidth(int column, int span) const
int columnSpanEndLogical(int column, int span) const
int accessibleTable2Index(const QModelIndex &index) const
int rowSpan(int row, int column) const
std::array< QMetaObject::Connection, 5 > horHeaderConnections
int visualColumn(int logicalCol) const
The QTableView class provides a default model/view implementation of a table view.
qDeleteAll(list.begin(), list.end())
Combined button and popup list for selecting options.
static QString header(const QString &name)
static int area(const QSize &s)
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLfloat GLfloat GLfloat GLfloat h
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
GLenum GLenum GLsizei void GLsizei void void * span
GLfixed GLfixed GLint GLint order
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
#define Q_AUTOTEST_EXPORT
#define QT_REQUIRE_CONFIG(feature)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
QSqlQueryModel * model
[16]
Span(int row, int column, int rowCount, int columnCount)