Skip to content

Commit

Permalink
Restrict sub systems creation based on the current system type.
Browse files Browse the repository at this point in the history
  • Loading branch information
adeas31 committed Nov 5, 2018
1 parent eff759e commit 63faf7e
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
2 changes: 1 addition & 1 deletion OMEdit/OMEditGUI/Modeling/ModelWidgetContainer.cpp
Expand Up @@ -6956,7 +6956,7 @@ void ModelWidgetContainer::currentModelWidgetChanged(QMdiSubWindow *pSubWindow)
MainWindow::instance()->getFetchInterfaceDataAction()->setEnabled(enabled && compositeModel);
MainWindow::instance()->getAlignInterfacesAction()->setEnabled(enabled && compositeModel);
MainWindow::instance()->getTLMSimulationAction()->setEnabled(enabled && compositeModel);
MainWindow::instance()->getAddSystemAction()->setEnabled(enabled && !iconGraphicsView && !textView && (omsModel || omsSystem));
MainWindow::instance()->getAddSystemAction()->setEnabled(enabled && !iconGraphicsView && !textView && (omsModel || (omsSystem && (pLibraryTreeItem->getSystemType() != oms_system_sc))));
MainWindow::instance()->getAddOrEditIconAction()->setEnabled(enabled && !diagramGraphicsView && !textView && (omsSystem || omsSubmodel));
MainWindow::instance()->getDeleteIconAction()->setEnabled(enabled && !diagramGraphicsView && !textView && (omsSystem || omsSubmodel));
MainWindow::instance()->getAddConnectorAction()->setEnabled(enabled && !textView && (omsSystem || omsSubmodel));
Expand Down
21 changes: 15 additions & 6 deletions OMEdit/OMEditGUI/Modeling/ModelicaClassDialog.cpp
Expand Up @@ -2002,9 +2002,10 @@ void ComponentNameDialog::updateComponentName()
*/
/*!
* \brief SystemWidget::SystemWidget
* \param pLibraryTreeItem
* \param pParent
*/
SystemWidget::SystemWidget(QWidget *pParent)
SystemWidget::SystemWidget(LibraryTreeItem *pLibraryTreeItem, QWidget *pParent)
: QWidget(pParent)
{
// name
Expand All @@ -2013,9 +2014,17 @@ SystemWidget::SystemWidget(QWidget *pParent)
// type
mpTypeLabel = new Label(Helper::type);
mpTypeComboBox = new QComboBox;
mpTypeComboBox->addItem(Helper::systemTLM, oms_system_tlm);
mpTypeComboBox->addItem(Helper::systemWC, oms_system_wc);
mpTypeComboBox->addItem(Helper::systemSC, oms_system_sc);
if (!pLibraryTreeItem || pLibraryTreeItem->isTopLevel()) {
mpTypeComboBox->addItem(Helper::systemTLM, oms_system_tlm);
mpTypeComboBox->addItem(Helper::systemWC, oms_system_wc);
mpTypeComboBox->addItem(Helper::systemSC, oms_system_sc);
} else if (pLibraryTreeItem->isSystemElement()) {
if (pLibraryTreeItem->getSystemType() == oms_system_tlm) {
mpTypeComboBox->addItem(Helper::systemWC, oms_system_wc);
} else if (pLibraryTreeItem->getSystemType() == oms_system_wc) {
mpTypeComboBox->addItem(Helper::systemSC, oms_system_sc);
}
}
// layout
QGridLayout *pMainLayout = new QGridLayout;
pMainLayout->setContentsMargins(0, 0, 0, 0);
Expand Down Expand Up @@ -2051,7 +2060,7 @@ CreateModelDialog::CreateModelDialog(QWidget *pParent)
// Root system groupbox
mpRootSystemGroupBox = new QGroupBox(tr("Root System"));
// system widget
mpSystemWidget = new SystemWidget(this);
mpSystemWidget = new SystemWidget(0, this);
mpSystemWidget->getNameTextBox()->setText("Root");
QHBoxLayout *pSystemGroupBoxLayout = new QHBoxLayout;
pSystemGroupBoxLayout->setAlignment(Qt::AlignLeft | Qt::AlignTop);
Expand Down Expand Up @@ -2136,7 +2145,7 @@ AddSystemDialog::AddSystemDialog(GraphicsView *pGraphicsView)
// set separator line
mpHorizontalLine = Utilities::getHeadingLine();
// system widget
mpSystemWidget = new SystemWidget(this);
mpSystemWidget = new SystemWidget(mpGraphicsView->getModelWidget()->getLibraryTreeItem(), this);
// buttons
mpOkButton = new QPushButton(Helper::ok);
mpOkButton->setAutoDefault(true);
Expand Down
2 changes: 1 addition & 1 deletion OMEdit/OMEditGUI/Modeling/ModelicaClassDialog.h
Expand Up @@ -357,7 +357,7 @@ class SystemWidget : public QWidget
{
Q_OBJECT
public:
SystemWidget(QWidget *pParent = 0);
SystemWidget(LibraryTreeItem *pLibraryTreeItem, QWidget *pParent = 0);
QLineEdit* getNameTextBox() {return mpNameTextBox;}
QComboBox* getTypeComboBox() {return mpTypeComboBox;}
private:
Expand Down

0 comments on commit 63faf7e

Please sign in to comment.