logplus/ModuleConsole/src/ModuleTreeDlg.cpp
2026-01-16 17:18:41 +08:00

78 lines
2.8 KiB
C++

#pragma warning(push ,0)
#include <QPushButton>
#include <QGridLayout>
#include <QMessageBox>
#include "ModuleTreeDlg.h"
#include "GlobalUtility.h"
#include "GeometryUtils.h"
#pragma warning(pop)
BEGIN_OSGGRAPHICS_NAMESPACE;
ModuleTreeDlg::ModuleTreeDlg(QWidget * parent, Qt::WindowFlags f)
: QDialog(parent, f)
{
m_pModuleTree = new CPaiModuleTree(this);
m_pCompositeModuleTree=new CPaiWorkflowTemplateTree(QUuid(),this);
m_TabWidget_Module = new QTabWidget(this);
m_pOKButton = new QPushButton(QObject::tr("选定"));
m_pOKButton->setIcon(QIcon(::GetImagePath()+"icon/OK.png"));
m_pOKButton->setMaximumWidth(100);
m_pCancelButton = new QPushButton(QObject::tr("取消"));
m_pCancelButton->setIcon(QIcon(::GetImagePath()+"icon/Cancel.png"));
m_pCancelButton->setMaximumWidth(100);
connect(m_pOKButton, SIGNAL(clicked()), this, SLOT(accept()));
connect(m_pCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
connect(m_pModuleTree,SIGNAL(DeliverModule(const QString&)),this,SLOT(accept()));
m_TabWidget_Module->addTab(m_pModuleTree,QIcon(::GetImagePath() + "icon/ModuleOne.png"),QObject::tr("单方法"));
m_TabWidget_Module->addTab(m_pCompositeModuleTree,QIcon(::GetImagePath() + "icon/Workflowtemplate.png"),QObject::tr("组合方法"));
QGridLayout *layout = new QGridLayout;
layout->addWidget(m_TabWidget_Module, 0,0,1,3);
layout->addWidget(m_pOKButton, 1,1,1,1);
layout->addWidget(m_pCancelButton,1,2,1,1);
layout->setRowStretch(0, 1);
layout->setColumnStretch(0, 1);
layout->setColumnStretch(1, 1);
setLayout(layout);
layout->setColumnMinimumWidth(0,150);
layout->setColumnMinimumWidth(1,100);
layout->setColumnMinimumWidth(2,100);
this->setWindowTitle("请选择处理方法");
this->setWindowIcon(QIcon(::GetImagePath()+"icon/workflow.png"));
this->setMinimumHeight(500);
this->setMinimumWidth(350);
}
ModuleTreeDlg::~ModuleTreeDlg(void)
{
}
void ModuleTreeDlg::accept()
{
if(m_pModuleTree->selectedItems().size()>=1||m_pCompositeModuleTree->selectedItems().size()>=1)
{
if(m_TabWidget_Module->currentIndex()==0){//选择了单方法
QTreeWidgetItem* selectd=m_pModuleTree->selectedItems().at(0);
m_SelectedModuleClassID=selectd->data(0,pai::gui::IDRole).toString();
m_SelectedModuleName=selectd->text(0);
m_SelectedCompositeMethod="";
if(m_SelectedModuleClassID!="")
QDialog::accept();
}
else if(m_TabWidget_Module->currentIndex()==1){//选择了组合方法
QTreeWidgetItem* selectd=m_pCompositeModuleTree->selectedItems().at(0);
m_SelectedModuleClassID="";
m_SelectedModuleName="";
m_SelectedCompositeMethod=selectd->text(0);
if(m_SelectedCompositeMethod!="")
QDialog::accept();
}
}
else
{
QMessageBox::information(this,QObject::tr("提示"),QObject::tr("请选择一个模块或者组合方法"));
}
}
END_OSGGRAPHICS_NAMESPACE