summaryrefslogtreecommitdiffstats
path: root/examples/gridview/gridview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/gridview/gridview.cpp')
-rw-r--r--examples/gridview/gridview.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/gridview/gridview.cpp b/examples/gridview/gridview.cpp
new file mode 100644
index 0000000..06a6017
--- /dev/null
+++ b/examples/gridview/gridview.cpp
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include <qapplication.h>
+#include <qgridview.h>
+#include <qpainter.h>
+
+// Grid size
+const int numRows = 100;
+const int numCols = 100;
+
+class MyGridView : public QGridView
+{
+public:
+ MyGridView() {
+ setNumRows( ::numRows );
+ setNumCols( ::numCols );
+ setCellWidth( fontMetrics().width( QString("%1 / %2").arg(numRows()).arg(numCols())));
+ setCellHeight( 2*fontMetrics().lineSpacing() );
+ setCaption( tr( "Qt Example - This is a grid with 100 x 100 cells" ) );
+ }
+
+protected:
+ void paintCell( QPainter *p, int row, int col ) {
+ p->drawLine( cellWidth()-1, 0, cellWidth()-1, cellHeight()-1 );
+ p->drawLine( 0, cellHeight()-1, cellWidth()-1, cellHeight()-1 );
+ p->drawText( cellRect(), AlignCenter, QString("%1 / %1").arg(row).arg(col) );
+ }
+};
+
+// The program starts here.
+int main( int argc, char **argv )
+{
+ QApplication app( argc, argv );
+
+ MyGridView gridview;
+ app.setMainWidget( &gridview );
+ gridview.show();
+ return app.exec();
+}