From d796c9dd933ab96ec83b9a634feedd5d32e1ba3f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Tue, 8 Nov 2011 12:31:36 -0600 Subject: Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731 --- doc/html/listboxcombo-example.html | 309 +++++++++++++++++++++++++++++++++++++ 1 file changed, 309 insertions(+) create mode 100644 doc/html/listboxcombo-example.html (limited to 'doc/html/listboxcombo-example.html') diff --git a/doc/html/listboxcombo-example.html b/doc/html/listboxcombo-example.html new file mode 100644 index 000000000..9ea38d2ac --- /dev/null +++ b/doc/html/listboxcombo-example.html @@ -0,0 +1,309 @@ + + + + + +Listboxes and Comboboxes + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

Listboxes and Comboboxes

+ + +

+This example program demonstrates how to use listboxes (with single selection +and multi selection) and comboboxes (editable and non-editable). +


+

Header file: +

/****************************************************************************
+** $Id: qt/listboxcombo.h   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 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.
+**
+*****************************************************************************/
+
+#ifndef LISTBOX_COMBO_H
+#define LISTBOX_COMBO_H
+
+#include <qvbox.h>
+
+class TQListBox;
+class TQLabel;
+
+class ListBoxCombo : public TQVBox
+{
+    Q_OBJECT
+
+public:
+    ListBoxCombo( TQWidget *parent = 0, const char *name = 0 );
+
+protected:
+    TQListBox *lb1, *lb2;
+    TQLabel *label1, *label2;
+
+protected slots:
+    void slotLeft2Right();
+    void slotCombo1Activated( const TQString &s );
+    void slotCombo2Activated( const TQString &s );
+
+};
+
+#endif
+
+ +


+

Implementation: +

/****************************************************************************
+** $Id: qt/listboxcombo.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 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 "listboxcombo.h"
+
+#include <qcombobox.h>
+#include <qlistbox.h>
+#include <qhbox.h>
+#include <qpushbutton.h>
+#include <qstring.h>
+#include <qpixmap.h>
+#include <qlabel.h>
+#include <qimage.h>
+#include <qpainter.h>
+#include <qstyle.h>
+
+
+class MyListBoxItem : public TQListBoxItem
+{
+public:
+    MyListBoxItem()
+        : TQListBoxItem()
+    {
+        setCustomHighlighting( TRUE );
+    }
+
+protected:
+    virtual void paint( TQPainter * );
+    virtual int width( const TQListBox* ) const { return 100; }
+    virtual int height( const TQListBox* ) const { return 16; }
+
+};
+
+void MyListBoxItem::paint( TQPainter *painter )
+{
+    // evil trick: find out whether we are painted onto our listbox
+    bool in_list_box = listBox() && listBox()->viewport() == painter->device();
+
+    TQRect r ( 0, 0, width( listBox() ), height( listBox() ) );
+    if ( in_list_box && isSelected() )
+        painter->eraseRect( r );
+    painter->fillRect( 5, 5, width( listBox() ) - 10, height( listBox() ) - 10, TQt::red );
+    if ( in_list_box && isCurrent() )
+        listBox()->style().drawPrimitive( TQStyle::PE_FocusRect, painter, r, listBox()->colorGroup() );
+}
+
+/*
+ * Constructor
+ *
+ * Creates child widgets of the ListBoxCombo widget
+ */
+
+ListBoxCombo::ListBoxCombo( TQWidget *parent, const char *name )
+    : TQVBox( parent, name )
+{
+    setMargin( 5 );
+    setSpacing( 5 );
+
+    unsigned int i;
+    TQString str;
+
+    TQHBox *row1 = new TQHBox( this );
+    row1->setSpacing( 5 );
+
+    // Create a multi-selection ListBox...
+    lb1 = new TQListBox( row1 );
+    lb1->setSelectionMode( TQListBox::Multi );
+
+    // ...insert a pixmap item...
+    lb1->insertItem( TQPixmap( "qtlogo.png" ) );
+    // ...and 100 text items
+    for ( i = 0; i < 100; i++ ) {
+        str = TQString( "Listbox Item %1" ).arg( i );
+        if ( !( i % 4 ) )
+            lb1->insertItem( TQPixmap( "fileopen.xpm" ), str );
+        else
+            lb1->insertItem( str );
+    }
+
+    // Create a pushbutton...
+    TQPushButton *arrow1 = new TQPushButton( " -> ", row1 );
+    // ...and connect the clicked SIGNAL with the SLOT slotLeft2Right
+    connect( arrow1, SIGNAL( clicked() ), this, SLOT( slotLeft2Right() ) );
+
+    // create an empty single-selection ListBox
+    lb2 = new TQListBox( row1 );
+
+    TQHBox *row2 = new TQHBox( this );
+    row2->setSpacing( 5 );
+
+    TQVBox *box1 = new TQVBox( row2 );
+    box1->setSpacing( 5 );
+
+    // Create a non-editable Combobox and a label below...
+    TQComboBox *cb1 = new TQComboBox( FALSE, box1 );
+    label1 = new TQLabel( "Current Item: Combobox Item 0", box1 );
+    label1->setMaximumHeight( label1->sizeHint().height() * 2 );
+    label1->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
+
+    //...and insert 50 items into the Combobox
+    for ( i = 0; i < 50; i++ ) {
+        str = TQString( "Combobox Item %1" ).arg( i );
+        if ( i % 9 )
+            cb1->insertItem( str );
+        else
+            cb1->listBox()->insertItem( new MyListBoxItem );
+    }
+
+    TQVBox *box2 = new TQVBox( row2 );
+    box2->setSpacing( 5 );
+
+    // Create an editable Combobox and a label below...
+    TQComboBox *cb2 = new TQComboBox( TRUE, box2 );
+    label2 = new TQLabel( "Current Item: Combobox Item 0", box2 );
+    label2->setMaximumHeight( label2->sizeHint().height() * 2 );
+    label2->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
+
+    // ... and insert 50 items into the Combobox
+    for ( i = 0; i < 50; i++ ) {
+        str = TQString( "Combobox Item %1" ).arg( i );
+        if ( !( i % 4 ) )
+            cb2->insertItem( TQPixmap( "fileopen.xpm" ), str );
+        else
+            cb2->insertItem( str );
+    }
+
+    // Connect the activated SIGNALs of the Comboboxes with SLOTs
+    connect( cb1, SIGNAL( activated( const TQString & ) ), this, SLOT( slotCombo1Activated( const TQString & ) ) );
+    connect( cb2, SIGNAL( activated( const TQString & ) ), this, SLOT( slotCombo2Activated( const TQString & ) ) );
+}
+
+/*
+ * SLOT slotLeft2Right
+ *
+ * Copies all selected items of the first ListBox into the
+ * second ListBox
+ */
+
+void ListBoxCombo::slotLeft2Right()
+{
+    // Go through all items of the first ListBox
+    for ( unsigned int i = 0; i < lb1->count(); i++ ) {
+        TQListBoxItem *item = lb1->item( i );
+        // if the item is selected...
+        if ( item->isSelected() ) {
+            // ...and it is a text item...
+            if ( item->pixmap() && !item->text().isEmpty() )
+                lb2->insertItem( *item->pixmap(), item->text() );
+            else if ( !item->pixmap() )
+                lb2->insertItem( item->text() );
+            else if ( item->text().isEmpty() )
+                lb2->insertItem( *item->pixmap() );
+        }
+    }
+}
+
+/*
+ * SLOT slotCombo1Activated( const TQString &s )
+ *
+ * Sets the text of the item which the user just selected
+ * in the first Combobox (and is now the value of s) to
+ * the first Label.
+ */
+
+void ListBoxCombo::slotCombo1Activated( const TQString &s )
+{
+    label1->setText( TQString( "Current Item: %1" ).arg( s ) );
+}
+
+/*
+ * SLOT slotCombo2Activated( const TQString &s )
+ *
+ * Sets the text of the item which the user just selected
+ * in the second Combobox (and is now the value of s) to
+ * the second Label.
+ */
+
+void ListBoxCombo::slotCombo2Activated( const TQString &s )
+{
+    label2->setText( TQString( "Current Item: %1" ).arg( s ) );
+}
+
+ +


+

Main: +

/****************************************************************************
+** $Id: qt/main.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 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 "listboxcombo.h"
+#include <qapplication.h>
+
+int main( int argc, char **argv )
+{
+    TQApplication a( argc, argv );
+
+    ListBoxCombo listboxcombo;
+    listboxcombo.resize( 400, 270 );
+    listboxcombo.setCaption( "TQt Example - Listboxes and Comboboxes" );
+    a.setMainWidget( &listboxcombo );
+    listboxcombo.show();
+
+    return a.exec();
+}
+
+ +

See also Examples. + + +


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.1