diff options
Diffstat (limited to 'framework/actions/context.h')
-rw-r--r-- | framework/actions/context.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/framework/actions/context.h b/framework/actions/context.h index 562e110e..42ae3a93 100644 --- a/framework/actions/context.h +++ b/framework/actions/context.h | |||
@@ -20,6 +20,18 @@ | |||
20 | 20 | ||
21 | #include <QObject> | 21 | #include <QObject> |
22 | 22 | ||
23 | #define KUBE_CONTEXT_PROPERTY(TYPE, NAME, LOWERCASENAME) \ | ||
24 | public: Q_PROPERTY(TYPE LOWERCASENAME MEMBER m##NAME NOTIFY LOWERCASENAME##Changed) \ | ||
25 | struct NAME { \ | ||
26 | static constexpr const char *name = #LOWERCASENAME; \ | ||
27 | typedef TYPE Type; \ | ||
28 | }; \ | ||
29 | void set##NAME(const TYPE &value) { setProperty(NAME::name, QVariant::fromValue(value)); } \ | ||
30 | TYPE get##NAME() const { return m##NAME; } \ | ||
31 | Q_SIGNALS: void LOWERCASENAME##Changed(); \ | ||
32 | private: TYPE m##NAME; | ||
33 | |||
34 | |||
23 | namespace Kube { | 35 | namespace Kube { |
24 | 36 | ||
25 | class Context : public QObject { | 37 | class Context : public QObject { |
@@ -27,6 +39,7 @@ class Context : public QObject { | |||
27 | public: | 39 | public: |
28 | Context(QObject *parent = 0); | 40 | Context(QObject *parent = 0); |
29 | virtual ~Context(){}; | 41 | virtual ~Context(){}; |
42 | virtual void clear(); | ||
30 | }; | 43 | }; |
31 | 44 | ||
32 | } | 45 | } |