summaryrefslogtreecommitdiffstats
path: root/examples/uml
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-11-25 16:23:47 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-11-25 20:28:24 +0100
commitdcaf2e6be08d1b0b208e4b31b93696139ade9239 (patch)
tree54fe3495b38a0ee15f445750da3847b06fd3089e /examples/uml
parent0b3fd47adafef4ea58ac3431ecd55bb06fd6f4e6 (diff)
Add some improvements in design space explorer
Change-Id: Ia17232a395a6e6a7c5683fb725c37e4330d84b7a Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml')
-rw-r--r--examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro2
-rw-r--r--examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp25
-rw-r--r--examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h7
-rw-r--r--examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp7
-rw-r--r--examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h1
5 files changed, 34 insertions, 8 deletions
diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro
index ac665d9c..6ec32b40 100644
--- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro
+++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorer.pro
@@ -4,7 +4,7 @@
#
#-------------------------------------------------
-QT += widgets quick modeling script uml duse saduseprofile-private
+QT += widgets quick modeling modelingwidgets script uml duse saduseprofile-private
include(../../duse-mt-plugin.pri)
diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp
index 7727bdce..d6b214e7 100644
--- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp
+++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp
@@ -63,6 +63,9 @@
#include <QtModeling/QXmiReader>
#include <QtModeling/QModelingElement>
+#include <QtModelingWidgets/QModelingObjectView>
+#include <QtModelingWidgets/QModelingObjectModel>
+
#include <QtUml/QUmlModel>
#include <QtUml/QUmlProfile>
#include <QtUml/QUmlOpaqueExpression>
@@ -121,8 +124,11 @@ DesignSpaceExplorerPlugin::DesignSpaceExplorerPlugin(QObject *parent) :
_currentDesignSpaceLocationQuickView(new QQuickView),
_metricsQuickView(new QQuickView),
_designSpaceExplorer(new QTableWidget),
+ _currentDesignSpaceLocationView(new QModelingObjectView),
+ _currentDesignSpaceLocationModel(new QModelingObjectModel),
_newDuseDesignDialog(new NewDuseDesignDialog)
{
+ _currentDesignSpaceLocationView->setModel(_currentDesignSpaceLocationModel);
}
DesignSpaceExplorerPlugin::~DesignSpaceExplorerPlugin()
@@ -146,6 +152,8 @@ bool DesignSpaceExplorerPlugin::initialize(DuSE::ICore *core)
core->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Quality Metrics"), QWidget::createWindowContainer(_metricsQuickView));
+ core->uiController()->addDockWidget(Qt::LeftDockWidgetArea, tr("Current Location Inspector"), _currentDesignSpaceLocationView);
+
_designSpaceExplorer->setAlternatingRowColors(true);
_designSpaceExplorer->horizontalHeader()->setStretchLastSection(true);
_designSpaceExplorer->verticalHeader()->setVisible(false);
@@ -299,3 +307,20 @@ void DesignSpaceExplorerPlugin::openDuseDesign()
{
}
+void DesignSpaceExplorerPlugin::designSpaceChanged()
+{
+// qDeleteAll(_currentDesignSpaceLocation);
+ QXmiReader reader;
+ QFile inputModel(_newDuseDesignDialog->_inputModelFileName);
+ if (!inputModel.open(QFile::ReadOnly | QFile::Text)) {
+ QMessageBox::critical(0, tr("Create new DuSE design"), tr("Cannot read file %1").arg(_newDuseDesignDialog->_inputModelFileName));
+ return;
+ }
+ _currentDesignSpaceLocation = reader.readFile(&inputModel);
+ QList<QModelingObject *> currentModelObjects;
+ foreach (QModelingElement *element, _currentDesignSpaceLocation)
+ currentModelObjects << element->asQModelingObject();
+
+ _currentDesignSpaceLocationModel->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 190d862b..8fcee654 100644
--- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h
+++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.h
@@ -52,6 +52,9 @@ class QTableWidget;
class QModelingElement;
+class QModelingObjectModel;
+class QModelingObjectView;
+
namespace Duse {
class ICore;
}
@@ -70,6 +73,7 @@ public:
private Q_SLOTS:
void newDuseDesign();
void openDuseDesign();
+ void designSpaceChanged();
private:
DuSE::ICore *_core;
@@ -77,9 +81,12 @@ private:
QQuickView *_currentDesignSpaceLocationQuickView;
QQuickView *_metricsQuickView;
QTableWidget *_designSpaceExplorer;
+ QModelingObjectView *_currentDesignSpaceLocationView;
+ QModelingObjectModel *_currentDesignSpaceLocationModel;
NewDuseDesignDialog *_newDuseDesignDialog;
QList<QModelingElement *> _duseInstance;
+ QList<QModelingElement *> _currentDesignSpaceLocation;
QScriptEngine _engine;
diff --git a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp
index 58ea358b..51b21c80 100644
--- a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp
+++ b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.cpp
@@ -85,7 +85,7 @@ bool ModelInspectorPlugin::initialize(DuSE::ICore *core)
connect(_modelingObjectView, &QModelingObjectView::modelingObjectChanged, _propertyModel, &QModelingObjectPropertyModel::setModelingObject);
connect(_modelingObjectView, SIGNAL(modelingObjectChanged(QModelingObject*)), core->uiController(), SIGNAL(currentModelingObjectChanged(QModelingObject*)));
connect(_propertyModel, &QModelingObjectPropertyModel::indexChanged, _modelingObjectModel, &QModelingObjectModel::updateIndex);
- connect(core->uiController(), SIGNAL(updateCurrentModelingObject()), this, SLOT(updateCurrentModelingObject()));
+ connect(core->uiController(), SIGNAL(updateCurrentModelingObject()), _modelingObjectView, SLOT(updateSelected()));
connect(_modelingObjectView, SIGNAL(addToView(QObject*,QQuickItem*)), core->uiController(), SIGNAL(addToView(QObject*,QQuickItem*)));
return true;
@@ -96,8 +96,3 @@ void ModelInspectorPlugin::populateOutputIssues()
_outputIssues->setModel(new QStringListModel(DuSE::ICore::self()->projectController()->errorStrings()));
}
-void ModelInspectorPlugin::updateCurrentModelingObject()
-{
- _modelingObjectView->updateSelected();
-}
-
diff --git a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h
index 7e4b5cff..2ba1eae6 100644
--- a/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h
+++ b/examples/uml/duse-mt/src/plugins/modelinspector/modelinspectorplugin.h
@@ -62,7 +62,6 @@ public:
private Q_SLOTS:
void populateOutputIssues();
- void updateCurrentModelingObject();
private:
QModelingObjectView *_modelingObjectView;