00001 #ifndef MYTHEVENT_H_
00002 #define MYTHEVENT_H_
00003
00004 #include <qstring.h>
00005 #include <qstringlist.h>
00006 #include <qevent.h>
00007 #include <qdeepcopy.h>
00008
00015 class MPUBLIC MythEvent : public QCustomEvent
00016 {
00017 public:
00018 enum Type { MythEventMessage = (User + 1000) };
00019
00020 MythEvent(int t) : QCustomEvent(t)
00021 { }
00022
00023 MythEvent(const QString lmessage) : QCustomEvent(MythEventMessage)
00024 {
00025 message = QDeepCopy<QString>(lmessage);
00026 extradata = "empty";
00027 }
00028
00029 MythEvent(const QString lmessage, const QStringList &lextradata)
00030 : QCustomEvent(MythEventMessage)
00031 {
00032 message = QDeepCopy<QString>(lmessage);
00033 extradata = lextradata;
00034 }
00035
00036 virtual ~MythEvent() {}
00037
00038 const QString& Message() const { return message; }
00039 const QString& ExtraData(int idx = 0) const { return extradata[idx]; }
00040 const QStringList& ExtraDataList() const { return extradata; }
00041 int ExtraDataCount() const { return extradata.size(); }
00042
00043 virtual MythEvent* clone() { return new MythEvent(message, extradata); }
00044
00045 private:
00046 QString message;
00047 QStringList extradata;
00048 };
00049
00050 #endif