diff --git a/doc/~$$流程图.~vsdx b/doc/~$$流程图.~vsdx new file mode 100644 index 00000000..c63ca2a2 Binary files /dev/null and b/doc/~$$流程图.~vsdx differ diff --git a/src/Dyt.qrc b/src/Dyt.qrc index 367668a1..bea57361 100644 --- a/src/Dyt.qrc +++ b/src/Dyt.qrc @@ -1,39 +1,39 @@ res/sys_close.png - res/sys_float.png + res/sys_float.png res/sys_max.png res/sys_min.png res/sys_restore.png res/sys_icon.png - res/sys_down.png - res/sys_up.png - res/select_file.ico - res/default/menu_new_file.png - res/default/menu_open_file.png - res/default/menu_save_file.png - res/default/menu_wave_file.png - res/default/menu_light_file.png - res/default/menu_table_file.png - res/default/menu_surface_file.png - res/default/menu_save_shape_file.png - res/default/menu_save_store_file.png - res/default/menu_report_mesh.png - res/default/menu_exit.png - res/default/menu_helper.png - res/default/menu_license.png - res/default/menu_logs.png - res/default/menu_logs_clean.png - res/default/menu_restart.png - res/default/menu_setting_restore.png - res/default/menu_setting.png - res/default/menu_uisetting.png - res/default/menu_window_manager.png - res/default/menu_window_setting.png + res/sys_down.png + res/sys_up.png + res/select_file.ico + res/default/menu_new_file.png + res/default/menu_open_file.png + res/default/menu_save_file.png + res/default/menu_wave_file.png + res/default/menu_light_file.png + res/default/menu_table_file.png + res/default/menu_surface_file.png + res/default/menu_save_shape_file.png + res/default/menu_save_store_file.png + res/default/menu_report_mesh.png + res/default/menu_exit.png + res/default/menu_helper.png + res/default/menu_license.png + res/default/menu_logs.png + res/default/menu_logs_clean.png + res/default/menu_restart.png + res/default/menu_setting_restore.png + res/default/menu_setting.png + res/default/menu_uisetting.png + res/default/menu_window_manager.png + res/default/menu_window_setting.png + res/default/Command.png - + + + res/fonts/fontawesome-webfont.ttf - - res/fonts/fontawesome-webfont.ttf - diff --git a/src/res/default/Command.png b/src/res/default/Command.png new file mode 100644 index 00000000..f8b15f22 Binary files /dev/null and b/src/res/default/Command.png differ diff --git a/src/res/dyt.aps b/src/res/dyt.aps new file mode 100644 index 00000000..11d05c67 Binary files /dev/null and b/src/res/dyt.aps differ diff --git a/src/ui/DockWidget.cpp b/src/ui/DockWidget.cpp index 69f6a2b4..cbe29d2c 100644 --- a/src/ui/DockWidget.cpp +++ b/src/ui/DockWidget.cpp @@ -34,6 +34,8 @@ DockWidget::DockWidget(const QString& title, QWidget* parent) if (nullptr != windowManagerMenu) { windowManagerMenu->AddDockWidget(this); } + + //setStyleSheet(QString("border: 1px solid #A2C2DB;")); } DockWidget::DockWidget(QWidget* parent) diff --git a/src/ui/Layout/AddParamSetting.cpp b/src/ui/Layout/AddParamSetting.cpp index 0074b5fa..0a4c10d2 100644 --- a/src/ui/Layout/AddParamSetting.cpp +++ b/src/ui/Layout/AddParamSetting.cpp @@ -41,6 +41,8 @@ AddParamSetting::AddParamSetting(const QString& strDir, QWidget* parent) horizontalHeader->setStyleSheet(QString("QHeaderView::section {background-color: %1;}").arg(headerColor.name())); horizontalHeader->setStretchLastSection(true); + ui.tableWidget->verticalHeader()->setStyleSheet(QString("QHeaderView::section {background-color: %1;}").arg(headerColor.name())); + connect(ui.pushButton, &QPushButton::clicked, this, &AddParamSetting::slotButtonAdd); connect(ui.pushButton_2, &QPushButton::clicked, this, &AddParamSetting::slotButtonRemove); connect(ui.pushButton_3, &QPushButton::clicked, this, &AddParamSetting::slotButtonCommit); @@ -414,20 +416,20 @@ void AddParamSetting::slotButtonRemove() void AddParamSetting::slotButtonCommit() { - QString strMatlabFile =""; - if (WorkSpaceManager::Get().GetCurrent()) - { - if (!WorkSpaceManager::Get().GetCurrent()->GetMatlabParam().isEmpty()) - { - strMatlabFile = RecourceHelper::Get().GetBasePath() + "/" + WorkSpaceManager::Get().GetCurrent()->GetMatlabParam(); - } - } + QString strMatlabFile = m_strDir + "/MatlabParam.m"; + //if (WorkSpaceManager::Get().GetCurrent()) + //{ + // if (!WorkSpaceManager::Get().GetCurrent()->GetMatlabParam().isEmpty()) + // { + // strMatlabFile = RecourceHelper::Get().GetBasePath() + "/" + WorkSpaceManager::Get().GetCurrent()->GetMatlabParam(); + // } + //} - if (strMatlabFile.isEmpty()) - { - strMatlabFile = RecourceHelper::Get().GetBasePath() + "/workspace/MatlabParam.m"; - WorkSpaceManager::Get().GetCurrent()->SetMatlabParam("MatlabParam.m"); - } + //if (strMatlabFile.isEmpty()) + //{ + // strMatlabFile = RecourceHelper::Get().GetBasePath() + "/workspace/MatlabParam.m"; + // WorkSpaceManager::Get().GetCurrent()->SetMatlabParam("MatlabParam.m"); + //} QFile file(strMatlabFile); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { diff --git a/src/ui/Layout/AddParamSetting.h b/src/ui/Layout/AddParamSetting.h index f94e21f0..719a5691 100644 --- a/src/ui/Layout/AddParamSetting.h +++ b/src/ui/Layout/AddParamSetting.h @@ -28,7 +28,6 @@ protected slots: void slotButtonRemove(); void slotButtonCommit(); - void slotIntMaxValueChanged(int iValue); void slotIntMinValueChanged(int iValue); diff --git a/src/ui/Layout/AddParamSetting.ui b/src/ui/Layout/AddParamSetting.ui index d998459b..70819476 100644 --- a/src/ui/Layout/AddParamSetting.ui +++ b/src/ui/Layout/AddParamSetting.ui @@ -13,7 +13,7 @@ AddParamSetting - + @@ -65,13 +65,26 @@ - + + + + + Qt::Horizontal + + + + 40 + 20 + + + + - 60 - 60 + 100 + 30 @@ -83,8 +96,8 @@ - 60 - 60 + 100 + 30 @@ -96,8 +109,8 @@ - 60 - 60 + 100 + 30 @@ -105,19 +118,6 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/src/ui/MainWindow.cpp b/src/ui/MainWindow.cpp index 60dacba1..c53cb78e 100644 --- a/src/ui/MainWindow.cpp +++ b/src/ui/MainWindow.cpp @@ -114,98 +114,98 @@ void MainWindow::InitUI() { } } - DockWidget* fitCurveDock = new DockWidget(tr("Wave Curve"), 0); - fitCurveDock->SetDockWidgetTitleBar(new DockTitleBar(fitCurveDock)); - fitCurveDock->setObjectName("Dock.WaveCurveDialog"); - fitCurveDlg_ = new FitCurveDialog(); - fitCurveDlg_->AttachDock(fitCurveDock); - m_mapDockWidget.insert("WaveCurveDialog", fitCurveDock); - addDockWidget(Qt::BottomDockWidgetArea, fitCurveDock); + //DockWidget* fitCurveDock = new DockWidget(tr("Wave Curve"), 0); + //fitCurveDock->SetDockWidgetTitleBar(new DockTitleBar(fitCurveDock)); + //fitCurveDock->setObjectName("Dock.WaveCurveDialog"); + //fitCurveDlg_ = new FitCurveDialog(); + //fitCurveDlg_->AttachDock(fitCurveDock); + //m_mapDockWidget.insert("WaveCurveDialog", fitCurveDock); + //addDockWidget(Qt::BottomDockWidgetArea, fitCurveDock); //fitCurveDlg_->InitWaveFile(wavePath); - DockWidget* fitLgCurveDock = new DockWidget(tr("Speed Curve"), 0); - fitLgCurveDock->SetDockWidgetTitleBar(new DockTitleBar(fitLgCurveDock)); - fitLgCurveDock->setObjectName("Dock.SpeedCurveDialog"); + //DockWidget* fitLgCurveDock = new DockWidget(tr("Speed Curve"), 0); + //fitLgCurveDock->SetDockWidgetTitleBar(new DockTitleBar(fitLgCurveDock)); + //fitLgCurveDock->setObjectName("Dock.SpeedCurveDialog"); - fitYLgCurveDlg_ = new FitCurveDialog(); - fitYLgCurveDlg_->AttachDock(fitLgCurveDock); - m_mapDockWidget.insert("SpeedCurveDialog", fitLgCurveDock); - addDockWidget(Qt::BottomDockWidgetArea, fitLgCurveDock); - tabifyDockWidget(fitCurveDock, fitLgCurveDock); + //fitYLgCurveDlg_ = new FitCurveDialog(); + //fitYLgCurveDlg_->AttachDock(fitLgCurveDock); + //m_mapDockWidget.insert("SpeedCurveDialog", fitLgCurveDock); + //addDockWidget(Qt::BottomDockWidgetArea, fitLgCurveDock); + //tabifyDockWidget(fitCurveDock, fitLgCurveDock); //fitYLgCurveDlg_->InitReportFile(speedPath); - DockWidget* surfaceCurveDock = new DockWidget(tr("3D Curve"), 0); - surfaceCurveDock->SetDockWidgetTitleBar(new DockTitleBar(surfaceCurveDock)); - surfaceCurveDock->setObjectName("Dock.3DCurveDialog"); + //DockWidget* surfaceCurveDock = new DockWidget(tr("3D Curve"), 0); + //surfaceCurveDock->SetDockWidgetTitleBar(new DockTitleBar(surfaceCurveDock)); + //surfaceCurveDock->setObjectName("Dock.3DCurveDialog"); - surfaceDlg_ = new SurfaceDialog(); - surfaceDlg_->AttachDock(surfaceCurveDock); - m_mapDockWidget.insert("3DCurveDialog", surfaceCurveDock); - addDockWidget(Qt::BottomDockWidgetArea, surfaceCurveDock); - tabifyDockWidget(fitCurveDock, surfaceCurveDock); + //surfaceDlg_ = new SurfaceDialog(); + //surfaceDlg_->AttachDock(surfaceCurveDock); + //m_mapDockWidget.insert("3DCurveDialog", surfaceCurveDock); + //addDockWidget(Qt::BottomDockWidgetArea, surfaceCurveDock); + //tabifyDockWidget(fitCurveDock, surfaceCurveDock); //surfaceDlg_->InitRD(rdPath); - { - targetUITable_ = new TargetListWgt; + //{ + // targetUITable_ = new TargetListWgt; - QStringList headerLabels; - headerLabels << tr("Target number") << tr("Signal-to-noise ratio") - << tr("Azimuth line of sight") << tr("Pitch gaze angle") - << tr("azimuth") << tr("Pitch angle") - << tr("attribute") << tr("Doppler") - << tr("course") << tr("Speed") - << tr("longitude") << tr("latitude") - << tr("distance") << tr("velocity") - << tr("Radial dimensions") << tr("Target RCS"); + // QStringList headerLabels; + // headerLabels << tr("Target number") << tr("Signal-to-noise ratio") + // << tr("Azimuth line of sight") << tr("Pitch gaze angle") + // << tr("azimuth") << tr("Pitch angle") + // << tr("attribute") << tr("Doppler") + // << tr("course") << tr("Speed") + // << tr("longitude") << tr("latitude") + // << tr("distance") << tr("velocity") + // << tr("Radial dimensions") << tr("Target RCS"); - targetUITable_->SetHeader(headerLabels); - //const QString reportPath = RecourceHelper::Get().GetBasePath() + "/workspace/Report.txt"; - //targetUITable_->InitFile(speedPath, 50); + // targetUITable_->SetHeader(headerLabels); + // //const QString reportPath = RecourceHelper::Get().GetBasePath() + "/workspace/Report.txt"; + // //targetUITable_->InitFile(speedPath, 50); - DockWidget* dataTableDock = new DockWidget(tr("Report Table"), 0); - dataTableDock->SetDockWidgetTitleBar(new DockTitleBar(dataTableDock)); - dataTableDock->setObjectName("Dock.TargetListWgt_Table"); - // addDockWidget(pSettingUI->GetArea("TargetListWgt"), dataTableDock); - targetUITable_->AttachDock(dataTableDock); - m_mapDockWidget.insert("TargetListWgt_Table", dataTableDock); - addDockWidget(Qt::BottomDockWidgetArea, dataTableDock); - tabifyDockWidget(fitCurveDock, dataTableDock); + // DockWidget* dataTableDock = new DockWidget(tr("Report Table"), 0); + // dataTableDock->SetDockWidgetTitleBar(new DockTitleBar(dataTableDock)); + // dataTableDock->setObjectName("Dock.TargetListWgt_Table"); + // // addDockWidget(pSettingUI->GetArea("TargetListWgt"), dataTableDock); + // targetUITable_->AttachDock(dataTableDock); + // m_mapDockWidget.insert("TargetListWgt_Table", dataTableDock); + // addDockWidget(Qt::BottomDockWidgetArea, dataTableDock); + // tabifyDockWidget(fitCurveDock, dataTableDock); - } + //} - const QString lampPath = RecourceHelper::Get().GetBasePath() + "/workspace/Lamp.txt"; + //const QString lampPath = RecourceHelper::Get().GetBasePath() + "/workspace/Lamp.txt"; - DockWidget* signalIndicatorLampDock = new DockWidget(tr("Signal Indicator Lamp"), 0); - signalIndicatorLampDock->SetDockWidgetTitleBar(new DockTitleBar(signalIndicatorLampDock)); - signalIndicatorLampDock->setObjectName("Dock.SignalIndicatorLampUI"); - signalIndicatorLampUI_ = new SignalIndicatorLampUI; - signalIndicatorLampUI_->AttachDock(signalIndicatorLampDock); - //signalIndicatorLampUI_->InitLamp(lampPath); + //DockWidget* signalIndicatorLampDock = new DockWidget(tr("Signal Indicator Lamp"), 0); + //signalIndicatorLampDock->SetDockWidgetTitleBar(new DockTitleBar(signalIndicatorLampDock)); + //signalIndicatorLampDock->setObjectName("Dock.SignalIndicatorLampUI"); + //signalIndicatorLampUI_ = new SignalIndicatorLampUI; + //signalIndicatorLampUI_->AttachDock(signalIndicatorLampDock); + ////signalIndicatorLampUI_->InitLamp(lampPath); - m_mapDockWidget.insert("SignalIndicatorLampUI", signalIndicatorLampDock); - addDockWidget(Qt::BottomDockWidgetArea, signalIndicatorLampDock); - tabifyDockWidget(fitCurveDock, signalIndicatorLampDock); + //m_mapDockWidget.insert("SignalIndicatorLampUI", signalIndicatorLampDock); + //addDockWidget(Qt::BottomDockWidgetArea, signalIndicatorLampDock); + //tabifyDockWidget(fitCurveDock, signalIndicatorLampDock); - DockWidget* addParamSettingDock = new DockWidget(tr("ParamSetting"), 0); - addParamSettingDock->SetDockWidgetTitleBar(new DockTitleBar(addParamSettingDock)); - addParamSettingDock->setObjectName("Dock.ParamSetting"); - addParamDlg_ = new AddParamSetting(matlabParam); - addParamDlg_->AttachDock(addParamSettingDock); - m_mapDockWidget.insert("ParamSetting", addParamSettingDock); - addDockWidget(Qt::BottomDockWidgetArea, addParamSettingDock); - tabifyDockWidget(fitCurveDock, addParamSettingDock); + // DockWidget* addParamSettingDock = new DockWidget(tr("ParamSetting"), 0); + // addParamSettingDock->SetDockWidgetTitleBar(new DockTitleBar(addParamSettingDock)); + // addParamSettingDock->setObjectName("Dock.ParamSetting"); + // addParamDlg_ = new AddParamSetting(matlabParam); + // addParamDlg_->AttachDock(addParamSettingDock); + // m_mapDockWidget.insert("ParamSetting", addParamSettingDock); + // addDockWidget(Qt::BottomDockWidgetArea, addParamSettingDock); + // tabifyDockWidget(fitCurveDock, addParamSettingDock); - DockWidget* matlabDock = new DockWidget(tr("bat File"), 0); - matlabDock->SetDockWidgetTitleBar(new DockTitleBar(matlabDock)); - matlabDock->setObjectName("Dock.Matlab"); - matlabFileDlg_ = new CodeEdtUI; - matlabFileDlg_->AttachDock(matlabDock); - m_mapDockWidget.insert("Matlab", matlabDock); - addDockWidget(Qt::BottomDockWidgetArea, matlabDock); - tabifyDockWidget(fitCurveDock, matlabDock); + //DockWidget* matlabDock = new DockWidget(tr("bat File"), 0); + //matlabDock->SetDockWidgetTitleBar(new DockTitleBar(matlabDock)); + //matlabDock->setObjectName("Dock.Matlab"); + //matlabFileDlg_ = new CodeEdtUI; + //matlabFileDlg_->AttachDock(matlabDock); + //m_mapDockWidget.insert("Matlab", matlabDock); + // addDockWidget(Qt::BottomDockWidgetArea, matlabDock); + // tabifyDockWidget(fitCurveDock, matlabDock); //ui->discript->setText(tr("name: 5year 0412")); //ui->status->setText(tr("start: no start")); diff --git a/src/ui/Menu/SimuRunMenu.cpp b/src/ui/Menu/SimuRunMenu.cpp index 1edb0365..f12f4f25 100644 --- a/src/ui/Menu/SimuRunMenu.cpp +++ b/src/ui/Menu/SimuRunMenu.cpp @@ -1,22 +1,23 @@ #include "ui/Menu/SimuRunMenu.h" +#include "ui/Layout/AddParamSetting.h" -#include #include #include +#include #include "workspace/WorkSpaceManager.h" #include "workspace/WorkSpace.h" #include "workspace/CommandManager.h" SimuRunMenu::SimuRunMenu(QWidget *parent) - : QWidget(parent) { - ui.setupUi(this); + : QWidget(parent) +{ + m_pParam = NULL; - // Create a vertical layout to host grouped command rows - auto* layout = new QVBoxLayout(this); - layout->setContentsMargins(9, 0, 0, 0); - layout->setSpacing(6); - setLayout(layout); + QHBoxLayout* layout = new QHBoxLayout(this); + layout->setContentsMargins(9, 0, 0, 0); + layout->setSpacing(6); + setLayout(layout); // Refresh when workspace changes connect(&WorkSpaceManager::Get(), &WorkSpaceManager::WorkSpaceChanged, @@ -36,72 +37,154 @@ void SimuRunMenu::OnWorkspaceChanged(WorkSpace* ws) { void SimuRunMenu::RefreshButtons() { // Clear existing buttons - if (auto* layout = qobject_cast(this->layout())) { - while (layout->count() > 0) { - QLayoutItem* item = layout->takeAt(0); - if (item) { - if (auto* w = item->widget()) { - w->deleteLater(); - } - delete item; - } - } - } + ClearAllBtn(); + + CreateMatlabParam(); + CreateLine(); auto* ws = WorkSpaceManager::Get().GetCurrent(); - if (!ws) { + if (!ws) + { // Show hint when no workspace - if (auto* layout = qobject_cast(this->layout())) { + if (auto* layout = qobject_cast(this->layout())) { auto* hint = new QLabel(tr("no workspace"), this); layout->addWidget(hint); } + + CreateSpacer(); + return; } CommandManager mgr; const auto items = mgr.ListCommands(ws); - if (items.empty()) { - if (auto* layout = qobject_cast(this->layout())) { + if (items.empty()) + { + if (auto* layout = qobject_cast(this->layout())) { auto* hint = new QLabel(tr("no commands"), this); layout->addWidget(hint); } + + CreateSpacer(); + return; } - + // Render all commands in a single group without trigger distinction CreateGroup(tr("Commands"), items); + + CreateSpacer(); } void SimuRunMenu::CreateGroup(const QString& title, const std::vector& items) { - auto* root = qobject_cast(this->layout()); + auto* root = qobject_cast(this->layout()); if (!root) return; - auto* label = new QLabel(title, this); - root->addWidget(label); + QGroupBox * groupBox = new QGroupBox; + QHBoxLayout * hGroupLayout = new QHBoxLayout; + hGroupLayout->setContentsMargins(10, 0, 10, 0); + groupBox->setTitle(title); + groupBox->setAlignment(Qt::AlignHCenter); - auto* row = new QHBoxLayout(); - row->setSpacing(6); - for (const auto& item : items) { - auto* btn = new QToolButton(this); - btn->setText(item.name.isEmpty() ? tr("unnamed") : item.name); - QString tip = item.descript; - if (!item.program.isEmpty()) { - tip += QStringLiteral("\nprog: ") + item.program; - } - if (!item.path.isEmpty()) { - tip += QStringLiteral("\npath: ") + item.path; - } - btn->setToolTip(tip); - row->addWidget(btn); + for (const auto& item : items) { + auto* btn = new QToolButton(this); + btn->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + btn->setText(item.name.isEmpty() ? tr("unnamed") : item.name); + btn->setIcon(QIcon(":/res/default/Command.png")); + QString tip = item.descript; + if (!item.program.isEmpty()) { + tip += QStringLiteral("\nprog: ") + item.program; + } + if (!item.path.isEmpty()) { + tip += QStringLiteral("\npath: ") + item.path; + } + btn->setToolTip(tip); + hGroupLayout->addWidget(btn); - connect(btn, &QToolButton::clicked, this, [name = item.name]() { - auto* wsCur = WorkSpaceManager::Get().GetCurrent(); - if (!wsCur) return; - CommandManager execMgr; - execMgr.ExecuteByName(wsCur, name); - }); - } - row->addStretch(1); - root->addLayout(row); + connect(btn, &QToolButton::clicked, this, [name = item.name]() { + auto* wsCur = WorkSpaceManager::Get().GetCurrent(); + if (!wsCur) return; + CommandManager execMgr; + execMgr.ExecuteByName(wsCur, name); + }); + } + + groupBox->setLayout(hGroupLayout); + root->addWidget(groupBox); } + +void SimuRunMenu::CreateMatlabParam() +{ + QHBoxLayout* layout = qobject_cast(this->layout()); + if (!layout) + return; + + QToolButton *pBtn = new QToolButton(); + pBtn->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + pBtn->setText(tr("MatlabParam")); + pBtn->setIcon(QIcon(":/res/default/menu_setting_restore.png")); + pBtn->setToolTip(tr("MatlabParam")); + + connect(pBtn, SIGNAL(clicked()), this, SLOT(slotHandleMatlabParam())); + + layout->addWidget(pBtn); +} + +void SimuRunMenu::CreateLine() +{ + QHBoxLayout* layout = qobject_cast(this->layout()); + if (!layout) + return; + + QFrame *line = new QFrame(this); + line->setObjectName(QString::fromUtf8("line")); + line->setFrameShadow(QFrame::Plain); + line->setFrameShape(QFrame::VLine); + + layout->addWidget(line); +} + +void SimuRunMenu::CreateSpacer() +{ + QHBoxLayout* layout = qobject_cast(this->layout()); + if (!layout) + return; + + QSpacerItem *horizontalSpacer = new QSpacerItem(441, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + layout->addItem(horizontalSpacer); +} + +void SimuRunMenu::ClearAllBtn() +{ + if (auto* layout = qobject_cast(this->layout())) + { + while (layout->count() > 0) + { + QLayoutItem* item = layout->takeAt(0); + if (item) + { + if (auto* w = item->widget()) + { + w->deleteLater(); + } + delete item; + } + } + } +} + +void SimuRunMenu::slotHandleMatlabParam() +{ + if (WorkSpaceManager::Get().GetCurrent()) + { + if (!m_pParam) + { + QString strDir = WorkSpaceManager::Get().GetCurrent()->GetDir(); + m_pParam = new AddParamSetting(strDir); + } + + m_pParam->setWindowTitle(tr("MatlabParam")); + m_pParam->show(); + } +} \ No newline at end of file diff --git a/src/ui/Menu/SimuRunMenu.h b/src/ui/Menu/SimuRunMenu.h index fb1630b9..bd8b0f74 100644 --- a/src/ui/Menu/SimuRunMenu.h +++ b/src/ui/Menu/SimuRunMenu.h @@ -1,10 +1,12 @@ #pragma once #include -#include "ui_SimuRunMenu.h" +#include #include "workspace/CommandManager.h" #include "workspace/CommandExecutor.h" +class AddParamSetting; + class SimuRunMenu : public QWidget { Q_OBJECT @@ -15,12 +17,18 @@ public: private slots: void OnWorkspaceChanged(class WorkSpace* ws); + void slotHandleMatlabParam(); + private: void RefreshButtons(); void CreateGroup(const QString& title, const std::vector& items); + void CreateMatlabParam(); + void CreateLine(); + void CreateSpacer(); + void ClearAllBtn(); private: - Ui::SimuRunMenuClass ui; + AddParamSetting *m_pParam; };