📄 q3table.h
字号:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the Qt3Support module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file. Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.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 Q3TABLE_H#define Q3TABLE_H#include <Qt3Support/q3scrollview.h>#include <QtGui/qpixmap.h>#include <Qt3Support/q3ptrvector.h>#include <Qt3Support/q3header.h>#include <Qt3Support/q3memarray.h>#include <Qt3Support/q3ptrlist.h>#include <Qt3Support/q3shared.h>#include <Qt3Support/q3intdict.h>#include <QtCore/qstringlist.h>QT_BEGIN_HEADERQT_MODULE(Qt3Support)class Q3TableHeader;class QValidator;class Q3Table;class QPaintEvent;class QTimer;class QResizeEvent;class QComboBox;class QCheckBox;class Q3DragObject;struct Q3TablePrivate;struct Q3TableHeaderPrivate;class Q_COMPAT_EXPORT Q3TableSelection{public: Q3TableSelection(); Q3TableSelection(int start_row, int start_col, int end_row, int end_col); void init(int row, int col); void expandTo(int row, int col); bool operator==(const Q3TableSelection &s) const; bool operator!=(const Q3TableSelection &s) const { return !(operator==(s)); } int topRow() const { return tRow; } int bottomRow() const { return bRow; } int leftCol() const { return lCol; } int rightCol() const { return rCol; } int anchorRow() const { return aRow; } int anchorCol() const { return aCol; } int numRows() const; int numCols() const; bool isActive() const { return active; } bool isEmpty() const { return numRows() == 0; }private: uint active : 1; uint inited : 1; int tRow, lCol, bRow, rCol; int aRow, aCol;};class Q_COMPAT_EXPORT Q3TableItem{ friend class Q3Table;public: enum EditType { Never, OnTyping, WhenCurrent, Always }; Q3TableItem(Q3Table *table, EditType et); Q3TableItem(Q3Table *table, EditType et, const QString &text); Q3TableItem(Q3Table *table, EditType et, const QString &text, const QPixmap &p); virtual ~Q3TableItem(); virtual QPixmap pixmap() const; virtual QString text() const; virtual void setPixmap(const QPixmap &p); virtual void setText(const QString &t); Q3Table *table() const { return t; } virtual int alignment() const; virtual void setWordWrap(bool b); bool wordWrap() const; EditType editType() const; virtual QWidget *createEditor() const; virtual void setContentFromEditor(QWidget *w); virtual void setReplaceable(bool); bool isReplaceable() const; virtual QString key() const; virtual QSize sizeHint() const; virtual void setSpan(int rs, int cs); int rowSpan() const; int colSpan() const; virtual void setRow(int r); virtual void setCol(int c); int row() const; int col() const; virtual void paint(QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected); void updateEditor(int oldRow, int oldCol); virtual void setEnabled(bool b); bool isEnabled() const; virtual int rtti() const; static int RTTI;private: QString txt; QPixmap pix; Q3Table *t; EditType edType; uint wordwrap : 1; uint tcha : 1; uint enabled : 1; int rw, cl; int rowspan, colspan;};class Q_COMPAT_EXPORT Q3ComboTableItem : public Q3TableItem{public: Q3ComboTableItem(Q3Table *table, const QStringList &list, bool editable = false); ~Q3ComboTableItem(); virtual QWidget *createEditor() const; virtual void setContentFromEditor(QWidget *w); virtual void paint(QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected); virtual void setCurrentItem(int i); virtual void setCurrentItem(const QString &i); int currentItem() const; QString currentText() const; int count() const;#if !defined(Q_NO_USING_KEYWORD) using Q3TableItem::text;#else inline QString text() const { return Q3TableItem::text(); }#endif QString text(int i) const; virtual void setEditable(bool b); bool isEditable() const; virtual void setStringList(const QStringList &l); int rtti() const; static int RTTI; QSize sizeHint() const;private: QComboBox *cb; QStringList entries; int current; bool edit; static QComboBox *fakeCombo; static QWidget *fakeComboWidget; static int fakeRef;};class Q_COMPAT_EXPORT Q3CheckTableItem : public Q3TableItem{public: Q3CheckTableItem(Q3Table *table, const QString &txt); void setText(const QString &t); virtual QWidget *createEditor() const; virtual void setContentFromEditor(QWidget *w); virtual void paint(QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected); virtual void setChecked(bool b); bool isChecked() const; int rtti() const; static int RTTI; QSize sizeHint() const;private: QCheckBox *cb; bool checked;};class Q_COMPAT_EXPORT Q3Table : public Q3ScrollView{ Q_OBJECT Q_ENUMS(SelectionMode FocusStyle) Q_PROPERTY(int numRows READ numRows WRITE setNumRows) Q_PROPERTY(int numCols READ numCols WRITE setNumCols) Q_PROPERTY(bool showGrid READ showGrid WRITE setShowGrid) Q_PROPERTY(bool rowMovingEnabled READ rowMovingEnabled WRITE setRowMovingEnabled) Q_PROPERTY(bool columnMovingEnabled READ columnMovingEnabled WRITE setColumnMovingEnabled) Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly) Q_PROPERTY(bool sorting READ sorting WRITE setSorting) Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode) Q_PROPERTY(FocusStyle focusStyle READ focusStyle WRITE setFocusStyle) Q_PROPERTY(int numSelections READ numSelections) friend class Q3TableHeader; friend class Q3ComboTableItem; friend class Q3CheckTableItem; friend class Q3TableItem;public: Q3Table(QWidget* parent=0, const char* name=0); Q3Table(int numRows, int numCols, QWidget* parent=0, const char* name=0); ~Q3Table(); Q3Header *horizontalHeader() const; Q3Header *verticalHeader() const; enum SelectionMode { Single, Multi, SingleRow, MultiRow, NoSelection }; virtual void setSelectionMode(SelectionMode mode); SelectionMode selectionMode() const; virtual void setItem(int row, int col, Q3TableItem *item); virtual void setText(int row, int col, const QString &text); virtual void setPixmap(int row, int col, const QPixmap &pix); virtual Q3TableItem *item(int row, int col) const; virtual QString text(int row, int col) const; virtual QPixmap pixmap(int row, int col) const; virtual void clearCell(int row, int col); virtual QRect cellGeometry(int row, int col) const; virtual int columnWidth(int col) const; virtual int rowHeight(int row) const; virtual int columnPos(int col) const; virtual int rowPos(int row) const; virtual int columnAt(int x) const; virtual int rowAt(int y) const; virtual int numRows() const; virtual int numCols() const; void updateCell(int row, int col);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -