diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-12-06 10:44:11 -0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-07 19:26:04 +0100 |
commit | 6f2c3eaf5db93b0ba4383ecc0084d65db29ed059 (patch) | |
tree | 6bf61f954b395bad57f6bdf887f61c0e1231f9ed | |
parent | 846d95ff6dc145677d4ffa58e57b8fb37bdac0a8 (diff) |
Fix wrong use of -z parameter when linking DuSE-MT on Mac
Change-Id: Ic4fb3af1cc16414f65f460a46a94dd4242368ad9
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
38 files changed, 314 insertions, 115 deletions
diff --git a/examples/uml/duse-mt/src/app/aboutdusemt.ui b/examples/uml/duse-mt/src/app/aboutdusemt.ui index c8b5a05e..7ad998a3 100644 --- a/examples/uml/duse-mt/src/app/aboutdusemt.ui +++ b/examples/uml/duse-mt/src/app/aboutdusemt.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>AboutDuSEMT</class> - <widget class="QDialog" name="AboutDuSEMT"> + <class>DuSE::AboutDuSEMT</class> + <widget class="QDialog" name="DuSE::AboutDuSEMT"> <property name="geometry"> <rect> <x>0</x> @@ -142,7 +142,7 @@ <connection> <sender>buttonBox</sender> <signal>accepted()</signal> - <receiver>AboutDuSEMT</receiver> + <receiver>DuSE::AboutDuSEMT</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> @@ -158,7 +158,7 @@ <connection> <sender>buttonBox</sender> <signal>rejected()</signal> - <receiver>AboutDuSEMT</receiver> + <receiver>DuSE::AboutDuSEMT</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> diff --git a/examples/uml/duse-mt/src/app/aboutplugins.ui b/examples/uml/duse-mt/src/app/aboutplugins.ui index b3fdd1c8..1afaaed9 100644 --- a/examples/uml/duse-mt/src/app/aboutplugins.ui +++ b/examples/uml/duse-mt/src/app/aboutplugins.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>AboutPlugins</class> - <widget class="QDialog" name="AboutPlugins"> + <class>DuSE::AboutPlugins</class> + <widget class="QDialog" name="DuSE::AboutPlugins"> <property name="geometry"> <rect> <x>0</x> @@ -67,7 +67,7 @@ <connection> <sender>buttonBox</sender> <signal>accepted()</signal> - <receiver>AboutPlugins</receiver> + <receiver>DuSE::AboutPlugins</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> @@ -83,7 +83,7 @@ <connection> <sender>buttonBox</sender> <signal>rejected()</signal> - <receiver>AboutPlugins</receiver> + <receiver>DuSE::AboutPlugins</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> diff --git a/examples/uml/duse-mt/src/app/mainwindow.ui b/examples/uml/duse-mt/src/app/mainwindow.ui index 5753274d..a7a34325 100644 --- a/examples/uml/duse-mt/src/app/mainwindow.ui +++ b/examples/uml/duse-mt/src/app/mainwindow.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>MainWindow</class> - <widget class="QMainWindow" name="MainWindow"> + <class>DuSE::MainWindow</class> + <widget class="QMainWindow" name="DuSE::MainWindow"> <property name="geometry"> <rect> <x>0</x> @@ -208,7 +208,7 @@ <connection> <sender>actionFileQuit</sender> <signal>triggered()</signal> - <receiver>MainWindow</receiver> + <receiver>DuSE::MainWindow</receiver> <slot>close()</slot> <hints> <hint type="sourcelabel"> diff --git a/examples/uml/duse-mt/src/app/newmodel.ui b/examples/uml/duse-mt/src/app/newmodel.ui index 7e681f2f..e2637dae 100644 --- a/examples/uml/duse-mt/src/app/newmodel.ui +++ b/examples/uml/duse-mt/src/app/newmodel.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>NewModel</class> - <widget class="QDialog" name="NewModel"> + <class>DuSE::NewModel</class> + <widget class="QDialog" name="DuSE::NewModel"> <property name="geometry"> <rect> <x>0</x> @@ -65,7 +65,7 @@ <connection> <sender>buttonBox</sender> <signal>accepted()</signal> - <receiver>NewModel</receiver> + <receiver>DuSE::NewModel</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> @@ -81,7 +81,7 @@ <connection> <sender>buttonBox</sender> <signal>rejected()</signal> - <receiver>NewModel</receiver> + <receiver>DuSE::NewModel</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> diff --git a/examples/uml/duse-mt/src/app/shell/mainwindow.cpp b/examples/uml/duse-mt/src/app/shell/mainwindow.cpp index 76e06eda..19205793 100644 --- a/examples/uml/duse-mt/src/app/shell/mainwindow.cpp +++ b/examples/uml/duse-mt/src/app/shell/mainwindow.cpp @@ -45,6 +45,7 @@ #include "ui_newmodel.h" #include <QtCore/QTimer> +#include <QtCore/QDebug> #include <QtCore/QSettings> #include <QtCore/QJsonArray> #include <QtCore/QJsonObject> @@ -140,7 +141,7 @@ void MainWindow::on_actionFileOpenModel_triggered() QMessageBox::critical(this, tr("Open model"), ICore::self()->projectController()->errorStrings().first()); return; } - setWindowTitle(QFileInfo(QFile(fileName)).fileName() + " - DuSE-MT"); + setWindowTitle(QFileInfo(fileName).fileName() + " - DuSE-MT"); // _currentFileName = fileName; //// foreach (QWrappedObject *object, _inputModel) diff --git a/examples/uml/duse-mt/src/app/shell/mainwindow.h b/examples/uml/duse-mt/src/app/shell/mainwindow.h index 7c0f03f1..c865c72c 100644 --- a/examples/uml/duse-mt/src/app/shell/mainwindow.h +++ b/examples/uml/duse-mt/src/app/shell/mainwindow.h @@ -43,28 +43,30 @@ #include <QtWidgets/QMainWindow> +QT_BEGIN_NAMESPACE class QQuickItem; class QQmlComponent; class QTreeWidgetItem; -namespace Ui { - class MainWindow; - class AboutPlugins; - class AboutDuSEMT; - class NewModel; -} - class QModelingElement; //class QModelingObject; class QMetaModelPlugin; class QModelingObjectModel; class QProgressDialog; +QT_END_NAMESPACE class NewDuseDesignDialog; namespace DuSE { +namespace Ui { + class MainWindow; + class AboutPlugins; + class AboutDuSEMT; + class NewModel; +} + class IPlugin; class MainWindow : public QMainWindow diff --git a/examples/uml/duse-mt/src/app/shell/plugincontroller.h b/examples/uml/duse-mt/src/app/shell/plugincontroller.h index 5e275d8f..acaab850 100644 --- a/examples/uml/duse-mt/src/app/shell/plugincontroller.h +++ b/examples/uml/duse-mt/src/app/shell/plugincontroller.h @@ -46,10 +46,12 @@ #include <QtCore/QHash> #include <QtCore/QStringList> -class QMetaModelPlugin; - +QT_BEGIN_NAMESPACE class QTreeWidgetItem; +class QMetaModelPlugin; +QT_END_NAMESPACE + namespace DuSE { diff --git a/examples/uml/duse-mt/src/app/shell/projectcontroller.h b/examples/uml/duse-mt/src/app/shell/projectcontroller.h index 5534d7a0..12536525 100644 --- a/examples/uml/duse-mt/src/app/shell/projectcontroller.h +++ b/examples/uml/duse-mt/src/app/shell/projectcontroller.h @@ -45,6 +45,12 @@ #include "mainwindow.h" +QT_BEGIN_NAMESPACE +class QModelingObject; +class QModelingElement; +class QMetaModelPlugin; +QT_END_NAMESPACE + namespace DuSE { diff --git a/examples/uml/duse-mt/src/duse-mt-plugin.pri b/examples/uml/duse-mt/src/duse-mt-plugin.pri index c21d82e7..adafd1e2 100644 --- a/examples/uml/duse-mt/src/duse-mt-plugin.pri +++ b/examples/uml/duse-mt/src/duse-mt-plugin.pri @@ -27,12 +27,24 @@ isEmpty(PROVIDER) { DESTDIR = $$DUSEMT_PLUGIN_PATH/$$PROVIDER LIBS += -L$$DESTDIR -QMAKE_RPATHDIR += \$\$ORIGIN -QMAKE_RPATHDIR += \$\$ORIGIN/.. -QMAKE_RPATHDIR += \$\$ORIGIN/../.. -DUSEMT_PLUGIN_RPATH = $$join(QMAKE_RPATHDIR, ":") -QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${DUSEMT_PLUGIN_RPATH}\' -QMAKE_RPATHDIR = +macx { + !isEmpty(TIGER_COMPAT_MODE) { + QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../PlugIns/ + } else { + QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/ + QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../,-rpath,@executable_path/../ + } +} else:linux-* { + #do the rpath by hand since it's not possible to use ORIGIN in QMAKE_RPATHDIR + # this expands to $ORIGIN (after qmake and make), it does NOT read a qmake var + QMAKE_RPATHDIR += \$\$ORIGIN + QMAKE_RPATHDIR += \$\$ORIGIN/.. + QMAKE_RPATHDIR += \$\$ORIGIN/../.. + DUSEMT_PLUGIN_RPATH = $$join(QMAKE_RPATHDIR, ":") + + QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${DUSEMT_PLUGIN_RPATH}\' + QMAKE_RPATHDIR = +} TEMPLATE = lib CONFIG += plugin plugin_with_soname diff --git a/examples/uml/duse-mt/src/libs/duseinterfaces/iplugincontroller.h b/examples/uml/duse-mt/src/libs/duseinterfaces/iplugincontroller.h index 075d832b..5c79928d 100644 --- a/examples/uml/duse-mt/src/libs/duseinterfaces/iplugincontroller.h +++ b/examples/uml/duse-mt/src/libs/duseinterfaces/iplugincontroller.h @@ -41,19 +41,23 @@ #ifndef IPLUGINCONTROLLER_H #define IPLUGINCONTROLLER_H +#include "duseinterfaces_global.h" + #include <QtCore/QObject> #include <QtCore/QPair> #include <QtCore/QJsonObject> +QT_BEGIN_NAMESPACE class QMetaModelPlugin; +QT_END_NAMESPACE namespace DuSE { class IPlugin; -class IPluginController : public QObject +class DUSEINTERFACESSHARED_EXPORT IPluginController : public QObject { Q_OBJECT diff --git a/examples/uml/duse-mt/src/libs/duseinterfaces/iprojectcontroller.h b/examples/uml/duse-mt/src/libs/duseinterfaces/iprojectcontroller.h index dc89e220..5442cbca 100644 --- a/examples/uml/duse-mt/src/libs/duseinterfaces/iprojectcontroller.h +++ b/examples/uml/duse-mt/src/libs/duseinterfaces/iprojectcontroller.h @@ -41,20 +41,24 @@ #ifndef IPROJECTCONTROLLER_H #define IPROJECTCONTROLLER_H +#include "duseinterfaces_global.h" + #include <QtCore/QObject> #include <QtCore/QString> +QT_BEGIN_NAMESPACE class QWidget; class QModelingObject; class QModelingElement; class QMetaModelPlugin; +QT_END_NAMESPACE namespace DuSE { -class IProjectController : public QObject +class DUSEINTERFACESSHARED_EXPORT IProjectController : public QObject { Q_OBJECT diff --git a/examples/uml/duse-mt/src/libs/duseinterfaces/iuicontroller.h b/examples/uml/duse-mt/src/libs/duseinterfaces/iuicontroller.h index 080deb64..e9916651 100644 --- a/examples/uml/duse-mt/src/libs/duseinterfaces/iuicontroller.h +++ b/examples/uml/duse-mt/src/libs/duseinterfaces/iuicontroller.h @@ -41,23 +41,27 @@ #ifndef IUICONTROLLER_H #define IUICONTROLLER_H +#include "duseinterfaces_global.h" + #include <QtCore/QObject> #include <QtCore/QString> #include <QtGui/QIcon> +QT_BEGIN_NAMESPACE class QModelingObject; class QAction; class QWidget; class QQuickItem; class QMainWindow; +QT_END_NAMESPACE namespace DuSE { -class IUiController : public QObject +class DUSEINTERFACESSHARED_EXPORT IUiController : public QObject { Q_OBJECT diff --git a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.cpp b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.cpp index f3aa5cbe..f97e990b 100644 --- a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.cpp @@ -45,14 +45,19 @@ #include <duseinterfaces/iplugincontroller.h> #include "iarchitecturerecoverybackend.h" +namespace DuSE +{ + ArchitectureRecoveryCorePlugin::ArchitectureRecoveryCorePlugin(QObject *parent) : - DuSE::IPlugin(parent) + IPlugin(parent) { } bool ArchitectureRecoveryCorePlugin::initialize() { - qDebug() << DuSE::ICore::self()->pluginController()->pluginsByType<IArchitectureRecoveryBackend *>(); + qDebug() << ICore::self()->pluginController()->pluginsByType<DuSE::IArchitectureRecoveryBackend *>(); return true; } +} + diff --git a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.h b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.h index e5ff7aae..a83fa66f 100644 --- a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.h +++ b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.h @@ -43,7 +43,10 @@ #include <duseinterfaces/iplugin.h> -class ArchitectureRecoveryCorePlugin : public DuSE::IPlugin +namespace DuSE +{ + +class ArchitectureRecoveryCorePlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "architecturerecoverycore.json") @@ -54,5 +57,7 @@ public: virtual bool initialize(); }; +} + #endif // ARCHITECTURERECOVERYCOREPLUGIN diff --git a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoveryalgorithm.h b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoveryalgorithm.h index 71a13974..9d69b125 100644 --- a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoveryalgorithm.h +++ b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoveryalgorithm.h @@ -41,6 +41,9 @@ #ifndef IARCHITECTURERECOVERYALGORITHM_H #define IARCHITECTURERECOVERYALGORITHM_H +namespace DuSE +{ + class IDevelopmentPlatform; class IModelingNotation; @@ -57,5 +60,7 @@ public: virtual IModelingNotation* modelingNotation() = 0; }; +} + #endif // IARCHITECTURERECOVERYALGORITHM_H diff --git a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoverybackend.h b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoverybackend.h index 93e066b1..9d7b2500 100644 --- a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoverybackend.h +++ b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoverybackend.h @@ -43,6 +43,9 @@ #include <QObjectList> +namespace DuSE +{ + class IArchitectureRecoveryBackend { @@ -51,5 +54,7 @@ public: virtual QObjectList connectors() = 0; }; +} + #endif // IARCHITECTURERECOVERYBACKEND_H diff --git a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/imodelingnotation.h b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/imodelingnotation.h index 493fe2df..504e1baa 100644 --- a/examples/uml/duse-mt/src/plugins/architecturerecoverycore/imodelingnotation.h +++ b/examples/uml/duse-mt/src/plugins/architecturerecoverycore/imodelingnotation.h @@ -41,7 +41,12 @@ #ifndef IMODELINGNOTATION_H #define IMODELINGNOTATION_H +QT_BEGIN_NAMESPACE class QString; +QT_END_NAMESPACE + +namespace DuSE +{ class IModelingNotation { @@ -50,5 +55,7 @@ public: virtual void generateDiagram(const QString &name) = 0; }; +} + #endif // IMODELINGNOTATION_H diff --git a/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.cpp b/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.cpp index ff8ca7f0..3e2dc1fb 100644 --- a/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.cpp @@ -53,10 +53,14 @@ #include <QtWidgets/QWidget> +#include <QtCore/QDebug> #include <QtCore/QRegularExpression> +namespace DuSE +{ + ConcreteSyntaxViewPlugin::ConcreteSyntaxViewPlugin(QObject *parent) : - DuSE::IPlugin(parent), + IPlugin(parent), _concreteSyntaxQuickView(new QQuickView) { } @@ -64,11 +68,11 @@ ConcreteSyntaxViewPlugin::ConcreteSyntaxViewPlugin(QObject *parent) : bool ConcreteSyntaxViewPlugin::initialize() { _concreteSyntaxQuickView->setResizeMode(QQuickView::SizeRootObjectToView); - DuSE::ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_concreteSyntaxQuickView), "Concrete Syntax"); + ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_concreteSyntaxQuickView), "Concrete Syntax"); initializeQuickView(); - connect(DuSE::ICore::self()->uiController(), &DuSE::IUiController::addToView, this, &ConcreteSyntaxViewPlugin::addToView); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelAboutToBeClosed(QList<QModelingObject *>)), this, SLOT(initializeQuickView())); + connect(ICore::self()->uiController(), &IUiController::addToView, this, &ConcreteSyntaxViewPlugin::addToView); + connect(ICore::self()->projectController(), SIGNAL(modelAboutToBeClosed(QList<QModelingObject *>)), this, SLOT(initializeQuickView())); return true; } @@ -101,3 +105,5 @@ void ConcreteSyntaxViewPlugin::addToView(QObject *selectedModelingObject, QQuick qmlComponent->deleteLater(); } +} + diff --git a/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.h b/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.h index d0b72354..df485f36 100644 --- a/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.h +++ b/examples/uml/duse-mt/src/plugins/concretesyntaxview/concretesyntaxviewplugin.h @@ -43,10 +43,15 @@ #include <duseinterfaces/iplugin.h> +QT_BEGIN_NAMESPACE class QQuickView; class QQuickItem; +QT_END_NAMESPACE -class ConcreteSyntaxViewPlugin : public DuSE::IPlugin +namespace DuSE +{ + +class ConcreteSyntaxViewPlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "concretesyntaxview.json") @@ -64,5 +69,7 @@ private: QQuickView *_concreteSyntaxQuickView; }; +} + #endif // CONCRETESYNTAXVIEWPLUGIN_H diff --git a/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.cpp b/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.cpp index 597b51c1..43530a5f 100644 --- a/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.cpp @@ -46,8 +46,11 @@ #include <QtWidgets/QWidget> +namespace DuSE +{ + DesignOptimizerPlugin::DesignOptimizerPlugin(QObject *parent) : - DuSE::IPlugin(parent), + IPlugin(parent), _paretoFrontQuickView(new QQuickView) { } @@ -57,8 +60,10 @@ bool DesignOptimizerPlugin::initialize() _paretoFrontQuickView->setSource(QUrl("qrc:/designoptimizer/paretofront.qml")); _paretoFrontQuickView->setResizeMode(QQuickView::SizeRootObjectToView); - DuSE::ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_paretoFrontQuickView), "Pareto Front"); + ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_paretoFrontQuickView), "Pareto Front"); return true; } +} + diff --git a/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.h b/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.h index 19d26ad8..ab9d443f 100644 --- a/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.h +++ b/examples/uml/duse-mt/src/plugins/designoptimizer/designoptimizerplugin.h @@ -43,9 +43,14 @@ #include <duseinterfaces/iplugin.h> +QT_BEGIN_NAMESPACE class QQuickView; +QT_END_NAMESPACE -class DesignOptimizerPlugin : public DuSE::IPlugin +namespace DuSE +{ + +class DesignOptimizerPlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "designoptimizer.json") @@ -59,5 +64,7 @@ private: QQuickView *_paretoFrontQuickView; }; +} + #endif // DESIGNOPTIMIZERPLUGIN_H diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp index 01c966f6..5c932725 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp @@ -65,10 +65,12 @@ #include <QtUml/QUmlModel> #include <QtUml/QUmlProfile> +#include <QtUml/QUmlProperty> #include <QtUml/QUmlOpaqueExpression> #include <QtUml/QUmlProfileApplication> #include <QtDuse/QDuseDesignSpace> +#include <QtDuse/QDuseModelChange> #include <QtDuse/QDuseVariationPoint> #include <QtDuse/QDuseDesignDimension> #include <QtDuse/QDuseDesignDimensionInstance> @@ -115,14 +117,17 @@ void scriptValueToQList(const QScriptValue &obj, QList<T *> &elements) } } +namespace DuSE +{ + DesignSpaceExplorerPlugin::DesignSpaceExplorerPlugin(QObject *parent) : - DuSE::IPlugin(parent), + IPlugin(parent), _currentDesignSpaceLocationQuickView(new QQuickView), _metricsQuickView(new QQuickView), _designSpaceExplorer(new QTableWidget), _currentDesignSpaceLocationView(new QModelingObjectView), _currentDesignSpaceLocationQtModel(new QModelingObjectModel), - _newDuseDesignDialog(new NewDuseDesignDialog), + _newDuseDesignDialog(new DuSE::NewDuseDesignDialog), _engine(0) { _currentDesignSpaceLocationView->setModel(_currentDesignSpaceLocationQtModel); @@ -139,14 +144,14 @@ bool DesignSpaceExplorerPlugin::initialize() _currentDesignSpaceLocationQuickView->setSource(QUrl("qrc:/designspaceexplorer/currentdesignspacelocation.qml")); _currentDesignSpaceLocationQuickView->setResizeMode(QQuickView::SizeRootObjectToView); - DuSE::ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_currentDesignSpaceLocationQuickView), "Current Design Space Location"); + ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_currentDesignSpaceLocationQuickView), "Current Design Space Location"); _metricsQuickView->setSource(QUrl("qrc:/designspaceexplorer/qualitymetrics/qualitymetrics.qml")); _metricsQuickView->setResizeMode(QQuickView::SizeRootObjectToView); - DuSE::ICore::self()->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Quality Metrics"), QWidget::createWindowContainer(_metricsQuickView)); + ICore::self()->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Quality Metrics"), QWidget::createWindowContainer(_metricsQuickView)); - DuSE::ICore::self()->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Current Location Inspector"), _currentDesignSpaceLocationView); + ICore::self()->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Current Location Inspector"), _currentDesignSpaceLocationView); _designSpaceExplorer->setAlternatingRowColors(true); _designSpaceExplorer->horizontalHeader()->setStretchLastSection(true); @@ -160,7 +165,7 @@ bool DesignSpaceExplorerPlugin::initialize() _designSpaceExplorer->resizeColumnToContents(1); _designSpaceExplorer->resizeColumnToContents(2); - DuSE::ICore::self()->uiController()->addDockWidget(Qt::RightDockWidgetArea, "Design Space Explorer", _designSpaceExplorer); + ICore::self()->uiController()->addDockWidget(Qt::RightDockWidgetArea, "Design Space Explorer", _designSpaceExplorer); QString iconThemeName; @@ -177,7 +182,7 @@ bool DesignSpaceExplorerPlugin::initialize() } _actionFileNewDuseDesign->setIcon(icon8); connect(_actionFileNewDuseDesign, &QAction::triggered, this, &DesignSpaceExplorerPlugin::newDuseDesign); - DuSE::ICore::self()->uiController()->addAction(_actionFileNewDuseDesign, "menu_File"); + ICore::self()->uiController()->addAction(_actionFileNewDuseDesign, "menu_File"); QAction *_actionFileOpenDuseDesign = new QAction(0); _actionFileOpenDuseDesign->setText(QApplication::translate("MainWindow", "Open DuSE Design ...", 0)); @@ -192,12 +197,12 @@ bool DesignSpaceExplorerPlugin::initialize() } _actionFileOpenDuseDesign->setIcon(icon9); connect(_actionFileOpenDuseDesign, &QAction::triggered, this, &DesignSpaceExplorerPlugin::openDuseDesign); - DuSE::ICore::self()->uiController()->addAction(_actionFileOpenDuseDesign, "menu_File"); + ICore::self()->uiController()->addAction(_actionFileOpenDuseDesign, "menu_File"); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), this, SLOT(initializeEngine(QList<QModelingObject*>))); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelAboutToBeClosed(QList<QModelingObject*>)), this, SLOT(destroyEngine())); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelClosed()), _currentDesignSpaceLocationQtModel, SLOT(clear())); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelClosed()), this, SLOT(resetDesignSpaceExplorer())); + connect(ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), this, SLOT(initializeEngine(QList<QModelingObject*>))); + connect(ICore::self()->projectController(), SIGNAL(modelAboutToBeClosed(QList<QModelingObject*>)), this, SLOT(destroyEngine())); + connect(ICore::self()->projectController(), SIGNAL(modelClosed()), _currentDesignSpaceLocationQtModel, SLOT(clear())); + connect(ICore::self()->projectController(), SIGNAL(modelClosed()), this, SLOT(resetDesignSpaceExplorer())); return true; } @@ -230,7 +235,7 @@ void DesignSpaceExplorerPlugin::resetDesignSpaceExplorer() void DesignSpaceExplorerPlugin::newDuseDesign() { - DuSE::ICore::self()->projectController()->closeModel(); + ICore::self()->projectController()->closeModel(); resetDesignSpaceExplorer(); do { if (_newDuseDesignDialog->exec() == QDialog::Accepted) { @@ -249,13 +254,13 @@ void DesignSpaceExplorerPlugin::newDuseDesign() QMessageBox::critical(0, tr("Create new DuSE design"), QStringLiteral("%1 is not a valid DuSE instance !").arg(QFileInfo(file).fileName())); return; } - if (!DuSE::ICore::self()->projectController()->openModel(_newDuseDesignDialog->_inputModelFileName)) { + if (!ICore::self()->projectController()->openModel(_newDuseDesignDialog->_inputModelFileName)) { QMessageBox::critical(0, tr("Create new DuSE design"), QStringLiteral("Error loading input file %1 !").arg(_newDuseDesignDialog->_inputModelFileName)); return; } bool found = false; - QUmlModel *package = dynamic_cast<QUmlModel *>(DuSE::ICore::self()->projectController()->currentModelElements().first()); + QUmlModel *package = dynamic_cast<QUmlModel *>(ICore::self()->projectController()->currentModelElements().first()); QDuseDesignSpace *designSpace = dynamic_cast<QDuseDesignSpace *>(_duseInstance.first()); foreach (QUmlProfileApplication *profileApplication, package->profileApplications()) { if (profileApplication->appliedProfile()->name() == designSpace->requiredProfile()) { @@ -270,7 +275,7 @@ void DesignSpaceExplorerPlugin::newDuseDesign() } QScriptValue array = _engine->newArray(); - foreach (QObject *modelingObject, DuSE::ICore::self()->projectController()->currentModelObjects()) + foreach (QObject *modelingObject, ICore::self()->projectController()->currentModelObjects()) array.property(QString::fromLatin1("push")).call(array, QScriptValueList() << _engine->newQObject(modelingObject)); _engine->globalObject().setProperty("input", array); @@ -323,6 +328,7 @@ void DesignSpaceExplorerPlugin::populateDesignSpaceExplorer() } } _designSpaceExplorer->resizeRowsToContents(); + currentDesignSpaceLocationChanged(); } void DesignSpaceExplorerPlugin::openDuseDesign() @@ -344,7 +350,7 @@ void DesignSpaceExplorerPlugin::currentDesignSpaceLocationChanged() for (int i = 0; i < rowCount; ++i) _currentDesignSpaceLocation[_designSpaceExplorer->item(i, 1)->text()][qmodelingelementproperty_cast<QDuseDesignDimension *>(designSpaceObject->findChild<QModelingObject *>(_designSpaceExplorer->item(i, 0)->text()))] = qmodelingelementproperty_cast<QDuseVariationPoint *>(designSpaceObject->findChild<QModelingObject *>((dynamic_cast<QComboBox *>(_designSpaceExplorer->cellWidget(i, 2)))->currentText())); - foreach (QModelingElement *element, DuSE::ICore::self()->projectController()->currentModelElements()) + foreach (QModelingElement *element, ICore::self()->projectController()->currentModelElements()) _currentDesignSpaceLocationMofModel << element->clone(); QList<QModelingObject *> currentModelObjects; @@ -353,19 +359,46 @@ void DesignSpaceExplorerPlugin::currentDesignSpaceLocationChanged() QDuseDesignSpace *designSpace = dynamic_cast<QDuseDesignSpace *>(_duseInstance.first()); QUmlModel *topModel = dynamic_cast<QUmlModel *>(_currentDesignSpaceLocationMofModel.first()); - foreach (QDuseDesignDimension *designDimension, designSpace->designDimensions()) + foreach (QDuseDesignDimension *designDimension, designSpace->designDimensions()) { foreach (QDuseDesignDimensionInstance *designDimensionInstance, designDimension->designDimensionInstances()) { QDuseVariationPoint *variationPoint = _currentDesignSpaceLocation[designDimensionInstance->targetInstance()->asQModelingObject()->objectName()][designDimension]; foreach (QModelingElement *addedElement, variationPoint->addedElements()) { QObject *modelingObject = addedElement->asQModelingObject(); - QMetaModelPlugin *plugin = DuSE::ICore::self()->pluginController()->metamodelPlugins()[modelingObject->property("namespaceUri").toString()]; + QMetaModelPlugin *plugin = ICore::self()->pluginController()->metamodelPlugins()[modelingObject->property("namespaceUri").toString()]; QModelingElement *newAddedElement = plugin->createModelingElement(modelingObject->property("factoryType").toString()); newAddedElement->asQModelingObject()->setObjectName(QStringLiteral("%1-%2").arg(designDimensionInstance->targetInstance()->asQModelingObject()->objectName()).arg(modelingObject->property("factoryType").toString())); topModel->addPackagedElement(dynamic_cast<QUmlPackageableElement *>(newAddedElement)); - qDebug() << "Added" << addedElement->asQModelingObject()->objectName(); } } + } + + foreach (QDuseDesignDimension *designDimension, designSpace->designDimensions()) { + foreach (QDuseDesignDimensionInstance *designDimensionInstance, designDimension->designDimensionInstances()) { + QDuseVariationPoint *variationPoint = _currentDesignSpaceLocation[designDimensionInstance->targetInstance()->asQModelingObject()->objectName()][designDimension]; + foreach (QDuseModelChange *modelChange, variationPoint->modelChanges()) { + QScriptValue target = _engine->evaluate(modelChange->targetSelectionRule()->bodies().first()); + if (target.toVariant().canConvert(QMetaType::type("QObject*"))) { + QObject *targetObject = target.toVariant().value<QObject *>(); + QString propertyName = modelChange->targetProperty()->name(); + QScriptValue value = _engine->evaluate(modelChange->valueSelectionRule()->bodies().first()); + QMetaProperty metaProperty = targetObject->metaObject()->property(targetObject->metaObject()->indexOfProperty(propertyName.toLatin1())); + QString typeName = QString::fromLatin1(metaProperty.typeName()); + if (metaProperty.type() == QVariant::String) { + targetObject->setProperty(propertyName.toLatin1(), value.toVariant().toString()); + } + else if (metaProperty.type() == QVariant::Int || metaProperty.isEnumType()) { + targetObject->setProperty(propertyName.toLatin1(), value.toVariant().toInt()); + } + else if (typeName.endsWith('*')) { + targetObject->setProperty(propertyName.toLatin1(), QVariant::fromValue(qmodelingelementproperty_cast<QUmlElement *>(value.toVariant().value<QObject *>()))); + } + } + } + } + } _currentDesignSpaceLocationQtModel->setModelingObjects(currentModelObjects); } +} + diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h index 87542736..66dfdd42 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h @@ -45,8 +45,7 @@ #include <QtScript/QScriptEngine> -class NewDuseDesignDialog; - +QT_BEGIN_NAMESPACE class QQuickView; class QTableWidget; @@ -58,12 +57,14 @@ class QModelingObjectView; class QDuseDesignDimension; class QDuseVariationPoint; +QT_END_NAMESPACE -namespace Duse { - class ICore; -} +namespace DuSE { -class DesignSpaceExplorerPlugin : public DuSE::IPlugin +class ICore; +class NewDuseDesignDialog; + +class DesignSpaceExplorerPlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "designspaceexplorer.json") @@ -89,7 +90,7 @@ private: QModelingObjectView *_currentDesignSpaceLocationView; QModelingObjectModel *_currentDesignSpaceLocationQtModel; - NewDuseDesignDialog *_newDuseDesignDialog; + DuSE::NewDuseDesignDialog *_newDuseDesignDialog; QList<QModelingElement *> _duseInstance; QList<QModelingElement *> _currentDesignSpaceLocationMofModel; QHash<QString, QHash<QDuseDesignDimension *, QDuseVariationPoint *> > _currentDesignSpaceLocation; @@ -99,5 +100,7 @@ private: void populateDesignSpaceExplorer(); }; +} + #endif // DESIGNSPACEEXPLORERPLUGIN_H diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.cpp b/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.cpp index 81eb11e3..a0166669 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.cpp +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.cpp @@ -43,6 +43,9 @@ #include <QtWidgets/QFileDialog> +namespace DuSE +{ + NewDuseDesignDialog::NewDuseDesignDialog(QWidget *parent) : QDialog(parent), ui(new Ui::NewDuseDesignDialog) @@ -66,3 +69,6 @@ void NewDuseDesignDialog::on_tbtDuseInstanceModel_clicked() _duseInstanceModelFileName = QFileDialog::getOpenFileName(this, tr("Open DuSE instance model"), QDir::currentPath(), "XMI files (*.xmi)"); ui->lneDuseInstanceModel->setText(_duseInstanceModelFileName); } + +} + diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.h b/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.h index 4a63f8aa..6bbddb94 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.h +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.h @@ -43,8 +43,11 @@ #include <QtWidgets/QDialog> +namespace DuSE +{ + namespace Ui { -class NewDuseDesignDialog; + class NewDuseDesignDialog; } class NewDuseDesignDialog : public QDialog @@ -65,4 +68,7 @@ private: Ui::NewDuseDesignDialog *ui; }; +} + #endif // NEWDUSEDESIGNDIALOG_H + diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.ui b/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.ui index a2b3de08..e802b0f4 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.ui +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/newdusedesigndialog.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>NewDuseDesignDialog</class> - <widget class="QDialog" name="NewDuseDesignDialog"> + <class>DuSE::NewDuseDesignDialog</class> + <widget class="QDialog" name="DuSE::NewDuseDesignDialog"> <property name="geometry"> <rect> <x>0</x> @@ -69,7 +69,7 @@ <connection> <sender>buttonBox</sender> <signal>accepted()</signal> - <receiver>NewDuseDesignDialog</receiver> + <receiver>DuSE::NewDuseDesignDialog</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> @@ -85,7 +85,7 @@ <connection> <sender>buttonBox</sender> <signal>rejected()</signal> - <receiver>NewDuseDesignDialog</receiver> + <receiver>DuSE::NewDuseDesignDialog</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> diff --git a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.pro b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.pro index de6fc963..d4041016 100644 --- a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.pro +++ b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.pro @@ -6,6 +6,8 @@ include(../../duse-mt-plugin.pri) +QT += widgets gui + HEADERS += gccxmlarchitecturerecoverybackendplugin.h SOURCES += gccxmlarchitecturerecoverybackendplugin.cpp diff --git a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.cpp b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.cpp index 06c89d33..0349b576 100644 --- a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.cpp @@ -48,8 +48,11 @@ #include <duseinterfaces/iuicontroller.h> +namespace DuSE +{ + GccXmlArchitectureRecoveryBackendPlugin::GccXmlArchitectureRecoveryBackendPlugin(QObject *parent) : - DuSE::IPlugin(parent) + IPlugin(parent) { } @@ -57,7 +60,7 @@ bool GccXmlArchitectureRecoveryBackendPlugin::initialize() { QAction *newArchitectureRecoveryProcessAction = new QAction(QIcon(), tr("New architecture recovery process"), this); connect(newArchitectureRecoveryProcessAction, SIGNAL(triggered()), this, SLOT(newArchitectureRecoveryProcess())); - DuSE::ICore::self()->uiController()->addAction(newArchitectureRecoveryProcessAction, tr("menu_File")); + ICore::self()->uiController()->addAction(newArchitectureRecoveryProcessAction, tr("menu_File")); return true; } @@ -163,3 +166,6 @@ QObject *GccXmlArchitectureRecoveryBackendPlugin::extractComponent(QString xmlFi return component; } + +} + diff --git a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h index 1fffe753..642bb5cb 100644 --- a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h +++ b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h @@ -48,9 +48,14 @@ #include <QtCore/QObjectList> #include <QtCore/QStringList> +QT_BEGIN_NAMESPACE class QXmlStreamReader; +QT_END_NAMESPACE -class GccXmlArchitectureRecoveryBackendPlugin : public DuSE::IPlugin, public IArchitectureRecoveryBackend +namespace DuSE +{ + +class GccXmlArchitectureRecoveryBackendPlugin : public IPlugin, public IArchitectureRecoveryBackend { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "gccxmlarchitecturerecoverybackend.json") @@ -79,4 +84,6 @@ private: QXmlStreamReader *_xmlReader; }; +} + #endif // GCCXMLARCHITECTURERECOVERYBACKENDPLUGIN diff --git a/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsole.ui b/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsole.ui index 41e4a667..2268dae8 100644 --- a/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsole.ui +++ b/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsole.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>JavaScriptConsole</class> - <widget class="QWidget" name="JavaScriptConsole"> + <class>DuSE::JavaScriptConsole</class> + <widget class="QWidget" name="DuSE::JavaScriptConsole"> <property name="geometry"> <rect> <x>0</x> diff --git a/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.cpp b/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.cpp index daf65928..f38b5c2f 100644 --- a/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.cpp @@ -47,6 +47,7 @@ #include <QtModeling/QModelingObject> +#include <QtScript/QScriptEngine> #include <QtScript/QScriptValueIterator> #include <QtGui/QKeyEvent> @@ -97,8 +98,11 @@ void scriptValueToQList(const QScriptValue &obj, QList<T *> &elements) } } +namespace DuSE +{ + JavaScriptConsolePlugin::JavaScriptConsolePlugin(QObject *parent) : - DuSE::IPlugin(parent), + IPlugin(parent), _javaScriptConsole(new Ui::JavaScriptConsole), _codeCompletionView(new QListView), _engine(0) @@ -115,7 +119,7 @@ bool JavaScriptConsolePlugin::initialize() { QWidget *javaScriptConsoleWidget = new QWidget; _javaScriptConsole->setupUi(javaScriptConsoleWidget); - DuSE::ICore::self()->uiController()->addDockWidget(Qt::BottomDockWidgetArea, tr("JavaScript Console"), javaScriptConsoleWidget); + ICore::self()->uiController()->addDockWidget(Qt::BottomDockWidgetArea, tr("JavaScript Console"), javaScriptConsoleWidget); _javaScriptConsole->txeJavaScript->installEventFilter(this); _codeCompletionView->installEventFilter(this); @@ -124,14 +128,14 @@ bool JavaScriptConsolePlugin::initialize() _codeCompletionView->hide(); connect(_javaScriptConsole->tbtJSEvaluate, &QToolButton::clicked, this, &JavaScriptConsolePlugin::evaluate); - connect(_javaScriptConsole->tbtJSEvaluate, SIGNAL(clicked()), DuSE::ICore::self()->uiController(), SIGNAL(updateCurrentModelingObject())); + connect(_javaScriptConsole->tbtJSEvaluate, SIGNAL(clicked()), ICore::self()->uiController(), SIGNAL(updateCurrentModelingObject())); connect(_javaScriptConsole->tbtSaveScript, &QToolButton::clicked, this, &JavaScriptConsolePlugin::saveScript); connect(_javaScriptConsole->tbtOpenScript, &QToolButton::clicked, this, &JavaScriptConsolePlugin::openScript); - connect(DuSE::ICore::self()->uiController(), &DuSE::IUiController::currentModelingObjectChanged, this, &JavaScriptConsolePlugin::setSelfProperty); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), this, SLOT(initializeEngine(QList<QModelingObject*>))); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelAboutToBeClosed(QList<QModelingObject*>)), this, SLOT(destroyEngine())); + connect(ICore::self()->uiController(), &IUiController::currentModelingObjectChanged, this, &JavaScriptConsolePlugin::setSelfProperty); + connect(ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), this, SLOT(initializeEngine(QList<QModelingObject*>))); + connect(ICore::self()->projectController(), SIGNAL(modelAboutToBeClosed(QList<QModelingObject*>)), this, SLOT(destroyEngine())); return true; } @@ -252,3 +256,6 @@ void JavaScriptConsolePlugin::openScript() file.close(); } } + +} + diff --git a/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.h b/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.h index c038ec93..6b704f50 100644 --- a/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.h +++ b/examples/uml/duse-mt/src/plugins/javascriptconsole/javascriptconsoleplugin.h @@ -43,22 +43,25 @@ #include <duseinterfaces/iplugin.h> -#include <QtScript/QScriptEngine> - +QT_BEGIN_NAMESPACE class QListView; +class QScriptEngine; class QModelingObject; - class QModelingObjectView; class QModelingObjectModel; class QModelingObjectPropertyEditor; class QModelingObjectPropertyModel; +QT_END_NAMESPACE + +namespace DuSE +{ namespace Ui { class JavaScriptConsole; } -class JavaScriptConsolePlugin : public DuSE::IPlugin +class JavaScriptConsolePlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "javascriptconsole.json") @@ -86,4 +89,6 @@ private: QScriptEngine *_engine; }; +} + #endif // JAVASCRIPTCONSOLEPLUGIN_H diff --git a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp index 86428a75..bc6465a3 100644 --- a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp @@ -54,8 +54,11 @@ #include <QtCore/QStringListModel> +namespace DuSE +{ + ModelInspectorPlugin::ModelInspectorPlugin(QObject *parent) : - DuSE::IPlugin(parent), + IPlugin(parent), _modelingObjectView(new QModelingObjectView), _modelingObjectModel(new QModelingObjectModel), _propertyEditor(new QModelingObjectPropertyEditor), @@ -82,23 +85,23 @@ ModelInspectorPlugin::~ModelInspectorPlugin() bool ModelInspectorPlugin::initialize() { - DuSE::ICore::self()->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Model Inspector"), _modelingObjectView); - DuSE::ICore::self()->uiController()->addDockWidget(Qt::RightDockWidgetArea, tr("Property Editor"), _propertyEditor); - DuSE::ICore::self()->uiController()->addDockWidget(Qt::BottomDockWidgetArea, tr("Issues"), _outputIssues); + ICore::self()->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Model Inspector"), _modelingObjectView); + ICore::self()->uiController()->addDockWidget(Qt::RightDockWidgetArea, tr("Property Editor"), _propertyEditor); + ICore::self()->uiController()->addDockWidget(Qt::BottomDockWidgetArea, tr("Issues"), _outputIssues); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), _modelingObjectModel, SLOT(setModelingObjects(QList<QModelingObject*>))); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), this, SLOT(populateOutputIssues())); + connect(ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), _modelingObjectModel, SLOT(setModelingObjects(QList<QModelingObject*>))); + connect(ICore::self()->projectController(), SIGNAL(modelOpened(QList<QModelingObject*>)), this, SLOT(populateOutputIssues())); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelClosed()), _modelingObjectModel, SLOT(clear())); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelClosed()), _propertyModel, SLOT(clear())); - connect(DuSE::ICore::self()->projectController(), SIGNAL(modelClosed()), this, SLOT(populateOutputIssues())); + connect(ICore::self()->projectController(), SIGNAL(modelClosed()), _modelingObjectModel, SLOT(clear())); + connect(ICore::self()->projectController(), SIGNAL(modelClosed()), _propertyModel, SLOT(clear())); + connect(ICore::self()->projectController(), SIGNAL(modelClosed()), this, SLOT(populateOutputIssues())); connect(_modelingObjectView, &QModelingObjectView::modelingObjectChanged, _propertyModel, &QModelingObjectPropertyModel::setModelingObject); - connect(_modelingObjectView, SIGNAL(modelingObjectChanged(QModelingObject*)), DuSE::ICore::self()->uiController(), SIGNAL(currentModelingObjectChanged(QModelingObject*))); + connect(_modelingObjectView, SIGNAL(modelingObjectChanged(QModelingObject*)), ICore::self()->uiController(), SIGNAL(currentModelingObjectChanged(QModelingObject*))); connect(_propertyModel, &QModelingObjectPropertyModel::indexChanged, _modelingObjectModel, &QModelingObjectModel::updateIndex); - connect(DuSE::ICore::self()->uiController(), SIGNAL(updateCurrentModelingObject()), _modelingObjectView, SLOT(updateSelected())); - connect(_modelingObjectView, SIGNAL(addToView(QObject*,QQuickItem*)), DuSE::ICore::self()->uiController(), SIGNAL(addToView(QObject*,QQuickItem*))); + connect(ICore::self()->uiController(), SIGNAL(updateCurrentModelingObject()), _modelingObjectView, SLOT(updateSelected())); + connect(_modelingObjectView, SIGNAL(addToView(QObject*,QQuickItem*)), ICore::self()->uiController(), SIGNAL(addToView(QObject*,QQuickItem*))); return true; } @@ -106,6 +109,8 @@ bool ModelInspectorPlugin::initialize() void ModelInspectorPlugin::populateOutputIssues() { delete _outputIssues->model(); - _outputIssues->setModel(new QStringListModel(DuSE::ICore::self()->projectController()->errorStrings())); + _outputIssues->setModel(new QStringListModel(ICore::self()->projectController()->errorStrings())); +} + } diff --git a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h index 17f76b21..3ec87a94 100644 --- a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h +++ b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h @@ -43,14 +43,19 @@ #include <duseinterfaces/iplugin.h> +QT_BEGIN_NAMESPACE class QListView; class QModelingObjectView; class QModelingObjectModel; class QModelingObjectPropertyEditor; class QModelingObjectPropertyModel; +QT_END_NAMESPACE -class ModelInspectorPlugin : public DuSE::IPlugin +namespace DuSE +{ + +class ModelInspectorPlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "modelinspector.json") @@ -72,5 +77,7 @@ private: QListView *_outputIssues; }; +} + #endif // MODELINSPECTORPLUGIN_H diff --git a/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.h b/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.h index 4dc47770..aeab5f8a 100644 --- a/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.h +++ b/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.h @@ -43,7 +43,9 @@ #include <QtQuick/QQuickPaintedItem> +QT_BEGIN_NAMESPACE class QQuickRectangle; +QT_END_NAMESPACE class RelationshipItem : public QQuickPaintedItem { diff --git a/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.cpp b/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.cpp index 12704bc7..6a893d30 100644 --- a/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.cpp @@ -46,8 +46,11 @@ #include <QtWidgets/QWidget> +namespace DuSE +{ + WelcomeDashboardPlugin::WelcomeDashboardPlugin(QObject *parent) : - DuSE::IPlugin(parent), + IPlugin(parent), _welcomeQuickView(new QQuickView) { } @@ -57,8 +60,10 @@ bool WelcomeDashboardPlugin::initialize() _welcomeQuickView->setSource(QUrl("qrc:/welcomedashboard/welcomedashboard.qml")); _welcomeQuickView->setResizeMode(QQuickView::SizeRootObjectToView); - DuSE::ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_welcomeQuickView), "Welcome", 0); + ICore::self()->uiController()->addCentralWidgetTab(QWidget::createWindowContainer(_welcomeQuickView), "Welcome", 0); return true; } +} + diff --git a/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.h b/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.h index 98095f56..26790841 100644 --- a/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.h +++ b/examples/uml/duse-mt/src/plugins/welcomedashboard/welcomedashboardplugin.h @@ -43,9 +43,14 @@ #include <duseinterfaces/iplugin.h> +QT_BEGIN_NAMESPACE class QQuickView; +QT_END_NAMESPACE -class WelcomeDashboardPlugin : public DuSE::IPlugin +namespace DuSE +{ + +class WelcomeDashboardPlugin : public IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "welcomedashboard.json") @@ -59,5 +64,7 @@ private: QQuickView *_welcomeQuickView; }; +} + #endif // WELCOMEDASHBOARDPLUGIN_H diff --git a/examples/uml/duse-mt/src/rpath.pri b/examples/uml/duse-mt/src/rpath.pri index 3aef1be8..28868745 100644 --- a/examples/uml/duse-mt/src/rpath.pri +++ b/examples/uml/duse-mt/src/rpath.pri @@ -1,7 +1,18 @@ -QMAKE_RPATHDIR += \$\$ORIGIN -QMAKE_RPATHDIR += \$\$ORIGIN/.. -QMAKE_RPATHDIR += \$\$ORIGIN/../$$DUSEMT_LIBRARY_BASENAME/duse-mt -DUSEMT_PLUGIN_RPATH = $$join(QMAKE_RPATHDIR, ":") +macx { + !isEmpty(TIGER_COMPAT_MODE) { + QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../PlugIns/ + } else { + QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/ + QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../,-rpath,@executable_path/../ + } +} else:linux-* { + #do the rpath by hand since it's not possible to use ORIGIN in QMAKE_RPATHDIR + # this expands to $ORIGIN (after qmake and make), it does NOT read a qmake var + QMAKE_RPATHDIR += \$\$ORIGIN + QMAKE_RPATHDIR += \$\$ORIGIN/.. + QMAKE_RPATHDIR += \$\$ORIGIN/../$$DUSEMT_LIBRARY_BASENAME/duse-mt + DUSEMT_PLUGIN_RPATH = $$join(QMAKE_RPATHDIR, ":") -QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${DUSEMT_PLUGIN_RPATH}\' -QMAKE_RPATHDIR = + QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${DUSEMT_PLUGIN_RPATH}\' + QMAKE_RPATHDIR = +}
\ No newline at end of file |