-rw-r--r-- | examples/LICENSE | 4 | ||||
-rw-r--r-- | examples/README | 10 | ||||
-rw-r--r-- | examples/applet/simpleimpl.cpp | 17 | ||||
-rw-r--r-- | examples/applet/simpleimpl.h | 5 |
4 files changed, 33 insertions, 3 deletions
diff --git a/examples/LICENSE b/examples/LICENSE new file mode 100644 index 0000000..bb4d39f --- a/dev/null +++ b/examples/LICENSE @@ -0,0 +1,4 @@ +(C) 2003 Holger 'zecke' Freyther + +Examples are part of the Opie Examples series. The example +series may be used, distributed and modified without limitation. diff --git a/examples/README b/examples/README index 3003830..a84e8ee 100644 --- a/examples/README +++ b/examples/README @@ -10,19 +10,27 @@ Note: that some files are found in apps/Examples to really show how to include apps properly. Note: to integrate your apps into the build make clean-configs put your application into a sourcedir edit $OPIEDIR/packages make +Naming Conventions: + Most of the time we prefix member variables with m_. This allows + us to see if a variable in a function is a member + or on the stack. + Function naming we use setFooBar() but fooBar() to get the + value. So please skip the get you're used from Java. + Other than that please try to avoid #ifdef and #defines + use const but we do not have any coding style convetions. simple/ - Simple Widget with quit button simple-icon - Simple Widget with loading resources and playing simple sound simple-main - Simple QMainWindow usage with toolbar and actions main-tab - QMainWindow with central tab widget -simple-pim - QMainWindow + QListView + PIM +simple-pim - QMainWindow + QListView + PIM + QCOP big-pim - Usage of Opie PIM with BigScreen Extension Compile by setting your environment (QTDIR, QMAKESPEC, PATH, OPIEDIR ) qmake -o Makefile example.pro
\ No newline at end of file diff --git a/examples/applet/simpleimpl.cpp b/examples/applet/simpleimpl.cpp index 981e0ab..82fc6e5 100644 --- a/examples/applet/simpleimpl.cpp +++ b/examples/applet/simpleimpl.cpp @@ -72,24 +72,37 @@ void SimpleApplet::paintEvent( QPaintEvent* ) { /* * Here comes the implementation of the interface */ SimpleAppletImpl::SimpleAppletImpl() { } /* needed cause until it is only pure virtual */ SimpleAppletImpl::~SimpleAppletImpl() { + /* + * we will delete our applets as well + * setAUtoDelete makes the QList free + * the objects behind the pointers + */ + m_applets.setAutoDelete( true ); + m_applets.clear(); } /* * For the taskbar interface return a Widget */ QWidget* SimpleAppletImpl::applet( QWidget* parent ) { - /* ownership has the parent */ - return new SimpleApplet( parent ); + /* + * There are problems with ownership. So we add + * our ownlist and clear this; + */ + SimpleApplet* ap = new SimpleApplet( parent ); + m_applets.append( ap ); + + return ap; } /* * A small hint where the Applet Should be displayed */ int SimpleAppletImpl::position()const { return 1; } diff --git a/examples/applet/simpleimpl.h b/examples/applet/simpleimpl.h index 8459c96..f58e2af 100644 --- a/examples/applet/simpleimpl.h +++ b/examples/applet/simpleimpl.h @@ -24,16 +24,18 @@ /* * The taskbar applet interfaces wants us to implement position() and applet() * additionally we need to implement add(), release() and queryInterface for QUnknownInterface * luckiy there is a macro for the reference counting * We provide an Implementation of the interface. */ #include <qwidget.h> +#include <qlist.h> + #include <qpe/taskbarappletinterface.h> /* * Because we only draw an Icon in a fixed width and height * we declare and define SimpleApplet here and you could use QLabel * setPixmap or use QWidget and draw yourself. * You might also want to reimplement mouse*Event to use some simple actions @@ -61,12 +63,15 @@ public: int position()const; /* * macro for reference countint * if reference drops to zero * delete this is called */ Q_REFCOUNT + +private: + QList<SimpleApplet> m_applets; }; #endif |