From c8d6ebb318e47c8a38211320ffb026da838e16aa Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 26 Jul 2017 15:18:27 +0200 Subject: [PATCH] Ref T111, swift driver config plugin --- .../swiftconfig/simulatorswiftconfig.cpp | 27 ++++++++++++ .../swiftconfig/simulatorswiftconfig.h | 43 +++++++++++++++++++ .../swiftconfig/simulatorswiftconfig.json | 3 ++ .../simulator/swiftconfig/swiftconfig.pro | 28 ++++++++++++ .../swiftconfig/swiftconfigwidget.cpp | 29 +++++++++++++ .../simulator/swiftconfig/swiftconfigwidget.h | 43 +++++++++++++++++++ .../swiftconfig/swiftconfigwidget.ui | 39 +++++++++++++++++ 7 files changed, 212 insertions(+) create mode 100644 src/plugins/simulator/swiftconfig/simulatorswiftconfig.cpp create mode 100644 src/plugins/simulator/swiftconfig/simulatorswiftconfig.h create mode 100644 src/plugins/simulator/swiftconfig/simulatorswiftconfig.json create mode 100644 src/plugins/simulator/swiftconfig/swiftconfig.pro create mode 100644 src/plugins/simulator/swiftconfig/swiftconfigwidget.cpp create mode 100644 src/plugins/simulator/swiftconfig/swiftconfigwidget.h create mode 100644 src/plugins/simulator/swiftconfig/swiftconfigwidget.ui diff --git a/src/plugins/simulator/swiftconfig/simulatorswiftconfig.cpp b/src/plugins/simulator/swiftconfig/simulatorswiftconfig.cpp new file mode 100644 index 000000000..8b1e37236 --- /dev/null +++ b/src/plugins/simulator/swiftconfig/simulatorswiftconfig.cpp @@ -0,0 +1,27 @@ +/* Copyright (C) 2015 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "simulatorswiftconfig.h" +#include "swiftconfigwidget.h" + +namespace BlackSimPlugin +{ + namespace Swift + { + CSimulatorSwiftConfig::CSimulatorSwiftConfig(QObject *parent) : QObject(parent) + { + // void + } + + BlackGui::CPluginConfigWindow *CSimulatorSwiftConfig::createConfigWindow(QWidget *parent) + { + return new CSwiftConfigWidget(parent); + } + } +} diff --git a/src/plugins/simulator/swiftconfig/simulatorswiftconfig.h b/src/plugins/simulator/swiftconfig/simulatorswiftconfig.h new file mode 100644 index 000000000..12872232a --- /dev/null +++ b/src/plugins/simulator/swiftconfig/simulatorswiftconfig.h @@ -0,0 +1,43 @@ +/* Copyright (C) 2017 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKSIMPLUGIN_SIMULATOR_SWIFT_CONFIG_H +#define BLACKSIMPLUGIN_SIMULATOR_SWIFT_CONFIG_H + +#include "blackgui/pluginconfig.h" + +namespace BlackSimPlugin +{ + namespace Swift + { + /*! + * Window for setting up the FSX plugin. + */ + class CSimulatorSwiftConfig : public QObject, public BlackGui::IPluginConfig + { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.swift-project.blackgui.pluginconfiginterface" FILE "simulatorswiftconfig.json") + Q_INTERFACES(BlackGui::IPluginConfig) + + public: + //! Ctor + CSimulatorSwiftConfig(QObject *parent = nullptr); + + //! Dtor + virtual ~CSimulatorSwiftConfig() {} + + //! \copydoc BlackGui::IPluginConfig::createConfigWindow() + BlackGui::CPluginConfigWindow *createConfigWindow(QWidget *parent) override; + }; + } // ns +} // ns + +#endif // guard diff --git a/src/plugins/simulator/swiftconfig/simulatorswiftconfig.json b/src/plugins/simulator/swiftconfig/simulatorswiftconfig.json new file mode 100644 index 000000000..40405cf64 --- /dev/null +++ b/src/plugins/simulator/swiftconfig/simulatorswiftconfig.json @@ -0,0 +1,3 @@ +{ + "identifier" : "org.swift-project.plugins.simulator.swift.config" +} diff --git a/src/plugins/simulator/swiftconfig/swiftconfig.pro b/src/plugins/simulator/swiftconfig/swiftconfig.pro new file mode 100644 index 000000000..daa65eb5c --- /dev/null +++ b/src/plugins/simulator/swiftconfig/swiftconfig.pro @@ -0,0 +1,28 @@ +load(common_pre) + +QT += core widgets dbus network + +TARGET = simulatorswiftconfig +TEMPLATE = lib +CONFIG += plugin shared +CONFIG += blackmisc blackcore blackgui + +DEPENDPATH += . $$SourceRoot/src +INCLUDEPATH += . $$SourceRoot/src + +SOURCES += *.cpp +HEADERS += *.h +FORMS += *.ui + +DISTFILES += simulatorswiftconfig.json +DESTDIR = $$DestRoot/bin/plugins/simulator + +win32 { + dlltarget.path = $$PREFIX/bin/plugins/simulator + INSTALLS += dlltarget +} else { + target.path = $$PREFIX/bin/plugins/simulator + INSTALLS += target +} + +load(common_post) diff --git a/src/plugins/simulator/swiftconfig/swiftconfigwidget.cpp b/src/plugins/simulator/swiftconfig/swiftconfigwidget.cpp new file mode 100644 index 000000000..cb7e030c8 --- /dev/null +++ b/src/plugins/simulator/swiftconfig/swiftconfigwidget.cpp @@ -0,0 +1,29 @@ +/* Copyright (C) 2017 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "swiftconfigwidget.h" +#include "ui_swiftconfigwidget.h" + +using namespace BlackGui; + +namespace BlackSimPlugin +{ + namespace Swift + { + CSwiftConfigWidget::CSwiftConfigWidget(QWidget *parent) : + BlackGui::CPluginConfigWindow(parent), + ui(new Ui::CSwiftConfigWidget) + { + ui->setupUi(this); + } + + CSwiftConfigWidget::~CSwiftConfigWidget() + { } + } // ns +} // ns diff --git a/src/plugins/simulator/swiftconfig/swiftconfigwidget.h b/src/plugins/simulator/swiftconfig/swiftconfigwidget.h new file mode 100644 index 000000000..42e2cf443 --- /dev/null +++ b/src/plugins/simulator/swiftconfig/swiftconfigwidget.h @@ -0,0 +1,43 @@ +/* Copyright (C) 2017 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKSIMPLUGIN_SWIFT_SWIFTCONFIGWIDGET_H +#define BLACKSIMPLUGIN_SWIFT_SWIFTCONFIGWIDGET_H + +#include +#include + +namespace Ui { class CSwiftConfigWidget; } +namespace BlackSimPlugin +{ + namespace Swift + { + /** + * Configuration window for CSimulatorSwiftConfig + */ + class Q_DECL_EXPORT CSwiftConfigWidget : public BlackGui::CPluginConfigWindow + { + Q_OBJECT + + public: + //! Ctor + explicit CSwiftConfigWidget(QWidget *parent = nullptr); + + //! Dtor + virtual ~CSwiftConfigWidget(); + + private: + QScopedPointer ui; + }; + } // ns +} // ns + +#endif // guard diff --git a/src/plugins/simulator/swiftconfig/swiftconfigwidget.ui b/src/plugins/simulator/swiftconfig/swiftconfigwidget.ui new file mode 100644 index 000000000..d6f890c0d --- /dev/null +++ b/src/plugins/simulator/swiftconfig/swiftconfigwidget.ui @@ -0,0 +1,39 @@ + + + CSwiftConfigWidget + + + + 0 + 0 + 320 + 200 + + + + swift pseudo driver + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + BlackGui::Components::CSettingsSwiftPlugin + QFrame +
blackgui/components/settingsswiftplugin.h
+ 1 +
+
+ + +