From 555b999359a5aad999eaaf48632ce85f25125b85 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sat, 29 Jan 2005 14:18:51 +0000 Subject: examples appear here --- (limited to 'examples') diff --git a/examples/opiecore/oconfigdemo/.cvsignore b/examples/opiecore/oconfigdemo/.cvsignore new file mode 100644 index 0000000..db3635b --- a/dev/null +++ b/examples/opiecore/oconfigdemo/.cvsignore @@ -0,0 +1,8 @@ +oconfigdemo +Makefile* +obj +moc* +*moc +*.o +~* + diff --git a/examples/opiecore/oconfigdemo/oconfigdemo.cpp b/examples/opiecore/oconfigdemo/oconfigdemo.cpp new file mode 100644 index 0000000..2ee4a65 --- a/dev/null +++ b/examples/opiecore/oconfigdemo/oconfigdemo.cpp @@ -0,0 +1,32 @@ +#include +#include +#include + +using namespace Opie::Core; + +int main( int argc, char** argv ) +{ + OApplication* app = new OApplication( argc, argv, "MyConfigDemoApplication" ); + + OConfigGroupSaver c1( app->config(), "MyGroup" ); + app->config()->writeEntry( "AnEntry", "InMyGroup" ); + { + OConfigGroupSaver c2( c1.config(), "AnotherGroup" ); + app->config()->writeEntry( "AnEntry", "InAnotherGroup" ); + } // closing the scope returns to the last group + + app->config()->writeEntry( "AnotherEntry", "InMyGroup" ); + + // do more stuff ... + + // in this (special) case it is necessary to manually call OConfig::write() (see below) + app->config()->write(); + + // can't delete the app when using the OConfigGroupSaver on top level scope, + // because the destructor of the OConfigGroupSaver needs an application object + //delete app; // destructor deletes config which writes changes back to disk + + return 0; + +} + diff --git a/examples/opiecore/oconfigdemo/oconfigdemo.pro b/examples/opiecore/oconfigdemo/oconfigdemo.pro new file mode 100644 index 0000000..b29c106 --- a/dev/null +++ b/examples/opiecore/oconfigdemo/oconfigdemo.pro @@ -0,0 +1,18 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = +SOURCES = oconfigdemo.cpp + +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopiecore2 +TARGET = oconfigdemo + +!contains( platform, x11 ) { + include( $(OPIEDIR)/include.pro ) +} + +contains( platform, x11 ) { + LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib +} + diff --git a/examples/opiecore/odebugdemo/.cvsignore b/examples/opiecore/odebugdemo/.cvsignore new file mode 100644 index 0000000..731667d --- a/dev/null +++ b/examples/opiecore/odebugdemo/.cvsignore @@ -0,0 +1,8 @@ +odebugdemo +Makefile* +obj +moc* +*moc +*.o +~* + diff --git a/examples/opiecore/odebugdemo/odebugdemo.cpp b/examples/opiecore/odebugdemo/odebugdemo.cpp new file mode 100644 index 0000000..b046d28 --- a/dev/null +++ b/examples/opiecore/odebugdemo/odebugdemo.cpp @@ -0,0 +1,142 @@ +/* QT */ + +#include +#include +#include +#include +#include +#include +#include + +/* OPIE */ + +#include + +#include +#include +#include +#include + +using namespace Opie::Core; + +class DemoApp : public OApplication +{ +Q_OBJECT +public: + DemoApp( int argc, char** argv ) : OApplication( argc, argv, "libopie2 debug demo" ) + { + // you have access to your OApplication object via oApp + odebug << "Process-wide OApplication object @ " << oApp << "" << oendl; + + // you have access to global settings via OGlobalSettings + int mode = OGlobalSettings::debugMode(); + + QVBox* vbox = new QVBox(); + setMainWidget( vbox ); + + g = new QVButtonGroup( "Output Strategy", vbox ); + QRadioButton* r0 = new QRadioButton( "file", g ); + QRadioButton* r1 = new QRadioButton( "messagebox", g ); + QRadioButton* r2 = new QRadioButton( "stderr", g ); + QRadioButton* r3 = new QRadioButton( "syslog", g ); + QRadioButton* r4 = new QRadioButton( "socket", g ); + g->insert( r0, 0 ); + g->insert( r1, 1 ); + g->insert( r2, 2 ); + g->insert( r3, 3 ); + g->insert( r4, 4 ); + g->setRadioButtonExclusive( true ); + connect( g, SIGNAL( clicked(int) ), this, SLOT( chooseMethod(int) ) ); + + if ( mode != -1 ) g->setButton( mode ); + + QHButtonGroup* hbox = new QHButtonGroup( "Extra Output Information", vbox ); + e = new QLineEdit( hbox ); + QPushButton* pb = new QPushButton( hbox ); + + connect( e, SIGNAL( returnPressed() ), this, SLOT( updateDebugOutput() ) ); + connect( pb, SIGNAL( clicked() ), this, SLOT( updateDebugOutput() ) ); + + // show the additional debug mode dependent output information + e->setText( OGlobalSettings::debugOutput() ); + + // buttos + QPushButton* info = new QPushButton( "Emit Debug(Info) Output!", vbox ); + connect( info, SIGNAL( clicked() ), this, SLOT( emitInfoOutput() ) ); + QPushButton* warn = new QPushButton( "Emit a Warning Output!", vbox ); + connect( warn, SIGNAL( clicked() ), this, SLOT( emitWarningOutput() ) ); + QPushButton* error = new QPushButton( "Emit an Error Output!", vbox ); + connect( error, SIGNAL( clicked() ), this, SLOT( emitErrorOutput() ) ); + QPushButton* fatal = new QPushButton( "Emit a Fatal Output!", vbox ); + connect( fatal, SIGNAL( clicked() ), this, SLOT( emitFatalOutput() ) ); + + QPushButton* tb = new QPushButton( "Emit a Fatal Backtrace!", vbox ); + connect( tb, SIGNAL( clicked() ), this, SLOT( emitTBOutput() ) ); + + info->show(); + warn->show(); + error->show(); + fatal->show(); + tb->show(); + g->show(); + hbox->show(); + e->show(); + vbox->show(); + showMainWidget( vbox ); + } + +public slots: + void chooseMethod(int method) + { + m = method; + odebug << "choosing method: " << method << "" << oendl; + OConfig* g = OGlobal::config(); + g->setGroup( "General" ); + g->writeEntry( "debugMode", m ); + e->setText( OGlobalSettings::debugOutput() ); + g->write(); + } + void updateDebugOutput() + { + OConfig* g = OGlobal::config(); + g->setGroup( "General" ); + g->writeEntry( "debugOutput"+QString::number(OGlobalSettings::debugMode()), e->text() ); + g->write(); + } + void emitInfoOutput() + { + odebug << "This is a debug message" << oendl; + } + void emitWarningOutput() + { + owarn << "This is a warning message" << oendl; + } + void emitErrorOutput() + { + oerr << "This is an errror message" << oendl; + } + void emitFatalOutput() + { + ofatal << "This is a fatal message" << oendl; + } + void emitTBOutput() + { + ofatal << "This is a fatal message + backtrace\n" + odBacktrace(); // odBacktrace includes \n + } + +private: + QButtonGroup* g; + int m; + QLineEdit* e; +}; + +int main( int argc, char** argv ) +{ + DemoApp* app = new DemoApp( argc, argv ); + app->exec(); + + return 0; + +} + +#include "odebugdemo.moc" diff --git a/examples/opiecore/odebugdemo/odebugdemo.pro b/examples/opiecore/odebugdemo/odebugdemo.pro new file mode 100644 index 0000000..e06053c --- a/dev/null +++ b/examples/opiecore/odebugdemo/odebugdemo.pro @@ -0,0 +1,17 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = +SOURCES = odebugdemo.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopiecore2 +TARGET = odebugdemo + +!contains( platform, x11 ) { + include( $(OPIEDIR)/include.pro ) +} + +contains( platform, x11 ) { + LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib +} + diff --git a/examples/opiecore/oglobalsettingsdemo/.cvsignore b/examples/opiecore/oglobalsettingsdemo/.cvsignore new file mode 100644 index 0000000..d564c61 --- a/dev/null +++ b/examples/opiecore/oglobalsettingsdemo/.cvsignore @@ -0,0 +1,8 @@ +oglobalsettingsdemo +Makefile* +obj +moc* +*moc +*.o +~* + diff --git a/examples/opiecore/oglobalsettingsdemo/oglobalsettingsdemo.cpp b/examples/opiecore/oglobalsettingsdemo/oglobalsettingsdemo.cpp new file mode 100644 index 0000000..37bcf13 --- a/dev/null +++ b/examples/opiecore/oglobalsettingsdemo/oglobalsettingsdemo.cpp @@ -0,0 +1,15 @@ +#include +#include + +using namespace Opie::Core; + +int main( int argc, char** argv ) +{ + printf( "current debugmode seems to be '%d'\n", OGlobalSettings::debugMode() ); + printf( "output information for this mode is '%s'\n", (const char*) OGlobalSettings::debugOutput() ); + + return 0; + +} + +//#include "moc/oconfigdemo.moc" diff --git a/examples/opiecore/oglobalsettingsdemo/oglobalsettingsdemo.pro b/examples/opiecore/oglobalsettingsdemo/oglobalsettingsdemo.pro new file mode 100644 index 0000000..d7bed05 --- a/dev/null +++ b/examples/opiecore/oglobalsettingsdemo/oglobalsettingsdemo.pro @@ -0,0 +1,14 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = +SOURCES = oglobalsettingsdemo.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopiecore2 +TARGET = oglobalsettingsdemo +MOC_DIR = moc +OBJECTS_DIR = obj + +include( $(OPIEDIR)/include.pro ) + + diff --git a/examples/opiecore/okeyconfigmanager/README b/examples/opiecore/okeyconfigmanager/README new file mode 100644 index 0000000..327b7c2 --- a/dev/null +++ b/examples/opiecore/okeyconfigmanager/README @@ -0,0 +1 @@ +See opieui/okeyconfigwidget for an example of possible usage \ No newline at end of file diff --git a/examples/opiecore/onotifydemo/.cvsignore b/examples/opiecore/onotifydemo/.cvsignore new file mode 100644 index 0000000..8f7300c --- a/dev/null +++ b/examples/opiecore/onotifydemo/.cvsignore @@ -0,0 +1,6 @@ +Makefile* +moc* +*moc +*.o +~* + diff --git a/examples/opiecore/onotifydemo/onotifydemo.cpp b/examples/opiecore/onotifydemo/onotifydemo.cpp new file mode 100644 index 0000000..b9ff9db --- a/dev/null +++ b/examples/opiecore/onotifydemo/onotifydemo.cpp @@ -0,0 +1,144 @@ +/* OPIE */ +#include +#include +#include +#include +#include +using namespace Opie::Core; +using namespace Opie::Ui; + +/* QT */ +#include +#include +#include +#include +#include +#include +#include + +class DemoApp : public OApplication +{ + Q_OBJECT +public: + DemoApp( int argc, char** argv ) : OApplication( argc, argv, "libopie2 notify demo" ) + { + + QVBox* vbox = new QVBox(); + setMainWidget( vbox ); + + l = new OListView( vbox ); + l->addColumn( "Notification Path" ); + l->addColumn( "Trigger Type" ); + l->addColumn( "Trigger Mask" ); + l->setColumnAlignment( 1, AlignCenter ); + l->setColumnAlignment( 2, AlignCenter ); + + QHBox* hbox = new QHBox( vbox ); + + g2 = new QVButtonGroup( "Specify Trigger Type", hbox ); + //QCheckBox* c1 = new QCheckBox( "Multi", g2 ); + QCheckBox* c2 = new QCheckBox( "Access", g2 ); + QCheckBox* c3 = new QCheckBox( "Modify", g2 ); + QCheckBox* c4 = new QCheckBox( "Create", g2 ); + QCheckBox* c5 = new QCheckBox( "Delete", g2 ); + QCheckBox* c6 = new QCheckBox( "Rename", g2 ); + QCheckBox* c7 = new QCheckBox( "Attrib", g2 ); + g2->insert( c2, Access ); + g2->insert( c3, Modify ); + g2->insert( c4, Create ); + g2->insert( c5, Delete ); + g2->insert( c6, Rename ); + g2->insert( c7, Attrib ); + connect( g2, SIGNAL( pressed(int) ), this, SLOT( modifierClicked(int) ) ); + + g1 = new QVButtonGroup( "Add/Remove", hbox ); + QPushButton* plus1 = new QPushButton( "Add\n&Single", g1 ); + QPushButton* plus2 = new QPushButton( "Add\n&Multi", g1 ); + QPushButton* minus = new QPushButton( "&Remove\nIt!", g1 ); + g1->insert( plus1, 0 ); + g1->insert( plus2, 1 ); + g1->insert( minus, 2 ); + connect( plus1, SIGNAL( clicked() ), this, SLOT( addSingle() ) ); + connect( plus2, SIGNAL( clicked() ), this, SLOT( addMulti() ) ); + connect( minus, SIGNAL( clicked() ), this, SLOT( delTrigger() ) ); + + g1->show(); + g2->show(); + l->show(); + hbox->show(); + vbox->show(); + showMainWidget( vbox ); + } + +public: + void addTrigger( bool multi = false ) + { + if ( !m ) + { + QMessageBox::warning( 0, "Add Trigger", "

Can't add trigger without at least one selected trigger type

", "&Sorry", 0 ); + return; + } + + QString filename = OFileDialog::getOpenFileName( OFileSelector::ExtendedAll ); + if ( !filename.isEmpty() ) + { + odebug << "Filename = " << filename << oendl; + + int fntype = m; + if ( multi ) fntype |=(int) Multi; + + QString modifier = QString().sprintf( " = 0x%08x", fntype ); + new OListViewItem( l, filename, multi ? "MULTI" : "SINGLE", modifier ); + if ( !multi ) + OFileNotification::singleShot( filename, this, SLOT( trigger() ), (OFileNotificationType) fntype ); + else + OFileNotification::singleShot( filename, this, SLOT( trigger() ), (OFileNotificationType) fntype ); + } + else + { + odebug << "cancelled." << oendl; + } + } + +public slots: + void modifierClicked( int modifier ) { m = static_cast( (int)m ^ int(modifier) ); }; + void addSingle() { addTrigger(); }; + void addMulti() { addTrigger( true ); }; + + void delTrigger() + { + QListViewItem* item = l->selectedItem(); + if ( !item ) + { + QMessageBox::warning( 0, "Del Trigger", "

No trigger selected!

", "&Sorry", 0 ); + return; + } + else + { + QString filename( item->text( 0 ) ); + odebug << "Filename = " << filename << oendl; + } + } + + void trigger() + { + owarn << "FIRE!" << oendl; + } + +private: + OListView* l; + QButtonGroup* g1; + QButtonGroup* g2; + OFileNotificationType m; +}; + +int main( int argc, char** argv ) +{ + DemoApp* app = new DemoApp( argc, argv ); + app->exec(); + + return 0; + +} + +#include "moc/onotifydemo.moc" diff --git a/examples/opiecore/onotifydemo/onotifydemo.pro b/examples/opiecore/onotifydemo/onotifydemo.pro new file mode 100644 index 0000000..d2c9138 --- a/dev/null +++ b/examples/opiecore/onotifydemo/onotifydemo.pro @@ -0,0 +1,18 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = +SOURCES = onotifydemo.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopiecore2 -lopieui2 +TARGET = onotifydemo + +!contains( platform, x11 ) { + include( $(OPIEDIR)/include.pro ) +} + +contains( platform, x11 ) { + LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib +} + +MOC_DIR = moc diff --git a/examples/opiecore/opiecore.pro b/examples/opiecore/opiecore.pro new file mode 100644 index 0000000..39ffd3b --- a/dev/null +++ b/examples/opiecore/opiecore.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +unix:SUBDIRS = odebugdemo oconfigdemo oglobalsettingsdemo onotifydemo oprocessdemo oplugins diff --git a/examples/opiecore/oplugins/.cvsignore b/examples/opiecore/oplugins/.cvsignore new file mode 100644 index 0000000..514e011 --- a/dev/null +++ b/examples/opiecore/oplugins/.cvsignore @@ -0,0 +1,3 @@ +oplugins +Makefile +.moc diff --git a/examples/opiecore/oplugins/oplugins.cpp b/examples/opiecore/oplugins/oplugins.cpp new file mode 100644 index 0000000..26623be --- a/dev/null +++ b/examples/opiecore/oplugins/oplugins.cpp @@ -0,0 +1,47 @@ +/* + * You may copy, modify and or distribute without any limitation + */ +#include +#include + +#include + +using Opie::Core::OPluginItem; +using Opie::Core::OGenericPluginLoader; +using Opie::Core::OPluginLoader; + +void debugLst( const OPluginItem::List& lst ) { + for ( OPluginItem::List::ConstIterator it = lst.begin(); it != lst.end(); ++it ) + odebug << "Name " << (*it).name() << " " << (*it).path() << " " << (*it).position() << oendl; +} + + +int main( void ) { + OGenericPluginLoader loader( "today", true ); + loader.setAutoDelete( true ); + + odebug << "IS in Safe Mode" << loader.isInSafeMode() << oendl; + + OPluginItem::List lst = loader.allAvailable( true ); + debugLst( lst ); + + lst = loader.filtered( true ); + debugLst( lst ); + + for ( OPluginItem::List::Iterator it = lst.begin(); it != lst.end(); ++it ) { + QUnknownInterface* iface = loader.load( *it, IID_TodayPluginInterface ); + } + + OPluginLoader loader2("today",true); + OPluginItem::List lst2 = loader2.allAvailable( true ); + debugLst( lst2 ); + + for( OPluginItem::List::Iterator it = lst.begin(); it != lst.end(); ++it ){ + TodayPluginInterface* iface = loader2.load( *it, IID_TodayPluginInterface ); + } + + + /* + * now it's autodelete so cleaned up for us + */ +} diff --git a/examples/opiecore/oplugins/oplugins.pro b/examples/opiecore/oplugins/oplugins.pro new file mode 100644 index 0000000..03f8e4d --- a/dev/null +++ b/examples/opiecore/oplugins/oplugins.pro @@ -0,0 +1,11 @@ +TEMPLATE = app +CONFIG += qt warn_on + +SOURCES = oplugins.cpp + +INCLUDEPATH += $(OPIEDIR)/include +DEPENDSPATH += $(OPIEDIR)/include + +LIBS += -lopiecore2 + +include( $(OPIEDIR)/include.pro ) diff --git a/examples/opiecore/oprocessdemo/.cvsignore b/examples/opiecore/oprocessdemo/.cvsignore new file mode 100644 index 0000000..ab9cb4d --- a/dev/null +++ b/examples/opiecore/oprocessdemo/.cvsignore @@ -0,0 +1,7 @@ +oprocessdemo +Makefile* +moc* +*moc +*.o +~* + diff --git a/examples/opiecore/oprocessdemo/oprocessdemo.cpp b/examples/opiecore/oprocessdemo/oprocessdemo.cpp new file mode 100644 index 0000000..c5fc328 --- a/dev/null +++ b/examples/opiecore/oprocessdemo/oprocessdemo.cpp @@ -0,0 +1,13 @@ +#include +#include + +using namespace Opie::Core; + +int main( int argc, char** argv ) +{ + printf( "my own PID seems to be '%d'\n", OProcess::processPID( "oprocessdemo" ) ); + printf( "the PID of process 'Mickey' seems to be '%d'\n\n", OProcess::processPID( "Mickey" ) ); + + return 0; +} + diff --git a/examples/opiecore/oprocessdemo/oprocessdemo.pro b/examples/opiecore/oprocessdemo/oprocessdemo.pro new file mode 100644 index 0000000..7efc614 --- a/dev/null +++ b/examples/opiecore/oprocessdemo/oprocessdemo.pro @@ -0,0 +1,12 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = +SOURCES = oprocessdemo.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopiecore2 +TARGET = oprocessdemo + +include( $(OPIEDIR)/include.pro ) + + diff --git a/examples/opiemm/opiemm.pro b/examples/opiemm/opiemm.pro new file mode 100644 index 0000000..0522ebe --- a/dev/null +++ b/examples/opiemm/opiemm.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = osoundsystemdemo + diff --git a/examples/opiemm/osoundsystemdemo/.cvsignore b/examples/opiemm/osoundsystemdemo/.cvsignore new file mode 100644 index 0000000..0c98558 --- a/dev/null +++ b/examples/opiemm/osoundsystemdemo/.cvsignore @@ -0,0 +1,7 @@ +osoundsystemdemo +Makefile* +moc* +*moc +*.o +~* + diff --git a/examples/opiemm/osoundsystemdemo/osoundsystemdemo.cpp b/examples/opiemm/osoundsystemdemo/osoundsystemdemo.cpp new file mode 100644 index 0000000..f74a1b9 --- a/dev/null +++ b/examples/opiemm/osoundsystemdemo/osoundsystemdemo.cpp @@ -0,0 +1,66 @@ +/* + =. This file is part of the Opie Project + .=l. Copyright (C) 2004 Opie Team + .>+-= + _;:, .> :=|. This library is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +/* OPIE */ +#include +#include + +using namespace Opie::MM; + +int main( int argc, char** argv ) +{ + odebug << "OPIE Sound System Demo" << oendl; + + OSoundSystem* sound = OSoundSystem::instance(); + + OSoundSystem::CardIterator it = sound->iterator(); +/* + while ( it.current() ) + { + odebug << "DEMO: OSoundSystem contains Interface '" << it.current()->name() << "'" << oendl; + ++it; + } + +*/ + OSoundCard* card = it.current(); + + OMixerInterface* mixer = card->mixer(); + + QStringList channels = mixer->allChannels(); + + for ( QStringList::Iterator it = channels.begin(); it != channels.end(); ++it ) + { + bool stereo = mixer->isStereo( *it ); + odebug << "OSSDEMO: Mixer has channel " << *it << ( stereo ? "[stereo]" : "[mono]" ) << oendl; + odebug << "OSSDEMO: +--- volume " << ( mixer->volume( *it ) & 0xff ) + << " (left) | " << ( mixer->volume( *it ) >> 8 ) << " (right)" << oendl; + } + + return 0; + +} diff --git a/examples/opiemm/osoundsystemdemo/osoundsystemdemo.pro b/examples/opiemm/osoundsystemdemo/osoundsystemdemo.pro new file mode 100644 index 0000000..95924be --- a/dev/null +++ b/examples/opiemm/osoundsystemdemo/osoundsystemdemo.pro @@ -0,0 +1,12 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = +SOURCES = osoundsystemdemo.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopiecore2 -lopiemm2 +TARGET = osoundsystemdemo +MOC_DIR = moc +OBJECTS_DIR = obj + +include( $(OPIEDIR)/include.pro ) diff --git a/examples/opieui/okeyconfigwidget/keyconfig.pro b/examples/opieui/okeyconfigwidget/keyconfig.pro new file mode 100644 index 0000000..5f379ef --- a/dev/null +++ b/examples/opieui/okeyconfigwidget/keyconfig.pro @@ -0,0 +1,12 @@ +CONFIG += qt + +TEMPLATE = app +SOURCES = testwidget.cpp +HEADERS = testwidget.h + +INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/noncore/graphics/opie-eye/lib/ +DESTPATH += $(OPIEDIR)/include + +LIBS += -lopieui2 -lopiecore2 + +include( $(OPIEDIR)/include.pro ) diff --git a/examples/opieui/okeyconfigwidget/testwidget.cpp b/examples/opieui/okeyconfigwidget/testwidget.cpp new file mode 100644 index 0000000..6d2c773 --- a/dev/null +++ b/examples/opieui/okeyconfigwidget/testwidget.cpp @@ -0,0 +1,128 @@ +#include "testwidget.h" + +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include + + +/** + * QObject with signals and slots inside a .cpp + * requires the .moc at the bottom! and a run of qmake + */ +class MainWindow : public QMainWindow { + Q_OBJECT +public: + static QString appName() { + return QString::fromLatin1("keyconfig"); + } + MainWindow( QWidget*, const char*, WFlags fl ); + ~MainWindow() {} +private slots: + void slotClicked(); +private: + Opie::Core::OKeyConfigManager *m_manager; +}; + + +OPIE_EXPORT_APP( Opie::Core::OApplicationFactory ) + + +MainWindow::MainWindow( QWidget* parent, const char* name, WFlags fl ) + : QMainWindow( parent, name, fl ) +{ + QVBoxLayout *lay = new QVBoxLayout( this ); + QPushButton *btn = new QPushButton( tr("Configure" ), this ); + TestMainWindow *wid = new TestMainWindow( this, "name", 0 ); + + lay->addWidget( btn ); + lay->addWidget( wid ); + m_manager = wid->manager(); + + connect( btn, SIGNAL(clicked()), this, SLOT(slotClicked()) ); +} + +void MainWindow::slotClicked() { + QDialog diag( this, "name", true ); + diag.setCaption( tr( "Manage Keys" ) ); + + QHBoxLayout *lay = new QHBoxLayout( &diag ); + Opie::Ui::OKeyConfigWidget *wid = new Opie::Ui::OKeyConfigWidget( &diag, "key config" ); + wid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue ); + wid->insert( tr("MainWindow Options" ), m_manager ); + wid->load(); + + lay->addWidget( wid ); + + if ( QPEApplication::execDialog( &diag ) == QDialog::Accepted ) { + wid->save(); + } +} + +TestMainWindow::TestMainWindow( QWidget* parent, const char* slot, WFlags fl ) + : Opie::Ui::OListView( parent, slot, fl) +{ + addColumn( tr( "A Doo" ) ); + addColumn( tr( "B Doo" ) ); + + m_config = new Opie::Core::OConfig( "test_config_foo" ); + + /* generate the black list */ + Opie::Core::OKeyPair::List blackList; + blackList.append( Opie::Core::OKeyPair::leftArrowKey() ); + blackList.append( Opie::Core::OKeyPair::rightArrowKey() ); + blackList.append( Opie::Core::OKeyPair::downArrowKey() ); + blackList.append( Opie::Core::OKeyPair::upArrowKey() ); + + m_manager = new Opie::Core::OKeyConfigManager( m_config, "Key Group", + blackList, false, this, "Key Manager" ); + + m_manager->addKeyConfig( Opie::Core::OKeyConfigItem( tr( "Delete Action" ), "delete_key", QPixmap(), + 10, Opie::Core::OKeyPair( Qt::Key_D, Qt::ShiftButton ), this, + SLOT(slotDelete(QWidget*,QKeyEvent*)) ) ); + m_manager->addKeyConfig( Opie::Core::OKeyConfigItem( tr( "Show Action" ), "show_key", QPixmap(), + 11, Opie::Core::OKeyPair( Qt::Key_S, Qt::AltButton ) ) ); + + connect(m_manager, SIGNAL(actionActivated(QWidget*,QKeyEvent*,const Opie::Core::OKeyConfigItem&)), + this, SLOT(slotAction(QWidget*, QKeyEvent*, const Opie::Core::OKeyConfigItem&)) ); +// when commenting the line below out the keyPressEvent will work + m_manager->handleWidget( this ); + m_manager->load(); +} + +TestMainWindow::~TestMainWindow() { + m_manager->save(); + delete m_config; +} + +Opie::Core::OKeyConfigManager* TestMainWindow::manager() { + return m_manager; +} + +/* + * This only works if we do not handle the even with m_manager->handleWidget( this ) + * So this is only for demo purposes + */ +void TestMainWindow::keyPressEvent( QKeyEvent* ev ) { + owarn << "String is "+ m_manager->handleKeyEvent( ev ).text() << oendl; + owarn << "Id was " << m_manager->handleKeyEventId( ev ) << " " << ev->key() << " " << ev->state() << " " << ev->ascii() << "" << oendl; + ev->ignore(); +} + +void TestMainWindow::slotDelete( QWidget* wid, QKeyEvent* ev ) { + owarn << "Slot Delete " << wid << " " << ev->key() << " " << ev->state() << "" << oendl; +} + +void TestMainWindow::slotAction( QWidget* wid, QKeyEvent* ev, const Opie::Core::OKeyConfigItem& item) { + owarn << "Slot Action " << wid << " " << ev->key() << " " << ev->state() << " " << item.text() << " " << item.id() << "" << oendl; +} + +#include "testwidget.moc" diff --git a/examples/opieui/okeyconfigwidget/testwidget.h b/examples/opieui/okeyconfigwidget/testwidget.h new file mode 100644 index 0000000..6ecb346 --- a/dev/null +++ b/examples/opieui/okeyconfigwidget/testwidget.h @@ -0,0 +1,40 @@ +#ifndef TEST_WIDGET_H +#define TEST_WIDGET_H + +#include + +#include + +namespace Opie{ +namespace Ui{ + class OTabWidget; + class OListView; +} +namespace Core { + class OConfig; + class OKeyConfigManager; + class OKeyConfigItem; +} +} +class QKeyEvent; + + +class TestMainWindow : public Opie::Ui::OListView { + Q_OBJECT +public: + + TestMainWindow(QWidget* parent, const char*, WFlags fl ); + ~TestMainWindow(); + + Opie::Core::OKeyConfigManager *manager(); +protected: + void keyPressEvent( QKeyEvent* ); +private slots: + void slotDelete( QWidget*, QKeyEvent* ); + void slotAction( QWidget*, QKeyEvent*, const Opie::Core::OKeyConfigItem& ); +private: + Opie::Core::OConfig *m_config; + Opie::Core::OKeyConfigManager *m_manager; +}; + +#endif diff --git a/examples/opieui/olistviewdemo/main.cpp b/examples/opieui/olistviewdemo/main.cpp new file mode 100644 index 0000000..cd49c28 --- a/dev/null +++ b/examples/opieui/olistviewdemo/main.cpp @@ -0,0 +1,29 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#include "olistviewdemo.h" +#include + +using namespace Opie::Ui; +using namespace Opie::Core; + +int main( int argc, char **argv ) +{ + OApplication a( argc, argv, "OListViewDemo" ); + OListViewDemo e; + a.showMainWidget(&e); + return a.exec(); +} + diff --git a/examples/opieui/olistviewdemo/olistviewdemo.cpp b/examples/opieui/olistviewdemo/olistviewdemo.cpp new file mode 100644 index 0000000..4c05620 --- a/dev/null +++ b/examples/opieui/olistviewdemo/olistviewdemo.cpp @@ -0,0 +1,86 @@ +/* +                 This file is part of the Opie Project + +              Copyright (C) 2003 Michael 'Mickey' Lauer + + =. + .=l. +           .>+-= + _;:,     .>    :=|. This program is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "olistviewdemo.h" + +/* OPIE */ +#include +#include + +/* QT */ +#include +#include +#include + +using namespace Opie::Ui; + +OListViewDemo::OListViewDemo( QWidget* parent, const char* name, WFlags f ) + :QVBox( parent, name, f ) +{ + lv = new ONamedListView( this ); + lv->setRootIsDecorated( true ); + lv->addColumns( QStringList::split( ' ', "Column1 Column2 Column3 Column4" ) ); + + ONamedListViewItem* item = new ONamedListViewItem( lv, QStringList::split( ' ', "Text1 Text2 Text3 Text4" ) ); + item->setText( "Column2", "ModifiedText" ); + item->setText( "Column5", "ThisColumnDoesNotExits" ); + + new ONamedListViewItem( lv, QStringList::split( ' ', "Text1 Text2 Text3 Text4" ) ); + new ONamedListViewItem( lv, QStringList::split( ' ', "Text1 Text2 Text3 Text4" ) ); + new ONamedListViewItem( lv, QStringList::split( ' ', "Text1 Text2 Text3 Minni" ) ); + item = new ONamedListViewItem( lv, QStringList::split( ' ', "XXX YYY ZZZ ***" ) ); + new ONamedListViewItem( lv, QStringList::split( ' ', "Text1 Text2 Text3 Text4" ) ); + new ONamedListViewItem( lv, QStringList::split( ' ', "Text1 Text2 Text3 Text4" ) ); + + new ONamedListViewItem( item, QStringList::split( ' ', "SubText1 Text2 Text3 Text4" ) ); + new ONamedListViewItem( item, QStringList::split( ' ', "SubText1 Text2 Text3 Text4" ) ); + new ONamedListViewItem( item, QStringList::split( ' ', "SubText1 Text2 Text3 Text4" ) ); + item = new ONamedListViewItem( item, QStringList::split( ' ', "Text1 Text2 Text3 HereItComes" ) ); + item = new ONamedListViewItem( item, QStringList::split( ' ', "Text1 Text2 Text3 HereItComesSoon" ) ); + item = new ONamedListViewItem( item, QStringList::split( ' ', "Text1 Text2 Text3 Mickey" ) ); + + if ( lv->find( 3, "Mickey", 3 ) ) + odebug << "found Mickey :-)" << oendl; + else + odebug << "did not found Mickey :-(" << oendl; + + if ( lv->find( 3, "Minni", 0 ) ) + odebug << "found Minni :-)" << oendl; + else + odebug << "did not found Minni :-(" << oendl; + +} + +OListViewDemo::~OListViewDemo() +{ +} + diff --git a/examples/opieui/olistviewdemo/olistviewdemo.h b/examples/opieui/olistviewdemo/olistviewdemo.h new file mode 100644 index 0000000..0b5c498 --- a/dev/null +++ b/examples/opieui/olistviewdemo/olistviewdemo.h @@ -0,0 +1,51 @@ +/* +                 This file is part of the Opie Project + +              Copyright (C) 2003 Michael 'Mickey' Lauer + =. + .=l. +           .>+-= + _;:,     .>    :=|. This program is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef OLISTVIEWDEMO_H +#define OLISTVIEWDEMO_H + +#include +#include + +class OListViewDemo: public QVBox +{ + Q_OBJECT + + public: + OListViewDemo( QWidget* parent=0, const char* name=0, WFlags f=0 ); + virtual ~OListViewDemo(); + + private: + Opie::Ui::ONamedListView* lv; + +}; + +#endif diff --git a/examples/opieui/olistviewdemo/olistviewdemo.pro b/examples/opieui/olistviewdemo/olistviewdemo.pro new file mode 100644 index 0000000..52c3ceb --- a/dev/null +++ b/examples/opieui/olistviewdemo/olistviewdemo.pro @@ -0,0 +1,23 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = olistviewdemo.h +SOURCES = olistviewdemo.cpp \ + main.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopieui2 -lopiecore2 -lqpe +TARGET = olistviewdemo +MOC_DIR = moc +OBJECTS_DIR = obj + + + + +!contains( platform, x11 ) { + include( $(OPIEDIR)/include.pro ) +} + +contains( platform, x11 ) { + LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib +} + diff --git a/examples/opieui/opieui.pro b/examples/opieui/opieui.pro new file mode 100644 index 0000000..853ac50 --- a/dev/null +++ b/examples/opieui/opieui.pro @@ -0,0 +1,5 @@ +TEMPLATE = subdirs +SUBDIRS = olistviewdemo owidgetstack_example osplitter_example + + + diff --git a/examples/opieui/osplitter_example/osplitter_example.cpp b/examples/opieui/osplitter_example/osplitter_example.cpp new file mode 100644 index 0000000..07c7e51 --- a/dev/null +++ b/examples/opieui/osplitter_example/osplitter_example.cpp @@ -0,0 +1,34 @@ +#include "osplitter_example.h" + +/* OPIE */ + +#include +#include +#include +#include + +/* QT*/ +#include +#include + +using namespace Opie::Ui; +using namespace Opie::Core; + +OPIE_EXPORT_APP( OApplicationFactory ) + +OSplitterExample::OSplitterExample( QWidget *w,const char* n,WFlags f ) + : QWidget( w, n, f ){ + QVBoxLayout * lay = new QVBoxLayout(this); + OSplitter * splitter = new OSplitter( Horizontal, this ); + lay->addWidget( splitter ); + + OFileSelector *selector = new OFileSelector( splitter, OFileSelector::FileSelector, + OFileSelector::Normal, QDir::homeDirPath(), + QString::null ); + splitter->addWidget( selector, "zoom", tr("Selector 1") ); + + selector = new OFileSelector( splitter, OFileSelector::FileSelector, OFileSelector::Normal, + QDir::homeDirPath(), QString::null ); + splitter->addWidget( selector, "zoom", tr("Selector 2") ); + +} diff --git a/examples/opieui/osplitter_example/osplitter_example.h b/examples/opieui/osplitter_example/osplitter_example.h new file mode 100644 index 0000000..0cf28aa --- a/dev/null +++ b/examples/opieui/osplitter_example/osplitter_example.h @@ -0,0 +1,19 @@ +/* + * May be used, copied and modified wihtout any limitation + */ + +#ifndef OSPlitter_EXAMPLE_H +#define OSPlitter_EXAMPLE_H + +#include + +class OSplitterExample : public QWidget { + Q_OBJECT +public: + static QString appName() { return QString::fromLatin1("osplitter_example"); } + OSplitterExample( QWidget *parent, const char* name, WFlags fl ); + +}; + + +#endif diff --git a/examples/opieui/osplitter_example/osplitter_example.pro b/examples/opieui/osplitter_example/osplitter_example.pro new file mode 100644 index 0000000..9f156a1 --- a/dev/null +++ b/examples/opieui/osplitter_example/osplitter_example.pro @@ -0,0 +1,13 @@ +CONFIG = qt warn_on +TEMPLATE = app +TARGET = osplitter_example + +HEADERS = osplitter_example.h +SOURCES = osplitter_example.cpp + +INCLUDEPATH += $(OPIEDIR)/include +DEPENDSPATH += $(OPIEDIR)/include + +LIBS += -lqpe -lopieui2 + +include( $(OPIEDIR)/include.pro ) diff --git a/examples/opieui/osplitter_example/osplitter_mail.cpp b/examples/opieui/osplitter_example/osplitter_mail.cpp new file mode 100644 index 0000000..d747bd9 --- a/dev/null +++ b/examples/opieui/osplitter_example/osplitter_mail.cpp @@ -0,0 +1,81 @@ + +#include +#include +#include +#include + +#include + +#include +#include "osplitter_mail.h" + +using namespace Opie::Ui; + +OPIE_EXPORT_APP( OApplicationFactory ) + +class Folder { + int dummy; +}; + +// ----------------------------------------------------------------- + +ListViews::ListViews( QWidget* p, const char* name, WFlags fl ) + : QWidget( p, name, fl ) { + qApp->installEventFilter( this ); + m_lstFolders.setAutoDelete( true ); + QHBoxLayout *lay = new QHBoxLayout(this); + + m_splitter = new OSplitter( Horizontal, this, "SPlitter 1" ); + lay->addWidget( m_splitter ); + connect(m_splitter, SIGNAL(sizeChanged(bool,Orientation) ), + this, SLOT(slotSizeChange(bool,Orientation) ) ); + + m_overview = new QListView( m_splitter ); + m_overview->header()->setClickEnabled( FALSE ); + m_overview->addColumn( tr("Folder") ); +// m_overview->setMaximumWidth( 200 ); + m_splitter->addWidget( m_overview, "zoom", tr("Folder Overview") ); + m_splitter->setSizeChange( 300 ); + + /* OSplitter starts with the small mode */ + m_messages = 0; + m_message = m_attach = 0; + + splitti = new OSplitter( Vertical, m_splitter, "Splitti2" ); + splitti->setSizeChange( 300 ); + splitti->setSizePolicy( QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding ) ); + + QLabel *lbl = new QLabel(splitti); + lbl->setTextFormat ( Qt::RichText ); + lbl->setText("

Test Test Test

Fooooo hjhh

"); + + m_messages = new QListView( splitti ); + m_messages->addColumn(" Messages "); + + folder1 = new QListView( splitti ); + folder1->addColumn( "Messages 2 " ); + + splitti->addWidget(m_messages, "mail", tr("Mails") ); + splitti->addWidget(folder1, "folder", tr("Folder") ); + splitti->addWidget( lbl, "logo", tr("Label") ); + m_message = lbl; + + m_splitter->addWidget( splitti ); + +} + + +ListViews::~ListViews() { + +} + + +bool ListViews::eventFilter( QObject* obj, QEvent* ev ) { + if (!obj->isWidgetType() ) + return false; + if ( ev->type() == QEvent::MouseButtonRelease ) { + owarn << " name " << obj->name() << ", class " << obj->className() << "" << oendl; + } + + return false; +} diff --git a/examples/opieui/osplitter_example/osplitter_mail.h b/examples/opieui/osplitter_example/osplitter_mail.h new file mode 100644 index 0000000..67961fb --- a/dev/null +++ b/examples/opieui/osplitter_example/osplitter_mail.h @@ -0,0 +1,51 @@ +/* + * You may use, modify and distribute this code without any limitation + */ + +/* + * Header file for a more complete email client like + * layout + */ + +#ifndef OPIE_SPLITTER_MAIL_EXAMPLE_H +#define OPIE_SPLITTER_MAIL_EXAMPLE_H + +#include +#include +#include + +#include + + +class Folder; +class QLabel; + +class ListViews : public QWidget { + Q_OBJECT +public: + static QString appName() { return QString::fromLatin1("osplitter-mail"); } + ListViews( QWidget* parent, const char * name, WFlags fl ); + ~ListViews(); + + bool eventFilter( QObject* , QEvent* ); +private: + void initFolders(); + void initFolder( Folder *folder, unsigned int &count ); + + QListView *m_messages, *m_overview; + QLabel *m_message, *m_attach; + QList m_folders; // used in tab mode + QList m_lstFolders; + bool m_mode : 1; // bitfield + Opie::Ui::OSplitter *m_splitter; + Opie::Ui::OSplitter *splitti; + QListView *folder1; +#if 0 +//private slots: +// void slotFolderChanged( QListViewItem* ); +// void slotMessageChanged(); +// void slotSizeChange( bool, const QSize& ); +#endif +}; + +#endif diff --git a/examples/opieui/osplitter_example/osplitter_mail.pro b/examples/opieui/osplitter_example/osplitter_mail.pro new file mode 100644 index 0000000..f9c43ef --- a/dev/null +++ b/examples/opieui/osplitter_example/osplitter_mail.pro @@ -0,0 +1,12 @@ +CONFIG += qt warn_on +TEMPLATE = app +TARGET = osplitter-mail + +INCLUDEPATH += $(OPIEDIR)/include +DEPENDSPATH += $(OPIEDIR)/include + +HEADERS = osplitter_mail.h +SOURCES = osplitter_mail.cpp + +LIBS += -lqpe -lopieui2 +include( $(OPIEDIR)/include.pro ) diff --git a/examples/opieui/oversatileviewdemo/1.png b/examples/opieui/oversatileviewdemo/1.png new file mode 100644 index 0000000..0e2e41b --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/1.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/1small.png b/examples/opieui/oversatileviewdemo/1small.png new file mode 100644 index 0000000..ce6b262 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/1small.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/2.png b/examples/opieui/oversatileviewdemo/2.png new file mode 100644 index 0000000..8a0181d --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/2.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/2small.png b/examples/opieui/oversatileviewdemo/2small.png new file mode 100644 index 0000000..82a4431 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/2small.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/3.png b/examples/opieui/oversatileviewdemo/3.png new file mode 100644 index 0000000..8a58d6c --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/3.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/3small.png b/examples/opieui/oversatileviewdemo/3small.png new file mode 100644 index 0000000..073ba55 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/3small.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/4.png b/examples/opieui/oversatileviewdemo/4.png new file mode 100644 index 0000000..198891b --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/4.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/4small.png b/examples/opieui/oversatileviewdemo/4small.png new file mode 100644 index 0000000..7f1cc01 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/4small.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/5.png b/examples/opieui/oversatileviewdemo/5.png new file mode 100644 index 0000000..ee7344a --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/5.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/5small.png b/examples/opieui/oversatileviewdemo/5small.png new file mode 100644 index 0000000..105b038 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/5small.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/6.png b/examples/opieui/oversatileviewdemo/6.png new file mode 100644 index 0000000..72c3692 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/6.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/6small.png b/examples/opieui/oversatileviewdemo/6small.png new file mode 100644 index 0000000..1db2a30 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/6small.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/folder_closed.png b/examples/opieui/oversatileviewdemo/folder_closed.png new file mode 100644 index 0000000..4157333 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/folder_closed.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/folder_closed32.png b/examples/opieui/oversatileviewdemo/folder_closed32.png new file mode 100644 index 0000000..acc992c --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/folder_closed32.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/folder_opened.png b/examples/opieui/oversatileviewdemo/folder_opened.png new file mode 100644 index 0000000..5e7e37e --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/folder_opened.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/folder_opened32.png b/examples/opieui/oversatileviewdemo/folder_opened32.png new file mode 100644 index 0000000..acd3265 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/folder_opened32.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/leaf.png b/examples/opieui/oversatileviewdemo/leaf.png new file mode 100644 index 0000000..c8435ec --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/leaf.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/leaf32.png b/examples/opieui/oversatileviewdemo/leaf32.png new file mode 100644 index 0000000..5e90ead --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/leaf32.png Binary files differ diff --git a/examples/opieui/oversatileviewdemo/main.cpp b/examples/opieui/oversatileviewdemo/main.cpp new file mode 100644 index 0000000..e48395a --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/main.cpp @@ -0,0 +1,32 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#include "opieuidemo.h" + +#include + +using namespace Opie::Core; +using namespace Opie::Ui; + +int main( int argc, char **argv ) +{ + OApplication a( argc, argv, "Opie UI Demo" ); + odebug << "." << oendl; + OpieUIDemo e; + odebug << "." << oendl; + a.showMainWidget(&e); + odebug << "." << oendl; + return a.exec(); +} diff --git a/examples/opieui/oversatileviewdemo/opieuidemo.cpp b/examples/opieui/oversatileviewdemo/opieuidemo.cpp new file mode 100644 index 0000000..a2cdd5a --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/opieuidemo.cpp @@ -0,0 +1,203 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +***********************************************************************/ + +// Qt + +#include +#include +#include +#include +#include +#include +#include + +// Qtopia + +#include +#include + +// Opie + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include "oversatileviewdemo.h" + +// Local + +#include "opieuidemo.h" + +using namespace Opie::Core; +using namespace Opie::Ui; + +enum Demos { ocompletionbox, olineedit, ocombobox, oeditlistbox, oselector }; + +OpieUIDemo::OpieUIDemo( QWidget* parent, const char* name, WFlags fl ) + : QMainWindow( parent, name, fl ) +{ + + QMenuBar* mbar = this->menuBar(); + OPopupMenu* demo = new OPopupMenu( this ); + demo->setTitle( "Title" ); + demo->setItemParameter( demo->insertItem( "OCompletionBox", this, SLOT( demo(int) ) ), ocompletionbox ); + demo->setItemParameter( demo->insertItem( "OLineEdit", this, SLOT( demo(int) ) ), olineedit ); + demo->setItemParameter( demo->insertItem( "OComboBox", this, SLOT( demo(int) ) ), ocombobox ); + demo->setItemParameter( demo->insertItem( "OEditListBox", this, SLOT( demo(int) ) ), oeditlistbox ); + demo->setItemParameter( demo->insertItem( "OSelector", this, SLOT( demo(int) ) ), oselector ); + mbar->insertItem( "Demonstrate", demo ); + + build(); + +} + +OpieUIDemo::~OpieUIDemo() +{ +} + +void OpieUIDemo::build() +{ + main = new QTabWidget( this, "tabwidget" ); + setCentralWidget( main ); + main->show(); + + main->addTab( new OVersatileViewDemo( main ), "VersatileView" ); +} + + +void OpieUIDemo::demo( int d ) +{ + switch (d) + { + case ocompletionbox: demoOCompletionBox(); break; + case olineedit: demoOLineEdit(); break; + case ocombobox: demoOComboBox(); break; + case oeditlistbox: demoOEditListBox(); break; + case oselector: demoOSelector(); break; + + } + +} + +void OpieUIDemo::demoOCompletionBox() +{ + odebug << "ocompletionbox" << oendl; + + OCompletionBox* box = new OCompletionBox( 0 ); + box->insertItem( "This CompletionBox" ); + box->insertItem( "Says 'Hello World'" ); + box->insertItem( "Here are some" ); + box->insertItem( "Additional Items" ); + box->insertItem( "Complete Completion Box" ); + + connect( box, SIGNAL( activated(const QString&) ), this, SLOT( messageBox(const QString&) ) ); + box->popup(); + +} + +void OpieUIDemo::demoOLineEdit() +{ + odebug << "olineedit" << oendl; + + OLineEdit *edit = new OLineEdit( 0, "lineedit" ); + + edit->setCompletionMode( OGlobalSettings::CompletionPopup ); + OCompletion* comp = edit->completionObject(); + + QStringList list; + list << "mickeyl@handhelds.org"; + list << "mickey@tm.informatik.uni-frankfurt.de"; + list << "mickey@vanille.de"; + + comp->setItems( list ); + + edit->show(); + +} + +void OpieUIDemo::demoOComboBox() +{ + odebug << "ocombobox" << oendl; + + OComboBox *combo = new OComboBox( true, 0, "combobox" ); + + combo->setCompletionMode( OGlobalSettings::CompletionPopup ); + OCompletion* comp = combo->completionObject(); + + QStringList ilist; + ilist << "kergoth@handhelds.org"; + ilist << "harlekin@handhelds.org"; + ilist << "groucho@handhelds.org"; + combo->insertStringList( ilist ); + + QStringList clist; + clist << "mickeyl@handhelds.org"; + clist << "mickey@tm.informatik.uni-frankfurt.de"; + clist << "mickey@vanille.de"; + comp->setItems( clist ); + + combo->show(); + +} + +void OpieUIDemo::demoOEditListBox() +{ + odebug << "oeditlistbox" << oendl; + + OEditListBox* edit = new OEditListBox( "OEditListBox", 0, "editlistbox" ); + + edit->lineEdit()->setCompletionMode( OGlobalSettings::CompletionPopup ); + OCompletion* comp = edit->lineEdit()->completionObject(); + QStringList clist; + clist << "Completion everywhere"; + clist << "Cool Completion everywhere"; + clist << "History History History"; + comp->setItems( clist ); + + QStringList list; + list << "kergoth@handhelds.org"; + list << "harlekin@handhelds.org"; + list << "groucho@handhelds.org"; + list << "mickeyl@handhelds.org"; + edit->insertStringList( list ); + + edit->show(); + +} + +void OpieUIDemo::demoOSelector() +{ + odebug << "oselector" << oendl; + + OHSSelector* sel = new OHSSelector( 0, "gradientselector" ); + //#sel->resize( QSize( 200, 30 ) ); + //#sel->setColors( QColor( 90, 190, 60 ), QColor( 200, 55, 255 ) ); + //#sel->setText( "Dark", "Light" ); + + sel->show(); +} + +void OpieUIDemo::messageBox( const QString& text ) +{ + QString info; + info = "You have selected '" + text + "'"; + QMessageBox::information( this, "OpieUIDemo", info ); +} diff --git a/examples/opieui/oversatileviewdemo/opieuidemo.h b/examples/opieui/oversatileviewdemo/opieuidemo.h new file mode 100644 index 0000000..382885f --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/opieuidemo.h @@ -0,0 +1,60 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#ifndef OPIEUIDEMO_H +#define OPIEUIDEMO_H + +#include + +namespace Opie { +namespace Ui { +class OVersatileView; +} +} +class QTabWidget; +class QVBox; + +class OpieUIDemo : public QMainWindow { + Q_OBJECT + +public: + + OpieUIDemo( QWidget* parent = 0, const char* name = 0, WFlags fl = WType_TopLevel ); + ~OpieUIDemo(); + + void demoOCompletionBox(); + void demoOLineEdit(); + void demoOComboBox(); + void demoOEditListBox(); + void demoOSelector(); + +public slots: + void demo( int ); + void messageBox( const QString& text ); + +protected: + void build(); + void buildVV( QVBox* b ); + +private: + QTabWidget* main; + + Opie::Ui::OVersatileView* vv; + +}; + + + +#endif diff --git a/examples/opieui/oversatileviewdemo/oversatileviewdemo.cpp b/examples/opieui/oversatileviewdemo/oversatileviewdemo.cpp new file mode 100644 index 0000000..e8bbdb1 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/oversatileviewdemo.cpp @@ -0,0 +1,160 @@ +/* +                 This file is part of the Opie Project + +              Copyright (C) 2003 Michael 'Mickey' Lauer + + =. + .=l. +           .>+-= + _;:,     .>    :=|. This program is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "oversatileviewdemo.h" +#include +#include + +#include +#include +#include + +using namespace Opie::Ui; + +OVersatileViewDemo::OVersatileViewDemo( QWidget* parent, const char* name, WFlags f ) + :QVBox( parent, name, f ) +{ + vv = new OVersatileView( this ); + + vv->addColumn( "First" ); + vv->addColumn( "2nd" ); + vv->addColumn( "IIIrd" ); + + QString counter; + + QPixmap leaf( "leaf.png" ); + QPixmap opened( "folder_opened.png" ); + QPixmap closed( "folder_closed.png" ); + + QPixmap leaf32( "leaf32.png" ); + QPixmap opened32( "folder_opened32.png" ); + QPixmap closed32( "folder_closed32.png" ); + + vv->setDefaultPixmaps( OVersatileView::Tree, leaf, opened, closed ); + vv->setDefaultPixmaps( OVersatileView::Icons, leaf32, opened32, closed32 ); + + OVersatileViewItem* item; + OVersatileViewItem* item2; + + for ( int i = 0; i < 5; ++i ) + { + counter.sprintf( "%d", i ); + item = new OVersatileViewItem( vv, "Item", "Text", "Some more", counter ); + item->setRenameEnabled( true ); + item2 = new OVersatileViewItem( item, "OSubitem", "123", "...", counter ); + item2->setRenameEnabled( true ); + + } + + connect( vv, SIGNAL( selectionChanged() ), this, SLOT( selectionChanged() ) ); + connect( vv, SIGNAL( selectionChanged(OVersatileViewItem*) ), this, SLOT( selectionChanged(OVersatileViewItem*) ) ); + connect( vv, SIGNAL( currentChanged(OVersatileViewItem*) ), this, SLOT( currentChanged(OVersatileViewItem*) ) ); + connect( vv, SIGNAL( clicked(OVersatileViewItem*) ), this, SLOT( clicked(OVersatileViewItem*) ) ); + connect( vv, SIGNAL( pressed(OVersatileViewItem*) ), this, SLOT( pressed(OVersatileViewItem*) ) ); + + connect( vv, SIGNAL( doubleClicked(OVersatileViewItem*) ), this, SLOT( doubleClicked(OVersatileViewItem*) ) ); + connect( vv, SIGNAL( returnPressed(OVersatileViewItem*) ), this, SLOT( returnPressed(OVersatileViewItem*) ) ); + + connect( vv, SIGNAL( onItem(OVersatileViewItem*) ), this, SLOT( onItem(OVersatileViewItem*) ) ); + connect( vv, SIGNAL( onViewport() ), this, SLOT( onViewport() ) ); + + connect( vv, SIGNAL( expanded(OVersatileViewItem*) ), this, SLOT( expanded(OVersatileViewItem*) ) ); + connect( vv, SIGNAL( collapsed(OVersatileViewItem*) ), this, SLOT( collapsed(OVersatileViewItem*) ) ); + + connect( vv, SIGNAL( moved() ), this, SLOT( moved() ) ); + + connect( vv, SIGNAL( contextMenuRequested(OVersatileViewItem*,const QPoint&,int) ), this, SLOT( contextMenuRequested(OVersatileViewItem*,const QPoint&,int) ) ); + +} + +OVersatileViewDemo::~OVersatileViewDemo() +{ +} + +void OVersatileViewDemo::selectionChanged() +{ + odebug << "received signal selectionChanged()" << oendl; +} +void OVersatileViewDemo::selectionChanged( OVersatileViewItem * item ) +{ + odebug << "received signal selectionChanged(OVersatileViewItem*)" << oendl; +} +void OVersatileViewDemo::currentChanged( OVersatileViewItem * item ) +{ + odebug << "received signal currentChanged( OVersatileViewItem * )" << oendl; +} +void OVersatileViewDemo::clicked( OVersatileViewItem * item ) +{ + odebug << "received signal clicked( OVersatileViewItem * )" << oendl; +} +void OVersatileViewDemo::pressed( OVersatileViewItem * item ) +{ + odebug << "received signal pressed( OVersatileViewItem * )" << oendl; +} + +void OVersatileViewDemo::doubleClicked( OVersatileViewItem *item ) +{ + odebug << "received signal doubleClicked( OVersatileViewItem *item )" << oendl; +} +void OVersatileViewDemo::returnPressed( OVersatileViewItem *item ) +{ + odebug << "received signal returnPressed( OVersatileViewItem *item )" << oendl; +} + +void OVersatileViewDemo::onItem( OVersatileViewItem *item ) +{ + odebug << "received signal onItem( OVersatileViewItem *item )" << oendl; +} +void OVersatileViewDemo::onViewport() +{ + odebug << "received signal onViewport()" << oendl; +} + +void OVersatileViewDemo::expanded( OVersatileViewItem *item ) +{ + odebug << "received signal expanded( OVersatileViewItem *item )" << oendl; +} + +void OVersatileViewDemo::collapsed( OVersatileViewItem *item ) +{ + odebug << "received signal collapsed( OVersatileViewItem *item )" << oendl; +} + +void OVersatileViewDemo::moved() +{ + odebug << "received signal moved( OVersatileViewItem *item )" << oendl; +} + +void OVersatileViewDemo::contextMenuRequested( OVersatileViewItem *item, const QPoint& pos, int col ) +{ + odebug << "received signal contextMenuRequested( OVersatileViewItem *item )" << oendl; +} diff --git a/examples/opieui/oversatileviewdemo/oversatileviewdemo.h b/examples/opieui/oversatileviewdemo/oversatileviewdemo.h new file mode 100644 index 0000000..35e2c3c --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/oversatileviewdemo.h @@ -0,0 +1,77 @@ +/* +                 This file is part of the Opie Project + +              Copyright (C) 2003 Michael 'Mickey' Lauer + =. + .=l. +           .>+-= + _;:,     .>    :=|. This program is free software; you can +.> <`_,   >  .   <= redistribute it and/or modify it under +:`=1 )Y*s>-.--   : the terms of the GNU Library General Public +.="- .-=="i,     .._ License as published by the Free Software + - .   .-<_>     .<> Foundation; either version 2 of the License, +     ._= =}       : or (at your option) any later version. +    .%`+i>       _;_. +    .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU +..}^=.=       =       ; Library General Public License for more +++=   -.     .`     .: details. + :     =  ...= . :.=- + -.   .:....=;==+<; You should have received a copy of the GNU +  -_. . .   )=.  = Library General Public License along with +    --        :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef OVERSATILEVIEWDEMO_H +#define OVERSATILEVIEWDEMO_H + +#include + +namespace Opie { +namespace Ui { +class OVersatileView; +class OVersatileViewItem; +} +} + +class OVersatileViewDemo: public QVBox +{ + Q_OBJECT + + public: + OVersatileViewDemo( QWidget* parent=0, const char* name=0, WFlags f=0 ); + virtual ~OVersatileViewDemo(); + + public slots: + void selectionChanged(); + void selectionChanged( Opie::Ui::OVersatileViewItem * ); + void currentChanged( Opie::Ui::OVersatileViewItem * ); + void clicked( Opie::Ui::OVersatileViewItem * ); + void pressed( OPie::Ui::OVersatileViewItem * ); + + void doubleClicked( Opie::Ui::OVersatileViewItem *item ); + void returnPressed( Opie::Ui::OVersatileViewItem *item ); + + void onItem( Opie::Ui::OVersatileViewItem *item ); + void onViewport(); + + void expanded( Opie::Ui::OVersatileViewItem *item ); + void collapsed( Opie::Ui::OVersatileViewItem *item ); + + void moved(); + + void contextMenuRequested( Opie::Ui::OVersatileViewItem *item, const QPoint&, int col ); + + private: + Opie::Ui::OVersatileView* vv; + +}; + +#endif diff --git a/examples/opieui/oversatileviewdemo/oversatileviewdemo.pro b/examples/opieui/oversatileviewdemo/oversatileviewdemo.pro new file mode 100644 index 0000000..ff78095 --- a/dev/null +++ b/examples/opieui/oversatileviewdemo/oversatileviewdemo.pro @@ -0,0 +1,17 @@ +TEMPLATE = app +CONFIG = qt warn_on +HEADERS = opieuidemo.h \ + oversatileviewdemo.h +SOURCES = opieuidemo.cpp \ + oversatileviewdemo.cpp \ + main.cpp +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lopieui2 -lopiecore2 +TARGET = opieuidemo +MOC_DIR = moc +OBJECTS_DIR = obj + +include( $(OPIEDIR)/include.pro ) + + 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 @@ +/* + * You may use, modify and distribute this example without any limitation + */ + +#include "owidgetstack_example.h" + +/* OPIE */ +#include +#include +#include + +/* QT */ +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace Opie::Core; +using namespace Opie::Ui; + +OPIE_EXPORT_APP( OApplicationFactory ) + +StackExample::StackExample( QWidget* parent, const char* name, WFlags fl ) + : QMainWindow( parent, name, fl ) +{ + m_stack = new OWidgetStack( this ); + setCentralWidget( m_stack ); + + /* nice Signal Mapper ;) */ + QSignalMapper *sm = new QSignalMapper(this); + connect(sm, SIGNAL(mapped(int) ), m_stack, SLOT(raiseWidget(int)) ); + + /* toolbar first but this should be known from the other examples */ + setToolBarsMovable( false ); + + /* only a menubar here */ + QToolBar* holder = new QToolBar( this ); + holder->setHorizontalStretchable( true ); + + QMenuBar *bar = new QMenuBar( holder ); + QPopupMenu *menu = new QPopupMenu( this ); + + QAction* a = new QAction( tr("Show MainWidget"), Resource::loadPixmap("zoom"), + QString::null, 0, this, 0 ); + sm->setMapping(a, 1 ); + connect(a, SIGNAL(activated() ), + sm, SLOT(map() ) ); + a->addTo( menu ); + + a = new QAction( tr("Show Details Small"), Resource::loadPixmap("zoom"), + QString::null, 0, this, 0 ); + sm->setMapping(a, 2 ); + connect(a, SIGNAL(activated() ), + sm, SLOT(map() ) ); + a->addTo( menu ); + + a = new QAction( tr("Show Details More"), Resource::loadPixmap("zoom"), + QString::null, 0, this, 0 ); + sm->setMapping(a, 3 ); + connect(a, SIGNAL(activated() ), + sm, SLOT(map() ) ); + a->addTo( menu ); + + a = new QAction( tr("Show Details All"), Resource::loadPixmap("zoom"), + QString::null, 0, this, 0 ); + sm->setMapping(a, 4 ); + connect(a, SIGNAL(activated() ), + sm, SLOT(map() ) ); + + bar->insertItem( tr("Actions"), menu ); + + /* now the gui */ + + /* first widget, main widget */ + QWidget * wid = new QWidget( m_stack ); + QGridLayout *grid = new QGridLayout(wid, 2, 2 ); + + QPushButton *btn = new QPushButton( tr("Show Details Small"), wid, "details1" ); + sm->setMapping(btn, 2 ); + connect(btn, SIGNAL(clicked()), sm, SLOT(map() ) ); + grid->addWidget( btn, 0, 0 ); + + btn = new QPushButton( tr("Show Details Medium"), wid, "details2"); + sm->setMapping(btn, 3 ); + connect(btn, SIGNAL(clicked()), sm, SLOT(map() ) ); + grid->addWidget( btn, 0, 1 ); + + btn = new QPushButton( tr("Show Details All"), wid, "details3"); + sm->setMapping(btn, 4 ); + connect(btn, SIGNAL(clicked()), sm, SLOT(map() ) ); + grid->addWidget( btn, 1, 1 ); + + m_stack->addWidget( wid, 1 ); + m_main = wid; + + QLabel *lbl = new QLabel(m_stack ); + lbl->setText(tr("Only small Details are shown here. Määh") ); + m_stack->addWidget( lbl, 2 ); + + lbl = new QLabel( m_stack ); + lbl->setText( tr("Some more details....Wo ist das Schaf?") ); + m_stack->addWidget( lbl, 3 ); + + lbl = new QLabel( m_stack ); + lbl->setText( tr("Ne nicht in Bayerisch Gmain sondern in Berlin
Vermiss und meine Augen werden nicht eckig, da mein Bildschirm abgerundet ist
Es lebe Hamburg Süd,weiss du, verstehst du? ;)
Susi ist dOOf, es lebe die Ofenecke...", "hard to translate that") ); + m_stack->addWidget( lbl, 4 ); + + + /* THE signal mapper does all the magic */ + m_stack->raiseWidget( m_main ); +} + + +StackExample::~StackExample() { + +} + + + +void StackExample::closeEvent( QCloseEvent* ev) { + /* if the close even came when we displayed a details */ + if (m_stack->visibleWidget() != m_main ) { + m_stack->raiseWidget( m_main ); + ev->ignore(); + return; + } + + ev->accept(); +} diff --git a/examples/opieui/owidgetstack_example/owidgetstack_example.h b/examples/opieui/owidgetstack_example/owidgetstack_example.h new file mode 100644 index 0000000..c9b70cb --- a/dev/null +++ b/examples/opieui/owidgetstack_example/owidgetstack_example.h @@ -0,0 +1,27 @@ +/* + * You may use, modify and distribute this example without any limitation + */ + +#ifndef O_STACK_EXAMPLE_SIMPLE_H +#define O_STACK_EXAMPLE_SIMPLE_H + +#include +#include + + +class StackExample : public QMainWindow { + Q_OBJECT +public: + StackExample( QWidget* paren, const char* name, WFlags fl ); + ~StackExample(); + static QString appName() { return QString::fromLatin1("owidgetstack-example"); } + +protected: + void closeEvent( QCloseEvent* e ); +private: + Opie::Ui::OWidgetStack* m_stack; + QWidget* m_main; + +}; + +#endif diff --git a/examples/opieui/owidgetstack_example/owidgetstack_example.pro b/examples/opieui/owidgetstack_example/owidgetstack_example.pro new file mode 100644 index 0000000..4cfce9c --- a/dev/null +++ b/examples/opieui/owidgetstack_example/owidgetstack_example.pro @@ -0,0 +1,13 @@ +CONFIG += qt warn_on +TEMPLATE = app +TARGET = owidgetstack-example + +SOURCES = owidgetstack_example.cpp +HEADERS = owidgetstack_example.h + +INCLUDEPATH += $(OPIEDIR)/include +DEPENDSPATH += $(OPIEDIR)/include + +LIBS += -lqpe -lopieui2 + +include( $(OPIEDIR)/include.pro ) -- cgit v0.9.0.2