00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SETTINGSVIEWEVENTS_H
00026 #define SETTINGSVIEWEVENTS_H
00027
00028
00029 #include "MvcCore/viewevents.h"
00030 #include "MvcCore/genericcontainers.h"
00031
00032 #include "mvcsettings.h"
00033
00034
00035 class AbstractSettingsElement;
00036
00037
00038 class VSettingsEvent : public VEvent {
00039 public:
00040 enum Type {
00041 SettingsValueChanged = VEvent::User,
00042 SettingsKeyRemoved,
00043 User = VEvent::User + 1000
00044 };
00045
00046 VSettingsEvent( Type type, MvcBase* sender )
00047 : VEvent((VEvent::Type)type, sender ) {}
00048
00050 inline static MvcModuleId_t classModuleId() { return MvcSettings::id(); }
00052 virtual MvcModuleId_t moduleId() const { return classModuleId(); }
00053 };
00054
00055
00056 class VSettingsValueChangedEvent : public VSettingsEvent,
00057 public KeyContainer, public ValueContainer {
00058 public:
00059 VSettingsValueChangedEvent( const QString& key, const QVariant& value,
00060 MvcBase* sender )
00061 : VSettingsEvent(SettingsValueChanged, sender),
00062 KeyContainer(key),
00063 ValueContainer(value) {}
00064 };
00065
00066
00067 class VSettingsKeyRemovedEvent : public VSettingsEvent, public KeyContainer {
00068 public:
00069 VSettingsKeyRemovedEvent( const QString& key, MvcBase* sender )
00070 : VSettingsEvent(SettingsKeyRemoved, sender),
00071 KeyContainer(key) {}
00072 };
00073
00074
00075 #endif // ! SETTINGSVIEWEVENTS_H