From 4b1798f0cdf87361869e7cf2b341acacd056c410 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 5 Apr 2017 15:04:00 +0200 Subject: Moved cpp code into src directory --- framework/domain/controller.h | 90 ------------------------------------------- 1 file changed, 90 deletions(-) delete mode 100644 framework/domain/controller.h (limited to 'framework/domain/controller.h') diff --git a/framework/domain/controller.h b/framework/domain/controller.h deleted file mode 100644 index bf2a7ace..00000000 --- a/framework/domain/controller.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (c) 2016 Christian Mollekopf - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#pragma once - -#include -#include -#include - -#define KUBE_CONTROLLER_PROPERTY(TYPE, NAME, LOWERCASENAME) \ - public: Q_PROPERTY(TYPE LOWERCASENAME MEMBER m##NAME NOTIFY LOWERCASENAME##Changed) \ - Q_SIGNALS: void LOWERCASENAME##Changed(); \ - private: TYPE m##NAME; \ - public: \ - struct NAME { \ - static constexpr const char *name = #LOWERCASENAME; \ - typedef TYPE Type; \ - }; \ - void set##NAME(const TYPE &value) { setProperty(NAME::name, QVariant::fromValue(value)); } \ - void clear##NAME() { setProperty(NAME::name, QVariant{}); } \ - TYPE get##NAME() const { return m##NAME; } \ - - -#define KUBE_CONTROLLER_ACTION(NAME) \ - Q_PROPERTY (Kube::ControllerAction* NAME##Action READ NAME##Action CONSTANT) \ - private: QScopedPointer action_##NAME; \ - public: Kube::ControllerAction* NAME##Action() const { Q_ASSERT(action_##NAME); return action_##NAME.data(); } \ - private slots: void NAME(); \ - - -namespace Kube { - -class ControllerAction : public QObject { - Q_OBJECT - Q_PROPERTY(bool enabled MEMBER mEnabled NOTIFY enabledChanged) -public: - ControllerAction(); - template - ControllerAction(const typename QtPrivate::FunctionPointer::Object *obj, Func slot) - : ControllerAction() - { - QObject::connect(this, &ControllerAction::triggered, obj, slot); - } - - ~ControllerAction() = default; - - Q_INVOKABLE void execute(); - void setEnabled(bool enabled) { setProperty("enabled", enabled); } - -signals: - void enabledChanged(); - void triggered(); - -private: - bool mEnabled = true; -}; - -class Controller : public QObject { - Q_OBJECT -public: - Controller() = default; - virtual ~Controller() = default; - -public slots: - virtual void clear(); - -signals: - void done(); - void error(); - -protected: - void run(const KAsync::Job &job); -}; - -} -- cgit v1.2.3