From f67b8df3ebdba2d398b9cce686b7c644adffff08 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Sat, 7 May 2011 00:02:01 +0200 Subject: library split --- src/gui/itemviews/qtableview_p.h | 257 --------------------------------------- 1 file changed, 257 deletions(-) delete mode 100644 src/gui/itemviews/qtableview_p.h (limited to 'src/gui/itemviews/qtableview_p.h') diff --git a/src/gui/itemviews/qtableview_p.h b/src/gui/itemviews/qtableview_p.h deleted file mode 100644 index e3d2a8f4a6..0000000000 --- a/src/gui/itemviews/qtableview_p.h +++ /dev/null @@ -1,257 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QTABLEVIEW_P_H -#define QTABLEVIEW_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include -#include -#include -#include -#include -#include "private/qabstractitemview_p.h" - -#ifndef QT_NO_TABLEVIEW - -QT_BEGIN_NAMESPACE - -/** \internal -* -* This is a list of span with a binary index to look up quickly a span at a certain index. -* -* The index is a map of map. -* spans are mentaly divided into sub spans so that the start of any subspans doesn't overlap -* with any other subspans. There is no real representation of the subspans. -* The key of the first map is the row where the subspan starts, the value of the first map is -* a list (map) of all subspans that starts at the same row. It is indexed with its row -*/ -class Q_AUTOTEST_EXPORT QSpanCollection -{ -public: - struct Span - { - int m_top; - int m_left; - int m_bottom; - int m_right; - bool will_be_deleted; - Span() - : m_top(-1), m_left(-1), m_bottom(-1), m_right(-1), will_be_deleted(false) { } - Span(int row, int column, int rowCount, int columnCount) - : m_top(row), m_left(column), m_bottom(row+rowCount-1), m_right(column+columnCount-1), will_be_deleted(false) { } - inline int top() const { return m_top; } - inline int left() const { return m_left; } - inline int bottom() const { return m_bottom; } - inline int right() const { return m_right; } - inline int height() const { return m_bottom - m_top + 1; } - inline int width() const { return m_right - m_left + 1; } - }; - - ~QSpanCollection() - { - qDeleteAll(spans); - } - - void addSpan(Span *span); - void updateSpan(Span *span, int old_height); - Span *spanAt(int x, int y) const; - void clear(); - QList spansInRect(int x, int y, int w, int h) const; - - void updateInsertedRows(int start, int end); - void updateInsertedColumns(int start, int end); - void updateRemovedRows(int start, int end); - void updateRemovedColumns(int start, int end); - -#ifdef QT_BUILD_INTERNAL - bool checkConsistency() const; -#endif - - typedef QLinkedList SpanList; - SpanList spans; //lists of all spans -private: - //the indexes are negative so the QMap::lowerBound do what i need. - typedef QMap SubIndex; - typedef QMap Index; - Index index; - - bool cleanSpanSubIndex(SubIndex &subindex, int end, bool update = false); -}; - -Q_DECLARE_TYPEINFO ( QSpanCollection::Span, Q_MOVABLE_TYPE); - - -class QTableViewPrivate : public QAbstractItemViewPrivate -{ - Q_DECLARE_PUBLIC(QTableView) -public: - QTableViewPrivate() - : showGrid(true), gridStyle(Qt::SolidLine), - rowSectionAnchor(-1), columnSectionAnchor(-1), - columnResizeTimerID(0), rowResizeTimerID(0), - horizontalHeader(0), verticalHeader(0), - sortingEnabled(false), geometryRecursionBlock(false), - visualCursor(QPoint()) - { - wrapItemText = true; -#ifndef QT_NO_DRAGANDDROP - overwrite = true; -#endif - } - void init(); - void trimHiddenSelections(QItemSelectionRange *range) const; - - inline bool isHidden(int row, int col) const { - return verticalHeader->isSectionHidden(row) - || horizontalHeader->isSectionHidden(col); - } - inline int visualRow(int logicalRow) const { - return verticalHeader->visualIndex(logicalRow); - } - inline int visualColumn(int logicalCol) const { - return horizontalHeader->visualIndex(logicalCol); - } - inline int logicalRow(int visualRow) const { - return verticalHeader->logicalIndex(visualRow); - } - inline int logicalColumn(int visualCol) const { - return horizontalHeader->logicalIndex(visualCol); - } - - int sectionSpanEndLogical(const QHeaderView *header, int logical, int span) const; - int sectionSpanSize(const QHeaderView *header, int logical, int span) const; - bool spanContainsSection(const QHeaderView *header, int logical, int spanLogical, int span) const; - void drawAndClipSpans(const QRegion &area, QPainter *painter, - const QStyleOptionViewItemV4 &option, QBitArray *drawn, - int firstVisualRow, int lastVisualRow, int firstVisualColumn, int lastVisualColumn); - void drawCell(QPainter *painter, const QStyleOptionViewItemV4 &option, const QModelIndex &index); - - bool showGrid; - Qt::PenStyle gridStyle; - int rowSectionAnchor; - int columnSectionAnchor; - int columnResizeTimerID; - int rowResizeTimerID; - QList columnsToUpdate; - QList rowsToUpdate; - QHeaderView *horizontalHeader; - QHeaderView *verticalHeader; - QWidget *cornerWidget; - bool sortingEnabled; - bool geometryRecursionBlock; - QPoint visualCursor; // (Row,column) cell coordinates to track through span navigation. - - QSpanCollection spans; - - void setSpan(int row, int column, int rowSpan, int columnSpan); - QSpanCollection::Span span(int row, int column) const; - inline int rowSpan(int row, int column) const { - return span(row, column).height(); - } - inline int columnSpan(int row, int column) const { - return span(row, column).width(); - } - inline bool hasSpans() const { - return !spans.spans.isEmpty(); - } - inline int rowSpanHeight(int row, int span) const { - return sectionSpanSize(verticalHeader, row, span); - } - inline int columnSpanWidth(int column, int span) const { - return sectionSpanSize(horizontalHeader, column, span); - } - inline int rowSpanEndLogical(int row, int span) const { - return sectionSpanEndLogical(verticalHeader, row, span); - } - inline int columnSpanEndLogical(int column, int span) const { - return sectionSpanEndLogical(horizontalHeader, column, span); - } - - inline bool isRowHidden(int row) const { - return verticalHeader->isSectionHidden(row); - } - inline bool isColumnHidden(int column) const { - return horizontalHeader->isSectionHidden(column); - } - inline bool isCellEnabled(int row, int column) const { - return isIndexEnabled(model->index(row, column, root)); - } - inline bool isVisualRowHiddenOrDisabled(int row, int column) const { - int r = logicalRow(row); - int c = logicalColumn(column); - return isRowHidden(r) || !isCellEnabled(r, c); - } - inline bool isVisualColumnHiddenOrDisabled(int row, int column) const { - int r = logicalRow(row); - int c = logicalColumn(column); - return isColumnHidden(c) || !isCellEnabled(r, c); - } - - QRect visualSpanRect(const QSpanCollection::Span &span) const; - - void _q_selectRow(int row); - void _q_selectColumn(int column); - - void selectRow(int row, bool anchor); - void selectColumn(int column, bool anchor); - - void _q_updateSpanInsertedRows(const QModelIndex &parent, int start, int end); - void _q_updateSpanInsertedColumns(const QModelIndex &parent, int start, int end); - void _q_updateSpanRemovedRows(const QModelIndex &parent, int start, int end); - void _q_updateSpanRemovedColumns(const QModelIndex &parent, int start, int end); -}; - -QT_END_NAMESPACE - -#endif // QT_NO_TABLEVIEW - -#endif // QTABLEVIEW_P_H -- cgit v1.2.3