author | mickeyl <mickeyl> | 2005-01-29 14:18:51 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-01-29 14:18:51 (UTC) |
commit | 555b999359a5aad999eaaf48632ce85f25125b85 (patch) (unidiff) | |
tree | 7414362241e49e06f49486e93a8f504113961b1c /examples/opieui/owidgetstack_example/owidgetstack_example.cpp | |
parent | 7b06e36fe27adc6a4fde2004eac13aaf8c0f0f02 (diff) | |
download | opie-555b999359a5aad999eaaf48632ce85f25125b85.zip opie-555b999359a5aad999eaaf48632ce85f25125b85.tar.gz opie-555b999359a5aad999eaaf48632ce85f25125b85.tar.bz2 |
examples appear here
Diffstat (limited to 'examples/opieui/owidgetstack_example/owidgetstack_example.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | examples/opieui/owidgetstack_example/owidgetstack_example.cpp | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/examples/opieui/owidgetstack_example/owidgetstack_example.cpp b/examples/opieui/owidgetstack_example/owidgetstack_example.cpp new file mode 100644 index 0000000..272e42b --- a/dev/null +++ b/examples/opieui/owidgetstack_example/owidgetstack_example.cpp | |||
@@ -0,0 +1,133 @@ | |||
1 | /* | ||
2 | * You may use, modify and distribute this example without any limitation | ||
3 | */ | ||
4 | |||
5 | #include "owidgetstack_example.h" | ||
6 | |||
7 | /* OPIE */ | ||
8 | #include <opie2/oapplicationfactory.h> | ||
9 | #include <opie2/owidgetstack.h> | ||
10 | #include <qpe/resource.h> | ||
11 | |||
12 | /* QT */ | ||
13 | #include <qaction.h> | ||
14 | #include <qtoolbar.h> | ||
15 | #include <qpopupmenu.h> | ||
16 | #include <qmenubar.h> | ||
17 | #include <qlayout.h> | ||
18 | #include <qlabel.h> | ||
19 | #include <qpushbutton.h> | ||
20 | #include <qsignalmapper.h> | ||
21 | |||
22 | using namespace Opie::Core; | ||
23 | using namespace Opie::Ui; | ||
24 | |||
25 | OPIE_EXPORT_APP( OApplicationFactory<StackExample> ) | ||
26 | |||
27 | StackExample::StackExample( QWidget* parent, const char* name, WFlags fl ) | ||
28 | : QMainWindow( parent, name, fl ) | ||
29 | { | ||
30 | m_stack = new OWidgetStack( this ); | ||
31 | setCentralWidget( m_stack ); | ||
32 | |||
33 | /* nice Signal Mapper ;) */ | ||
34 | QSignalMapper *sm = new QSignalMapper(this); | ||
35 | connect(sm, SIGNAL(mapped(int) ), m_stack, SLOT(raiseWidget(int)) ); | ||
36 | |||
37 | /* toolbar first but this should be known from the other examples */ | ||
38 | setToolBarsMovable( false ); | ||
39 | |||
40 | /* only a menubar here */ | ||
41 | QToolBar* holder = new QToolBar( this ); | ||
42 | holder->setHorizontalStretchable( true ); | ||
43 | |||
44 | QMenuBar *bar = new QMenuBar( holder ); | ||
45 | QPopupMenu *menu = new QPopupMenu( this ); | ||
46 | |||
47 | QAction* a = new QAction( tr("Show MainWidget"), Resource::loadPixmap("zoom"), | ||
48 | QString::null, 0, this, 0 ); | ||
49 | sm->setMapping(a, 1 ); | ||
50 | connect(a, SIGNAL(activated() ), | ||
51 | sm, SLOT(map() ) ); | ||
52 | a->addTo( menu ); | ||
53 | |||
54 | a = new QAction( tr("Show Details Small"), Resource::loadPixmap("zoom"), | ||
55 | QString::null, 0, this, 0 ); | ||
56 | sm->setMapping(a, 2 ); | ||
57 | connect(a, SIGNAL(activated() ), | ||
58 | sm, SLOT(map() ) ); | ||
59 | a->addTo( menu ); | ||
60 | |||
61 | a = new QAction( tr("Show Details More"), Resource::loadPixmap("zoom"), | ||
62 | QString::null, 0, this, 0 ); | ||
63 | sm->setMapping(a, 3 ); | ||
64 | connect(a, SIGNAL(activated() ), | ||
65 | sm, SLOT(map() ) ); | ||
66 | a->addTo( menu ); | ||
67 | |||
68 | a = new QAction( tr("Show Details All"), Resource::loadPixmap("zoom"), | ||
69 | QString::null, 0, this, 0 ); | ||
70 | sm->setMapping(a, 4 ); | ||
71 | connect(a, SIGNAL(activated() ), | ||
72 | sm, SLOT(map() ) ); | ||
73 | |||
74 | bar->insertItem( tr("Actions"), menu ); | ||
75 | |||
76 | /* now the gui */ | ||
77 | |||
78 | /* first widget, main widget */ | ||
79 | QWidget * wid = new QWidget( m_stack ); | ||
80 | QGridLayout *grid = new QGridLayout(wid, 2, 2 ); | ||
81 | |||
82 | QPushButton *btn = new QPushButton( tr("Show Details Small"), wid, "details1" ); | ||
83 | sm->setMapping(btn, 2 ); | ||
84 | connect(btn, SIGNAL(clicked()), sm, SLOT(map() ) ); | ||
85 | grid->addWidget( btn, 0, 0 ); | ||
86 | |||
87 | btn = new QPushButton( tr("Show Details Medium"), wid, "details2"); | ||
88 | sm->setMapping(btn, 3 ); | ||
89 | connect(btn, SIGNAL(clicked()), sm, SLOT(map() ) ); | ||
90 | grid->addWidget( btn, 0, 1 ); | ||
91 | |||
92 | btn = new QPushButton( tr("Show Details All"), wid, "details3"); | ||
93 | sm->setMapping(btn, 4 ); | ||
94 | connect(btn, SIGNAL(clicked()), sm, SLOT(map() ) ); | ||
95 | grid->addWidget( btn, 1, 1 ); | ||
96 | |||
97 | m_stack->addWidget( wid, 1 ); | ||
98 | m_main = wid; | ||
99 | |||
100 | QLabel *lbl = new QLabel(m_stack ); | ||
101 | lbl->setText(tr("Only small Details are shown here. Määh") ); | ||
102 | m_stack->addWidget( lbl, 2 ); | ||
103 | |||
104 | lbl = new QLabel( m_stack ); | ||
105 | lbl->setText( tr("Some more details....Wo ist das Schaf?") ); | ||
106 | m_stack->addWidget( lbl, 3 ); | ||
107 | |||
108 | lbl = new QLabel( m_stack ); | ||
109 | lbl->setText( tr("<qt>Ne nicht in Bayerisch Gmain sondern in Berlin<br>Vermiss und meine Augen werden nicht eckig, da mein Bildschirm abgerundet ist<br>Es lebe Hamburg Süd,weiss du, verstehst du? ;)<br>Susi ist dOOf, es lebe die Ofenecke...", "hard to translate that") ); | ||
110 | m_stack->addWidget( lbl, 4 ); | ||
111 | |||
112 | |||
113 | /* THE signal mapper does all the magic */ | ||
114 | m_stack->raiseWidget( m_main ); | ||
115 | } | ||
116 | |||
117 | |||
118 | StackExample::~StackExample() { | ||
119 | |||
120 | } | ||
121 | |||
122 | |||
123 | |||
124 | void StackExample::closeEvent( QCloseEvent* ev) { | ||
125 | /* if the close even came when we displayed a details */ | ||
126 | if (m_stack->visibleWidget() != m_main ) { | ||
127 | m_stack->raiseWidget( m_main ); | ||
128 | ev->ignore(); | ||
129 | return; | ||
130 | } | ||
131 | |||
132 | ev->accept(); | ||
133 | } | ||