diff options
Diffstat (limited to 'examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp')
-rw-r--r-- | examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
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); +} + |