This is the verbatim text of the qtablew.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.
/********************************************************************** ** $Id: qtablew.h,v 1.14 1995/06/23 10:52:20 eiriken Exp $ ** ** Definition of QTableWidget class ** ** Author : Eirik Eng ** Created : 941115 ** ** Copyright (C) 1994,1995 by Troll Tech AS. All rights reserved. ** ***********************************************************************/ #ifndef QTABLEW_H #define QTABLEW_H #include "qframe.h" class QScrollBar; class CornerSquare; class QTableWidget : public QFrame { Q_OBJECT public: void setBackgroundColor( const QColor & ); void setPalette( const QPalette & ); void show(); protected: QTableWidget( QWidget *parent=0, const char *name=0, WFlags f=0 ); ~QTableWidget(); void setNumRows( long ); void setNumCols( long ); long numRows() const; long numCols() const; long topCell() const; long leftCell() const; long xOffset() const { return xOffs; } long yOffset() const { return yOffs; } virtual int cellHeight( long row ); virtual int cellWidth( long col ); int cellHeight() const; int cellWidth() const; void setCellHeight( int ); void setCellWidth( int ); virtual long totalHeight(); virtual long totalWidth(); ulong tableFlags() const; void setTableFlags( ulong f ); void clearTableFlags( ulong f = ~0 ); bool testTableFlag( ulong f ) const; bool autoUpdate() const; void setAutoUpdate( bool ); void updateCell( long row, long column, bool erase=TRUE ); QRect cellUpdateRect() const; QRect windowRect() const; long lastRowVisible() const; long lastColVisible() const; bool rowIsVisible( long row ) const; bool colIsVisible( long col ) const; void repaint( bool erase=TRUE ); // repaint table void repaint( int x, int y, int w, int h, bool erase=TRUE ); void repaint( const QRect &, bool erase=TRUE ); void setXOffset( long x ); void setYOffset( long y); void setOffset( long x, long y, bool update = TRUE ); void setTopCell( long row ); void setLeftCell( long col ); void setTopLeftCell( long row, long col ); // Not implemented private slots: void horSbValue( long val ); void horSbSliding( long val ); void horSbSlidingDone(); void verSbValue( long val ); void verSbSliding( long val ); void verSbSlidingDone(); protected: virtual void paintCell( QPainter *, long row, long col )=0; virtual void setupPainter( QPainter * ); void paintEvent( QPaintEvent * ); void resizeEvent( QResizeEvent * ); long findRow( int yPos ) const; long findCol( int xPos ) const; bool rowYPos( long row, int *xPos ) const; bool colXPos( long col, int *yPos ) const; long maxXOffset(); long maxYOffset(); long maxColOffset(); long maxRowOffset(); int maxWindowX() const; int maxWindowY() const; int windowWidth() const; int windowHeight() const; void scroll( int xPixels, int yPixels ); void updateScrollBars(); private: void coverCornerSquare( bool ); void snapToGrid( bool horizontal, bool vertical ); void setHorScrollBar( bool on, bool update = TRUE ); void setVerScrollBar( bool on, bool update = TRUE ); void updateWindow(); long findRawRow( int yPos, int *cellMaxY, int *cellMinY = 0, bool goOutsideWindow = FALSE ) const; long findRawCol( int xPos, int *cellMaxX, int *cellMinX = 0, bool goOutsideWindow = FALSE ) const; int maxColsVisible() const; void updateScrollBars( uint ); void updateFrameSize(); void doAutoScrollBars(); void showOrHideScrollBars(); long nRows; long nCols; long xOffs, yOffs; long xCellOffs, yCellOffs; short xCellDelta, yCellDelta; short cellH, cellW; uint doUpdate : 1; uint eraseInPaint : 1; uint verSliding : 1; uint verSnappingOff : 1; uint horSliding : 1; uint horSnappingOff : 1; uint coveringCornerSquare : 1; uint sbDirty : 8; uint inSbUpdate : 1; ulong tFlags; QRect cellUpdateR; QScrollBar *vScrollBar; QScrollBar *hScrollBar; CornerSquare *cornerSquare; }; const ulong Tbl_vScrollBar = 0x00000001; const ulong Tbl_hScrollBar = 0x00000002; const ulong Tbl_autoVScrollBar = 0x00000004; const ulong Tbl_autoHScrollBar = 0x00000008; const ulong Tbl_autoScrollBars = 0x0000000C; const ulong Tbl_clipCellPainting = 0x00000100; const ulong Tbl_cutCellsV = 0x00000200; const ulong Tbl_cutCellsH = 0x00000400; const ulong Tbl_cutCells = 0x00000600; const ulong Tbl_scrollLastHCell = 0x00000800; const ulong Tbl_scrollLastVCell = 0x00001000; const ulong Tbl_scrollLastCell = 0x00001800; const ulong Tbl_smoothHScrolling = 0x00002000; const ulong Tbl_smoothVScrolling = 0x00004000; const ulong Tbl_smoothScrolling = 0x00006000; const ulong Tbl_snapToHGrid = 0x00008000; const ulong Tbl_snapToVGrid = 0x00010000; const ulong Tbl_snapToGrid = 0x00018000; inline long QTableWidget::numRows() const { return nRows; } inline long QTableWidget::numCols() const { return nCols; } inline int QTableWidget::cellHeight() const { return cellH; } inline int QTableWidget::cellWidth() const { return cellW; } inline ulong QTableWidget::tableFlags() const { return tFlags; } inline bool QTableWidget::testTableFlag( ulong f ) const { return (tFlags & f) != 0; } inline QRect QTableWidget::cellUpdateRect() const { return cellUpdateR; } inline long QTableWidget::topCell() const { return yCellOffs; } inline long QTableWidget::leftCell() const { return xCellOffs; } inline bool QTableWidget::autoUpdate() const { return doUpdate; } inline void QTableWidget::repaint( bool erase ) { repaint( rect(), erase ); } inline void QTableWidget::repaint( int x, int y, int w, int h, bool erase ) { repaint( QRect(x,y,w,h), erase ); } inline void QTableWidget::updateScrollBars() { updateScrollBars( 0 ); } #endif // QTABLEW_H