home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / qt3_emx.zip / examples / customlayout / main.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-11  |  3.0 KB  |  99 lines

  1. /****************************************************************************
  2. ** $Id:  qt/main.cpp   3.0.0   edited Jun 22 13:24 $
  3. **
  4. ** Main for custom layout example
  5. **
  6. ** Copyright (C) 1996 by Trolltech AS.  All rights reserved.
  7. **
  8. ** This file is part of an example program for Qt.  This example
  9. ** program may be used, distributed and modified without limitation.
  10. **
  11. *****************************************************************************/
  12.  
  13. #include "flow.h"
  14. #include "border.h"
  15. #include "card.h"
  16.  
  17. #include <qapplication.h>
  18. #include <qlabel.h>
  19. #include <qcolor.h>
  20. #include <qgroupbox.h>
  21. #include <qpushbutton.h>
  22. #include <qmultilineedit.h>
  23. #include <qcolor.h>
  24.  
  25. int main( int argc, char **argv )
  26. {
  27.     QApplication a( argc, argv );
  28.  
  29.     QWidget *f = new QWidget;
  30.     QBoxLayout *gm = new QVBoxLayout( f, 5 );
  31.  
  32.     SimpleFlow *b1 = new SimpleFlow( gm );
  33.  
  34.     b1->add( new QPushButton( "Short", f ) );
  35.     b1->add( new QPushButton( "Longer", f ) );
  36.     b1->add( new QPushButton( "Different text", f ) );
  37.     b1->add( new QPushButton( "More text", f ) );
  38.     b1->add( new QPushButton( "Even longer button text", f ) );
  39.     QPushButton* qb = new QPushButton( "Quit", f );
  40.     a.connect( qb, SIGNAL( clicked() ), SLOT( quit() ) );
  41.     b1->add( qb );
  42.  
  43.     QWidget *wid = new QWidget( f );
  44.  
  45.     BorderLayout *large = new BorderLayout( wid );
  46.     large->setSpacing( 5 );
  47.     large->addWidget( new QPushButton( "North", wid ), BorderLayout::North );
  48.     large->addWidget( new QPushButton( "West", wid ), BorderLayout::West );
  49.     QMultiLineEdit* m = new QMultiLineEdit( wid );
  50.     m->setText( "Central\nWidget" );
  51.     large->addWidget( m, BorderLayout::Center );
  52.     QWidget *east1 = new QPushButton( "East", wid );
  53.     large->addWidget( east1, BorderLayout::East );
  54.     QWidget *east2 = new QPushButton( "East 2", wid );
  55.     large->addWidget( east2 , BorderLayout::East );
  56.     large->addWidget( new QPushButton( "South", wid ), BorderLayout::South );
  57.     //Left-to-right tab order looks better:
  58.     QWidget::setTabOrder( east2, east1 );
  59.     gm->addWidget( wid );
  60.  
  61.  
  62.     wid = new QWidget( f );
  63.     CardLayout *card = new CardLayout( wid, 10 );
  64.  
  65.     QWidget *crd = new QWidget( wid );
  66.     crd->setBackgroundColor( Qt::red );
  67.     card->add( crd );
  68.     crd = new QWidget( wid );
  69.     crd->setBackgroundColor( Qt::green );
  70.     card->add( crd );
  71.     crd = new QWidget( wid );
  72.     crd->setBackgroundColor( Qt::blue );
  73.     card->add( crd );
  74.     crd = new QWidget( wid );
  75.     crd->setBackgroundColor( Qt::white );
  76.     card->add( crd );
  77.     crd = new QWidget( wid );
  78.     crd->setBackgroundColor( Qt::black );
  79.     card->add( crd );
  80.     crd = new QWidget( wid );
  81.     crd->setBackgroundColor( Qt::yellow );
  82.     card->add( crd );
  83.  
  84.     gm->addWidget( wid );
  85.  
  86.     QLabel* s = new QLabel( f );
  87.     s->setText( "outermost box" );
  88.     s->setFrameStyle( QFrame::Panel | QFrame::Sunken );
  89.     s->setAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
  90.     gm->addWidget( s );
  91.     a.setMainWidget( f );
  92.     f->setCaption("Qt Example - Custom Layout");
  93.     f->show();
  94.  
  95.     int result = a.exec();
  96.     delete f;
  97.     return result;
  98. }
  99.