/**************************************************************************** ** ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the Itemviews NG project on Trolltech Labs. ** ** GNU Lesser General Public License Usage ** 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. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@nokia.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. ** ****************************************************************************/ #ifndef QTGRAPHICSTABLEVIEW_P_H #define QTGRAPHICSTABLEVIEW_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 "qtableselectionmanager.h" QT_BEGIN_NAMESPACE class QtTableModelInterface; class QtTableSelectionManager; class QtTableSelectionRange; class QtTableController; class QtGraphicsHeader; class QtGraphicsTableView; class QtGraphicsTableViewItemPrivate { Q_DECLARE_PUBLIC(QtGraphicsTableViewItem) public: int row; int column; QtGraphicsTableView *view; mutable QStyleOptionViewItemV4 option; QtGraphicsTableViewItem *q_ptr; }; class QtGraphicsTableViewPrivate { Q_DECLARE_PUBLIC(QtGraphicsTableView) public: QtGraphicsTableViewPrivate(); ~QtGraphicsTableViewPrivate(); void _q_controllerDestroyed(); void _q_modelDestroyed(); void _q_selectionsDestroyed(); void _q_verticalHeaderDestroyed(); void _q_horizontalHeaderDestroyed(); void _q_cellsChanged(int firstRow, int firstColumn, int rowCount, int columnCount, const QList &roles); void _q_selectionsChanged(const QList &changed); void _q_currentChanged(int currentRow, int currentColumn, int previousRow, int previousColumn); void _q_rowsInserted(int row, int count); void _q_rowsRemoved(int row, int count); void _q_rowsMoved(int from, int to, int count); void _q_columnsInserted(int column, int count); void _q_columnsRemoved(int column, int count); void _q_columnsMoved(int from, int to, int count); bool isSelected(int row, int column) const; bool isCurrent(int row, int column) const; void checkItems(int firstRow, int firstColumn, int rowCount, int columnCount); void checkCache(int firstRow, int firstColumn, int rowCount, int columnCount); QVariant cachedData(int row, int column, const QByteArray &role) const; QtTableController *controller; QtTableModelInterface *model; QtTableSelectionManager *selectionManager; QtGraphicsHeader *horizontalHeader; QtGraphicsHeader *verticalHeader; Qt::TextElideMode textElideMode; // only used when we have no headers qreal defaultRowHeight; qreal defaultColumnWidth; int firstRow; int firstColumn; qreal horizontalOffset; qreal verticalOffset; bool showGrid; // cached data mutable QHash cachedDataHash; mutable int cachedDataRow; mutable int cachedDataColumn; // view items QtTableSelectionRange visibleSections; QHash items; QtGraphicsTableViewItemCreatorBase *creator; QtGraphicsTableView *q_ptr; }; QT_END_NAMESPACE #endif//QTGRAPHICSTABLEVIEW_P_H