You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#include "LightWidget.h"
|
|
|
|
|
#include "ui_LightWidget.h"
|
|
|
|
|
#include "LightSubWidget.h"
|
|
|
|
|
|
|
|
|
|
#include "FITK_Kernel/FITKAppFramework/FITKAppFramework.h"
|
|
|
|
|
#include "FITK_Kernel/FITKAppFramework/FITKGlobalData.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceCFDPost/FITKCFDPostLight.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceCFDPost/FITKCFDPostLightManager.h"
|
|
|
|
|
|
|
|
|
|
namespace GUI
|
|
|
|
|
{
|
|
|
|
|
LightWidget::LightWidget(EventOper::ParaWidgetInterfaceOperator * oper):
|
|
|
|
|
GUIWidgetBase(FITKAPP->getGlobalData()->getMainWindow())
|
|
|
|
|
{
|
|
|
|
|
_ui = new Ui::LightWidget();
|
|
|
|
|
_ui->setupUi(this);
|
|
|
|
|
init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LightWidget::~LightWidget()
|
|
|
|
|
{
|
|
|
|
|
//清除全部子界面
|
|
|
|
|
QLayoutItem* item;
|
|
|
|
|
while ((item = _ui->verticalLayout_Sub->takeAt(0)) != nullptr) {
|
|
|
|
|
if (QWidget* widget = item->widget()) {
|
|
|
|
|
widget->deleteLater(); // 推荐使用 deleteLater,以确保小部件在适当时机被删除
|
|
|
|
|
}
|
|
|
|
|
delete item; // 删除布局项
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (_ui) {
|
|
|
|
|
delete _ui;
|
|
|
|
|
_ui = nullptr;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LightWidget::init()
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < _postLightManager->getDataCount(); i++) {
|
|
|
|
|
Interface::FITKCFDPostLight* lightData = _postLightManager->getDataByIndex(i);
|
|
|
|
|
if(lightData == nullptr)continue;
|
|
|
|
|
LightSubWidget* subWidget = new LightSubWidget(lightData->getDataObjectID(), this);
|
|
|
|
|
_ui->verticalLayout_Sub->addWidget(subWidget);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LightWidget::on_pushButton_clicked()
|
|
|
|
|
{
|
|
|
|
|
Interface::FITKCFDPostLight* light = new Interface::FITKCFDPostLight();
|
|
|
|
|
_postLightManager->appendDataObj(light);
|
|
|
|
|
|
|
|
|
|
LightSubWidget* subWidget = new LightSubWidget(light->getDataObjectID(), this);
|
|
|
|
|
_ui->verticalLayout_Sub->addWidget(subWidget);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|