summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/widgets/tqgridview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/src/widgets/tqgridview.cpp')
-rw-r--r--tqtinterface/qt4/src/widgets/tqgridview.cpp374
1 files changed, 0 insertions, 374 deletions
diff --git a/tqtinterface/qt4/src/widgets/tqgridview.cpp b/tqtinterface/qt4/src/widgets/tqgridview.cpp
deleted file mode 100644
index d4c1638..0000000
--- a/tqtinterface/qt4/src/widgets/tqgridview.cpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQGridView class
-**
-** Created : 010523
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-
-#include "tqgridview.h"
-
-#ifndef TQT_NO_GRIDVIEW
-
-#include "tqpainter.h"
-
-/*!
- \class TQGridView tqgridview.h
- \brief The TQGridView class provides an abstract base for
- fixed-size grids.
-
- \ingroup abstractwidgets
-
- A grid view consists of a number of abstract cells organized in
- rows and columns. The cells have a fixed size and are identified
- with a row index and a column index. The top-left cell is in row
- 0, column 0. The bottom-right cell is in row numRows()-1, column
- numCols()-1.
-
- You can define \l numRows, \l numCols, \l cellWidth and \l
- cellHeight. Reimplement the pure virtual function paintCell() to
- draw the contents of a cell.
-
- With ensureCellVisible(), you can ensure a certain cell is
- visible. With rowAt() and columnAt() you can find a cell based on
- the given x- and y-coordinates.
-
- If you need to monitor changes to the grid's dimensions (i.e. when
- numRows or numCols is changed), reimplement the dimensionChange()
- change handler.
-
- Note: the row and column indices are always given in the order,
- row (vertical offset) then column (horizontal offset). This order
- is the opposite of all pixel operations, which are given in the
- order x (horizontal offset), y (vertical offset).
-
- TQGridView is a very simple abstract class based on TQScrollView. It
- is designed to simplify the task of drawing many cells of the same
- size in a potentially scrollable canvas. If you need rows and
- columns with different sizes, use a TQTable instead. If you need a
- simple list of items, use a TQListBox. If you need to present
- hierachical data use a TQListView, and if you need random objects
- at random positions, consider using either a TQIconView or a
- TQCanvas.
-*/
-
-
-/*!
- Constructs a grid view.
-
- The \a parent, \a name and widget flag, \a f, arguments are passed
- to the TQScrollView constructor.
-*/
-TQGridView::TQGridView( TQWidget *parent, const char *name, WFlags f )
- :TQScrollView( parent, name, (WFlags)(f | TQt::WStaticContents) ),
- nrows( 5 ), ncols( 5 ), cellw( 12 ), cellh( 12 )
-{
- viewport()->setBackgroundMode( TQt::PaletteBase );
- setBackgroundMode( TQt::PaletteBackground, TQt::PaletteBase );
- viewport()->setFocusProxy( this );
-}
-
-/*!
- Destroys the grid view.
-*/
-TQGridView::~TQGridView()
-{
-}
-
-void TQGridView::updateGrid()
-{
- resizeContents( ncols * cellw, nrows * cellh );
-}
-
-/*!
- \property TQGridView::numRows
- \brief The number of rows in the grid
-
- \sa numCols
-*/
-void TQGridView::setNumRows( int numRows )
-{
- int oldnrows = nrows;
- nrows = numRows;
- dimensionChange( oldnrows, ncols );
- updateGrid();
-}
-
-/*!
- \property TQGridView::numCols
- \brief The number of columns in the grid
-
- \sa numRows
-*/
-void TQGridView::setNumCols( int numCols )
-{
- int oldncols = ncols;
- ncols = numCols;
- dimensionChange( nrows, oldncols );
- updateGrid();
-}
-
-/*!
- \property TQGridView::cellWidth
- \brief The width of a grid column
-
- All columns in a grid view have the same width.
-
- \sa cellHeight
-*/
-void TQGridView::setCellWidth( int cellWidth )
-{
- cellw = cellWidth;
- updateGrid();
- updateContents();
-}
-
-/*!
- \property TQGridView::cellHeight
- \brief The height of a grid row
-
- All rows in a grid view have the same height.
-
- \sa cellWidth
-*/
-void TQGridView::setCellHeight( int cellHeight )
-{
- cellh = cellHeight;
- updateGrid();
- updateContents();
-}
-
-/*!
- Returns the tqgeometry of cell (\a row, \a column) in the content
- coordinate system.
-
- \sa cellRect()
- */
-TQRect TQGridView::cellGeometry( int row, int column )
-{
- TQRect r;
- if ( row >= 0 && row < nrows && column >= 0 && column < ncols )
- r.setRect( cellw * column, cellh * row, cellw, cellh );
- return r;
-}
-
-/*!
- Repaints cell (\a row, \a column).
-
- If \a erase is TRUE, TQt erases the area of the cell before the
- paintCell() call; otherwise no erasing takes place.
-
- \sa TQWidget::tqrepaint()
-*/
-void TQGridView::repaintCell( int row, int column, bool erase )
-{
- repaintContents( cellGeometry( row, column ), erase );
-}
-
-/*!
- Updates cell (\a row, \a column).
-
- \sa TQWidget::update()
-*/
-void TQGridView::updateCell( int row, int column )
-{
- updateContents( cellGeometry( row, column ) );
-}
-
-/*!
- Ensures cell (\a row, \a column) is visible, scrolling the grid
- view if necessary.
-*/
-void TQGridView::ensureCellVisible( int row, int column )
-{
- TQRect r = cellGeometry( row, column );
- ensureVisible( r.x(), r.y(), r.width(), r.height() );
-}
-
-/*!
- This function fills the \a cw pixels wide and \a ch pixels high
- rectangle starting at position (\a cx, \a cy) with the background
- color using the painter \a p.
-
- paintEmptyArea() is invoked by drawContents() to erase or fill
- unused areas.
-*/
-
-void TQGridView::paintEmptyArea( TQPainter *p, int cx ,int cy, int cw, int ch)
-{
- if ( gridSize().width() >= contentsWidth() && gridSize().height() >= contentsHeight() )
- return;
- // Region of the rect we should draw
- contentsToViewport( cx, cy, cx, cy );
- TQRegion reg( TQRect( cx, cy, cw, ch ) );
- // Subtract the table from it
- reg = reg.subtract( TQRect( contentsToViewport( TQPoint( 0, 0 ) ), gridSize() ) );
-
- // And draw the rectangles (transformed as needed)
-#ifdef USE_QT4
- QVector<QRect> r;
-#else // USE_QT4
- TQMemArray<TQRect> r;
-#endif // USE_QT4
- r = reg.rects();
- const TQBrush &brush = backgroundBrush();
- for ( int i = 0; i < (int)r.count(); ++i)
- p->fillRect( r[ i ], brush );
-}
-
-/*!\reimp
- */
-void TQGridView::drawContents( TQPainter *p, int cx, int cy, int cw, int ch )
-{
- int colfirst = columnAt( cx );
- int collast = columnAt( cx + cw );
- int rowfirst = rowAt( cy );
- int rowlast = rowAt( cy + ch );
-
- if ( rowfirst == -1 || colfirst == -1 ) {
- paintEmptyArea( p, cx, cy, cw, ch );
- return;
- }
-
- if ( collast < 0 || collast >= ncols )
- collast = ncols-1;
- if ( rowlast < 0 || rowlast >= nrows )
- rowlast = nrows-1;
-
- // Go through the rows
- for ( int r = rowfirst; r <= rowlast; ++r ) {
- // get row position and height
- int rowp = r * cellh;
-
- // Go through the columns in the row r
- // if we know from where to where, go through [colfirst, collast],
- // else go through all of them
- for ( int c = colfirst; c <= collast; ++c ) {
- // get position and width of column c
- int colp = c * cellw;
- // Translate painter and draw the cell
- p->translate( colp, rowp );
- paintCell( p, r, c );
- p->translate( -colp, -rowp );
- }
- }
-
- // Paint empty rects
- paintEmptyArea( p, cx, cy, cw, ch );
-}
-
-/*!
- \reimp
-
- (Implemented to get rid of a compiler warning.)
-*/
-void TQGridView::drawContents( TQPainter * )
-{
-}
-
-/*!
- \fn void TQGridView::dimensionChange( int oldNumRows, int oldNumCols )
-
- This change handler is called whenever any of the grid's
- dimensions change. \a oldNumRows and \a oldNumCols contain the
- old dimensions, numRows() and numCols() contain the new
- dimensions.
-*/
-void TQGridView::dimensionChange( int, int ) {}
-
-
-
-/*!
- \fn int TQGridView::rowAt( int y ) const
-
- Returns the number of the row at position \a y. \a y must be given
- in content coordinates.
-
- \sa columnAt()
-*/
-
-/*!
- \fn int TQGridView::columnAt( int x ) const
-
- Returns the number of the column at position \a x. \a x must be
- given in content coordinates.
-
- \sa rowAt()
-*/
-
-/*!
- \fn void TQGridView::paintCell( TQPainter *p, int row, int col )
-
- This pure virtual function is called to paint the single cell at
- (\a row, \a col) using painter \a p. The painter must be open when
- paintCell() is called and must remain open.
-
- The coordinate system is \link TQPainter::translate() translated
- \endlink so that the origin is at the top-left corner of the cell
- to be painted, i.e. \e cell coordinates. Do not scale or shear
- the coordinate system (or if you do, restore the transformation
- matrix before you return).
-
- The painter is not clipped by default in order to get maximum
- efficiency. If you want clipping, use
-
- \code
- p->setClipRect( cellRect(), TQPainter::CoordPainter );
- //... your drawing code
- p->setClipping( FALSE );
-
- \endcode
-*/
-
-/*!
- \fn TQRect TQGridView::cellRect() const
-
- Returns the tqgeometry of a cell in a cell's coordinate system. This
- is a convenience function useful in paintCell(). It is equivalent
- to TQRect( 0, 0, cellWidth(), cellHeight() ).
-
- \sa cellGeometry()
-
-*/
-
-/*!
- \fn TQSize TQGridView::gridSize() const
-
- Returns the size of the grid in pixels.
-
-*/
-
-#endif // TQT_NO_GRIDVIEW