From ce4a99860d28e003871994cca88a82133c1921a7 Mon Sep 17 00:00:00 2001 From: zecke Date: Sun, 31 Aug 2003 15:20:46 +0000 Subject: Add an Example showing the udage of QCOP, PIM API and some other nice parts --- (limited to 'examples/simple-pim/simple.h') diff --git a/examples/simple-pim/simple.h b/examples/simple-pim/simple.h new file mode 100644 index 0000000..bf9ede7 --- a/dev/null +++ b/examples/simple-pim/simple.h @@ -0,0 +1,95 @@ + +/* + * A Simple widget with a button to quit + * + */ + +/* + * The below sequence is called a guard and guards + * against multiple inclusion of header files + * NOTE: you need to use unique names among the header files + */ +#ifndef QUIET_SIMPLE_DEMO_H +#define QUIET_SIMPLE_DEMO_H + + + + +#include // from this class we will inherit +#include // A ListView for our PIM records + +#include +#include + +class QPushButton; // forward declaration to not include the header. This can save time when compiling +class QAction; +class PIMListView; +class QDate; +class QCopChannel; +class OWait; +class OTabWidget; + +/* + * A mainwindow is a special QWidget it helps layouting + * toolbar, statusbar, menubar. Got dockable areas + * So in one sentence it is a MainWindow :) + */ +class MainWindow : public QMainWindow { + Q_OBJECT +public: + static QString appName() { return QString::fromLatin1("simple-pim"); } + MainWindow( QWidget* parent, const char* name, WFlags fl ); + ~MainWindow(); + +public slots: + void setDocument( const QString& ); +private slots: + void slotDesktopReceive( const QCString&, const QByteArray& ); + void slotLoad(); + void slotLoadForDay(int, int, int ); + void slotLoadForDay(const QDate&); + void slotShow(); + void slotDate(); + void slotShowRecord( const OPimRecord& ); + +private: + void initUI(); + QAction *m_fire; + QAction *m_dateAction; + OTabWidget* m_tab; + + OTodoAccess m_tb; + ODateBookAccess m_db; + PIMListView *m_todoView; + PIMListView *m_dateView; + + int m_synced; // a counter for synced objects.. + QCopChannel *m_desktopChannel; + OWait *m_loading; +}; + +/* + * Instead of the simple QWidgets we will design + * a new widget based on a QListView + * it should show either Todos or EffectiveEvents + */ +class PIMListView : public QListView { + Q_OBJECT +public: + PIMListView( QWidget* parent, const char* name, WFlags fl= 0 ); + ~PIMListView(); + + + void set( OTodoAccess::List ); + void set( const OEffectiveEvent::ValueList& ); + void showCurrentRecord(); + +signals: + void showRecord( const OPimRecord& ); + +private: + static QString makeString( const OEffectiveEvent& ev ); + +}; + +#endif -- cgit v0.9.0.2