Source:NetHack 3.4.3/include/qttableview.h

From NetHackWiki
Jump to: navigation, search

Below is the full text to include/qttableview.h from NetHack 3.4.3. To link to a particular line, write [[qttableview.h#line123]], for example.

  1. /**********************************************************************
  2. ** $Id: qttableview.h,v 1.2 2002/03/09 03:13:13 jwalz Exp $
  3. **
  4. ** Definition of QtTableView class
  5. **
  6. ** Created : 941115
  7. **
  8. ** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
  9. **
  10. ** This file contains a class moved out of the Qt GUI Toolkit API. It
  11. ** may be used, distributed and modified without limitation.
  12. **
  13. **********************************************************************/
  14.  
  15. #ifndef QTTABLEVIEW_H
  16. #define QTTABLEVIEW_H
  17.  
  18. #ifndef QT_H
  19. #include <qframe.h>
  20. #endif // QT_H
  21.  
  22. #ifndef QT_NO_QTTABLEVIEW
  23.  
  24. class QScrollBar;
  25. class QCornerSquare;
  26.  
  27.  
  28. class QtTableView : public QFrame
  29. {
  30. Q_OBJECT
  31. public:
  32. virtual void setBackgroundColor( const QColor & );
  33. virtual void setPalette( const QPalette & );
  34. void	show();
  35.  
  36. void	repaint( bool erase=TRUE );
  37. void	repaint( int x, int y, int w, int h, bool erase=TRUE );
  38. void	repaint( const QRect &, bool erase=TRUE );
  39.  
  40. protected:
  41. QtTableView( QWidget *parent=0, const char *name=0, WFlags f=0 );
  42. ~QtTableView();
  43.  
  44. int		numRows()	const;
  45. virtual void setNumRows( int );
  46. int		numCols()	const;
  47. virtual void setNumCols( int );
  48.  
  49. int		topCell()	const;
  50. virtual void setTopCell( int row );
  51. int		leftCell()	const;
  52. virtual void setLeftCell( int col );
  53. virtual void setTopLeftCell( int row, int col );
  54.  
  55. int		xOffset()	const;
  56. virtual void setXOffset( int );
  57. int		yOffset()	const;
  58. virtual void setYOffset( int );
  59. virtual void setOffset( int x, int y, bool updateScrBars = TRUE );
  60.  
  61. virtual int cellWidth( int col );
  62. virtual int cellHeight( int row );
  63. int		cellWidth()	const;
  64. int		cellHeight()	const;
  65. virtual void setCellWidth( int );
  66. virtual void setCellHeight( int );
  67.  
  68. virtual int totalWidth();
  69. virtual int totalHeight();
  70.  
  71. uint	tableFlags()	const;
  72. bool	testTableFlags( uint f ) const;
  73. virtual void setTableFlags( uint f );
  74. void	clearTableFlags( uint f = ~0 );
  75.  
  76. bool	autoUpdate()	 const;
  77. virtual void setAutoUpdate( bool );
  78.  
  79. void	updateCell( int row, int column, bool erase=TRUE );
  80.  
  81. QRect	cellUpdateRect() const;
  82. QRect	viewRect()	 const;
  83.  
  84. int		lastRowVisible() const;
  85. int		lastColVisible() const;
  86.  
  87. bool	rowIsVisible( int row ) const;
  88. bool	colIsVisible( int col ) const;
  89.  
  90. QScrollBar *verticalScrollBar() const;
  91. QScrollBar *horizontalScrollBar() const;
  92.  
  93. private slots:
  94. void	horSbValue( int );
  95. void	horSbSliding( int );
  96. void	horSbSlidingDone();
  97. void	verSbValue( int );
  98. void	verSbSliding( int );
  99. void	verSbSlidingDone();
  100.  
  101. protected:
  102. virtual void paintCell( QPainter *, int row, int col ) = 0;
  103. virtual void setupPainter( QPainter * );
  104.  
  105. void	paintEvent( QPaintEvent * );
  106. void	resizeEvent( QResizeEvent * );
  107.  
  108. int		findRow( int yPos ) const;
  109. int		findCol( int xPos ) const;
  110.  
  111. bool	rowYPos( int row, int *yPos ) const;
  112. bool	colXPos( int col, int *xPos ) const;
  113.  
  114. int		maxXOffset();
  115. int		maxYOffset();
  116. int		maxColOffset();
  117. int		maxRowOffset();
  118.  
  119. int		minViewX()	const;
  120. int		minViewY()	const;
  121. int		maxViewX()	const;
  122. int		maxViewY()	const;
  123. int		viewWidth()	const;
  124. int		viewHeight()	const;
  125.  
  126. void	scroll( int xPixels, int yPixels );
  127. void	updateScrollBars();
  128. void	updateTableSize();
  129.  
  130. private:
  131. void	coverCornerSquare( bool );
  132. void	snapToGrid( bool horizontal, bool vertical );
  133. virtual void	setHorScrollBar( bool on, bool update = TRUE );
  134. virtual void	setVerScrollBar( bool on, bool update = TRUE );
  135. void	updateView();
  136. int		findRawRow( int yPos, int *cellMaxY, int *cellMinY = 0,
  137. 			    bool goOutsideView = FALSE ) const;
  138. int		findRawCol( int xPos, int *cellMaxX, int *cellMinX = 0,
  139. 			    bool goOutsideView = FALSE ) const;
  140. int		maxColsVisible() const;
  141.  
  142. void	updateScrollBars( uint );
  143. void	updateFrameSize();
  144.  
  145. void	doAutoScrollBars();
  146. void	showOrHideScrollBars();
  147.  
  148. int		nRows;
  149. int		nCols;
  150. int		xOffs, yOffs;
  151. int		xCellOffs, yCellOffs;
  152. short	xCellDelta, yCellDelta;
  153. short	cellH, cellW;
  154.  
  155. uint	eraseInPaint		: 1;
  156. uint	verSliding		: 1;
  157. uint	verSnappingOff		: 1;
  158. uint	horSliding		: 1;
  159. uint	horSnappingOff		: 1;
  160. uint	coveringCornerSquare	: 1;
  161. uint	sbDirty			: 8;
  162. uint	inSbUpdate		: 1;
  163.  
  164. uint	tFlags;
  165. QRect	cellUpdateR;
  166.  
  167. QScrollBar *vScrollBar;
  168. QScrollBar *hScrollBar;
  169. QCornerSquare *cornerSquare;
  170.  
  171. private:	// Disabled copy constructor and operator=
  172. #if defined(Q_DISABLE_COPY)
  173. QtTableView( const QtTableView & );
  174. QtTableView &operator=( const QtTableView & );
  175. #endif
  176. };
  177.  
  178.  
  179. const uint Tbl_vScrollBar	= 0x00000001;
  180. const uint Tbl_hScrollBar	= 0x00000002;
  181. const uint Tbl_autoVScrollBar	= 0x00000004;
  182. const uint Tbl_autoHScrollBar	= 0x00000008;
  183. const uint Tbl_autoScrollBars	= 0x0000000C;
  184.  
  185. const uint Tbl_clipCellPainting = 0x00000100;
  186. const uint Tbl_cutCellsV	= 0x00000200;
  187. const uint Tbl_cutCellsH	= 0x00000400;
  188. const uint Tbl_cutCells		= 0x00000600;
  189.  
  190. const uint Tbl_scrollLastHCell	= 0x00000800;
  191. const uint Tbl_scrollLastVCell	= 0x00001000;
  192. const uint Tbl_scrollLastCell	= 0x00001800;
  193.  
  194. const uint Tbl_smoothHScrolling = 0x00002000;
  195. const uint Tbl_smoothVScrolling = 0x00004000;
  196. const uint Tbl_smoothScrolling	= 0x00006000;
  197.  
  198. const uint Tbl_snapToHGrid	= 0x00008000;
  199. const uint Tbl_snapToVGrid	= 0x00010000;
  200. const uint Tbl_snapToGrid	= 0x00018000;
  201.  
  202.  
  203. inline int QtTableView::numRows() const
  204. { return nRows; }
  205.  
  206. inline int QtTableView::numCols() const
  207. { return nCols; }
  208.  
  209. inline int QtTableView::topCell() const
  210. { return yCellOffs; }
  211.  
  212. inline int QtTableView::leftCell() const
  213. { return xCellOffs; }
  214.  
  215. inline int QtTableView::xOffset() const
  216. { return xOffs; }
  217.  
  218. inline int QtTableView::yOffset() const
  219. { return yOffs; }
  220.  
  221. inline int QtTableView::cellHeight() const
  222. { return cellH; }
  223.  
  224. inline int QtTableView::cellWidth() const
  225. { return cellW; }
  226.  
  227. inline uint QtTableView::tableFlags() const
  228. { return tFlags; }
  229.  
  230. inline bool QtTableView::testTableFlags( uint f ) const
  231. { return (tFlags & f) != 0; }
  232.  
  233. inline QRect QtTableView::cellUpdateRect() const
  234. { return cellUpdateR; }
  235.  
  236. inline bool QtTableView::autoUpdate() const
  237. { return isUpdatesEnabled(); }
  238.  
  239. inline void QtTableView::repaint( bool erase )
  240. { repaint( 0, 0, width(), height(), erase ); }
  241.  
  242. inline void QtTableView::repaint( const QRect &r, bool erase )
  243. { repaint( r.x(), r.y(), r.width(), r.height(), erase ); }
  244.  
  245. inline void QtTableView::updateScrollBars()
  246. { updateScrollBars( 0 ); }
  247.  
  248.  
  249. #endif // QT_NO_QTTABLEVIEW
  250.  
  251. #endif // QTTABLEVIEW_H