Source:NetHack 3.4.0/qttableview.h

From NetHackWiki
Revision as of 13:47, 4 March 2008 by Kernigh bot (talk | contribs) (NetHack 3.4.0/qttableview.h moved to Source:NetHack 3.4.0/qttableview.h: Robot: moved page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Warning! This is the source code from an old release. For the latest release, see Source code

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

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