kexi
kexievents.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KFORMDESIGNEREVENTS_H
00021 #define KFORMDESIGNEREVENTS_H
00022
00023 #include <qvaluelist.h>
00024 #include <qguardedptr.h>
00025
00026 class QDomNode;
00027 class QObject;
00028
00030
00038 class KEXICORE_EXPORT Event
00039 {
00040 public:
00041 Event(QObject *sender, const QCString &signal,
00042 QObject *receiver, const QCString &slot);
00043 Event(QObject *sender, const QCString &signal,
00044 const QCString &functionName);
00045 Event() : m_type(Slot) {;}
00046 ~Event() {;}
00047
00048 enum { Slot=1000, UserFunction, Action };
00049 int type() {return m_type; }
00050 void setType(int type) { m_type = type; }
00051
00052 QObject* sender() const { return m_sender; }
00053 QObject* receiver() const { return m_receiver; }
00054 QCString signal() const { return m_signal; }
00055 QCString slot() const { return m_slot; }
00056
00057 void setSender(QObject *o) { m_sender = o; }
00058 void setReceiver(QObject *o) { m_receiver = o; }
00059 void setSignal(const QCString &s) { m_signal = s; }
00060 void setSlot(const QCString &s) { m_slot = s; }
00061
00062 protected:
00063 QGuardedPtr<QObject> m_sender;
00064 QCString m_signal;
00065 QGuardedPtr<QObject> m_receiver;
00066 QCString m_slot;
00067 int m_type;
00068 };
00069
00070 class KEXICORE_EXPORT EventList : protected QValueList<Event*>
00071 {
00072 public:
00073 EventList() {;}
00074 ~EventList() {;}
00075
00078 void addEvent(Event *event);
00079 void addEvent(QObject *sender, const QCString &signal, QObject *receiver, const QCString &slot);
00080 void addEvent(QObject *sender, const QCString &signal, const QCString &action);
00082 void removeEvent(Event *event);
00083
00086 EventList* allEventsForObject(QObject *object);
00088
00090 void removeAllEventsForObject(QObject *object);
00091
00092
00093 QValueListConstIterator<Event*> constBegin() const { return QValueList<Event*>::constBegin(); }
00094 QValueListConstIterator<Event*> constEnd() const { return QValueList<Event*>::constEnd(); }
00095 bool isEmpty() const { return QValueList<Event*>::isEmpty(); }
00096 };
00097
00098
00099 #endif
00100
|