-rw-r--r-- | library/alarmserver.cpp | 60 | ||||
-rw-r--r-- | library/dummy_api_docu.cpp | 58 |
2 files changed, 118 insertions, 0 deletions
diff --git a/library/alarmserver.cpp b/library/alarmserver.cpp index a75fc7e..6f6f32d 100644 --- a/library/alarmserver.cpp +++ b/library/alarmserver.cpp @@ -316,8 +316,56 @@ void TimerReceiverObject::timerEvent( QTimerEvent * ) the Linux kernel which implements this at the kernel level to minimize battery usage while asleep. + A small example on how to use AlarmServer. + + First we need to connect a slot the AppMessage QCOP call. appMessage + will be emitted if QPE/Application/appname gets called. + + \code + TestApp::TestApp(QWidget *parent, const char* name, WFlags fl ) + : QMainWindow(parent,name,fl){ + connect(qApp,SIGNAL(appMessage(const QCString&,const QByteArray&)), + this,SLOT(slotAppMessage(const QCString&,const QByteArray&))); + } + \endcode + + To add / delete an alarm, you can use the static method AlarmServer::addAlarm and + AlarmServer::deleteAlarm. Note that an old (expired) alarm will automatically be deleted + from the alarmserver list, but a change in timing will have the effect, that both + alarms will be emitted. So if you change an Alarm be sure to delete the old one! + @see addAlarm + + \code + QDateTime oldDt = oldAlarmDateTime(); + QPEApplication::execDialog(ourDlg); + QDateTime newDt = ourDlg->dateTime(); + if(newDt == oldDt ) return; + @slash* code is missing for unsetting an alarm *@slash + + AlarmServer::deleteAlarm(oldDt,"QPE/Application/appname","checkAlarm(QDateTime,int)",0); + AlarmServer::addAlarm( newDt,"QPE/AlarmServer/appname","checkAlarm(QDateTime,int)",0); + + \endcode + + Now once the Alarm is emitted you need to check the appMessage and then do what you want. + \code + void TestApp::slotAppMessage(const QCString& str, const QByteArray& ar ){ + QDataStream stream(ar,IO_ReadOnly); + if(str == "checkAlarm(QDateTime,int)" ){ + QDateTime dt; + int a; + stream >> dt >> a; + // fire up alarm + } + } + \endcode + \ingroup qtopiaemb \sa QCopEnvelope + @see QPEApplication::appMessage(const QCString&,const QByteArray&) + @see OPimMainWindow + @see ODevice::alarmSound() + @see Sound::soundAlarm() */ /*! @@ -329,6 +377,18 @@ void TimerReceiverObject::timerEvent( QTimerEvent * ) call the subsequent call is ignored, so there is only ever one alarm with a given set of parameters. + Once an alarm is emitted. The \a channel with a \a message will be emitted + and data will be send. + The QDateTime and int are the two parameters included in the QCOP message. + You can specify channel, message and the integer parameter. QDateTime will be + the datetime of the QCop call. + + @param when The QDateTime of the alarm + @param channel The channel which gets called once the alarm is emitted + @param message The message to be send to the channel + @param data Additional data as integer + + @see QCopChannel \sa deleteAlarm() */ void AlarmServer::addAlarm ( QDateTime when, const QCString& channel, diff --git a/library/dummy_api_docu.cpp b/library/dummy_api_docu.cpp index 6b76401..f2153df 100644 --- a/library/dummy_api_docu.cpp +++ b/library/dummy_api_docu.cpp @@ -309,3 +309,61 @@ * * From left to right. 0 is left. The clock uses 10 */ + + +/** + * \class WindowDecorationInterface + * + * Interface class for Window Decorations. Yu need to implement + * metric and drawing functions. + */ + +/** + * \class WindowDecorationInterface::WindowData + * + * Window informations like the QRect, Palette, Caption + * and flag + */ + +/** + * \fn int WindowDecorationInterface::metric(Metric m,const WindowData* ) + * + * Return the width for the item out of Metric. + * Normally you will case Metric and default: should call the interface + * method. Also return 0 + */ + +/** + * \fn void WindowDecorationInterface::drawArea( Area a, QPainter* , const WindowData* )const + * + * draw the Area specefic in a to the QPainter + */ + +/** + * \fn void WindowDecorationInterface::drawButton(Button b,QPainter*p ,const WindowData* d, int x, int y, int w,int h, QWSButton::State s)const + * + * @param b The Button to be drawn + * @param p The painter to draw at + * @param d The Window Data + * @param x The X position of the button + * @param y The Y position of the button + * @param w The width of the button + * @param h The height of the button + * @param s The state of the button + */ + +/** + * \fn QRegion WindowDecorationInterface::mask( const WindowData* )const + * + * The mask of the Decoration. + * + * \code + * int th = metric(TitleHeight,wd); + * QRect rect( wd->rect ); + * QRect r(rect.left() - metric(LeftBorder,wd), + * rect.top() - th - metric(TopBorder,wd), + * rect.width() + metric(LeftBorder,wd) + metric(RightBorder,wd), + * rect.height() + th + metric(TopBorder,wd) + metric(BottomBorder,wd)); + * return QRegion(r) - rect; + * \endcode + */ |