diff options
Diffstat (limited to 'examples/splitter')
-rw-r--r-- | examples/splitter/splitter.cpp | 99 | ||||
-rw-r--r-- | examples/splitter/splitter.doc | 17 | ||||
-rw-r--r-- | examples/splitter/splitter.pro | 10 |
3 files changed, 126 insertions, 0 deletions
diff --git a/examples/splitter/splitter.cpp b/examples/splitter/splitter.cpp new file mode 100644 index 000000000..684818a30 --- /dev/null +++ b/examples/splitter/splitter.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for TQt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +#include <qapplication.h> +#include <qlabel.h> +#include <qsplitter.h> +#include <qmultilineedit.h> + +#include <qpainter.h> + + +class Test : public TQWidget { +public: + Test(TQWidget* parent=0, const char* name=0, int f=0); + void paintEvent(TQPaintEvent* e); +private: +}; + + + +Test::Test(TQWidget* parent, const char* name, int f) : + TQWidget(parent, name, f) +{ + +} + +void Test::paintEvent(TQPaintEvent* e) +{ + TQPainter p(this); + p.setClipRect(e->rect()); + const int d = 1000; //large number + int x1 = 0; + int x2 = width()-1; + int y1 = 0; + int y2 = height()-1; + + int x = (x1+x2)/2; + p.drawLine( x, y1, x+d, y1+d ); + p.drawLine( x, y1, x-d, y1+d ); + p.drawLine( x, y2, x+d, y2-d ); + p.drawLine( x, y2, x-d, y2-d ); + + int y = (y1+y2)/2; + p.drawLine( x1, y, x1+d, y+d ); + p.drawLine( x1, y, x1+d, y-d ); + p.drawLine( x2, y, x2-d, y+d ); + p.drawLine( x2, y, x2-d, y-d ); +} + + +int main( int argc, char ** argv ) +{ + TQApplication a( argc, argv ); + + TQSplitter *s1 = new TQSplitter( TQSplitter::Vertical, 0 , "main" ); + + TQSplitter *s2 = new TQSplitter( TQSplitter::Horizontal, s1, "top" ); + + Test *t1 = new Test( s2, "topLeft" ); + t1->setBackgroundColor( TQt::blue.light( 180 ) ); + t1->setMinimumSize( 50, 0 ); + + Test *t2 = new Test( s2, "topRight" ); + t2->setBackgroundColor( TQt::green.light( 180 ) ); + s2->setResizeMode( t2, TQSplitter::KeepSize ); + s2->moveToFirst( t2 ); + + TQSplitter *s3 = new TQSplitter( TQSplitter::Horizontal, s1, "bottom" ); + + Test *t3 = new Test( s3, "bottomLeft" ); + t3->setBackgroundColor( TQt::red ); + Test *t4 = new Test( s3, "bottomMiddle" ); + t4->setBackgroundColor( TQt::white ); + + Test *t5 = new Test( s3, "bottomRight" ); + t5->setMaximumHeight( 250 ); + t5->setMinimumSize( 80, 50 ); + t5->setBackgroundColor( TQt::yellow ); + +#ifdef Q_WS_QWS + // TQt/Embedded XOR drawing not yet implemented. + s1->setOpaqueResize( TRUE ); +#endif + s2->setOpaqueResize( TRUE ); + s3->setOpaqueResize( TRUE ); + + a.setMainWidget( s1 ); + s1->setCaption("TQt Example - Splitters"); + s1->show(); + int result = a.exec(); + delete s1; + return result; +} diff --git a/examples/splitter/splitter.doc b/examples/splitter/splitter.doc new file mode 100644 index 000000000..ddee7692b --- /dev/null +++ b/examples/splitter/splitter.doc @@ -0,0 +1,17 @@ +/* +*/ +/*! \page splitter-example.html + + \ingroup examples + \title Splitter + + This example shows how to use splitters. With their help users can + decide for themselves how much space each child item should get. + + <hr> + + Implementation: + + \include splitter/splitter.cpp +*/ + diff --git a/examples/splitter/splitter.pro b/examples/splitter/splitter.pro new file mode 100644 index 000000000..439d8fec4 --- /dev/null +++ b/examples/splitter/splitter.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = splitter + +CONFIG += qt warn_on release +DEPENDPATH = ../../include + +REQUIRES = medium-config + +HEADERS = +SOURCES = splitter.cpp |