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.
215 lines
8.3 KiB
C++
215 lines
8.3 KiB
C++
3 weeks ago
|
#include "CFDTreeWidget.h"
|
||
|
|
||
|
#include <QWidget>
|
||
|
#include <GUIFrame/PropertyWidget.h>
|
||
|
#include <QLabel>
|
||
|
#include <QVBoxLayout>
|
||
|
|
||
|
namespace GUI{
|
||
|
|
||
|
CFDTreeWidget::CFDTreeWidget(QWidget* parent, PropertyWidget* m_PropertyWidget):
|
||
|
TreeWidget(parent)
|
||
|
{
|
||
|
this->m_PropertyWidget = m_PropertyWidget;
|
||
|
|
||
|
//右键 不可少否则右键无反应
|
||
|
setContextMenuPolicy(Qt::CustomContextMenu);
|
||
|
connect(this, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(onItemClicked(QTreeWidgetItem*, int)));
|
||
|
connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onModelCustomContextMenu(QPoint)));
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
void CFDTreeWidget::updateTree(QString s){
|
||
|
this->clear();
|
||
|
|
||
|
if(s == "SolutionAnalysis")
|
||
|
addTreeSolutionAnalysis();
|
||
|
else if(s == "Postprocessing")
|
||
|
addTreePostprocessing();
|
||
|
else if(s == "Preprocessing")
|
||
|
addTreePreprocessing();
|
||
|
|
||
|
setItemsExpandable(true);
|
||
|
expandAll();
|
||
|
}
|
||
|
|
||
|
void CFDTreeWidget::addTreePreprocessing(){
|
||
|
QTreeWidgetItem* GeometryAndMeshingItem = new QTreeWidgetItem();
|
||
|
GeometryAndMeshingItem->setText(0,tr("Preprocessing"));
|
||
|
GeometryAndMeshingItem->setData(1,0,-1);
|
||
|
// GeometryAndMeshingItem->setData(2, 0, QVariant::fromValue(GUI::MainTreeEnum::MainTree_Mesh));
|
||
|
this->addTopLevelItem(GeometryAndMeshingItem);
|
||
|
}
|
||
|
|
||
|
void CFDTreeWidget::addTreeSolutionAnalysis()
|
||
|
{
|
||
|
QTreeWidgetItem* GeometryAndMeshingItem = new QTreeWidgetItem();
|
||
|
GeometryAndMeshingItem->setText(0,tr("Geometry and Meshing"));
|
||
|
GeometryAndMeshingItem->setData(1,0,-1);
|
||
|
// GeometryAndMeshingItem->setData(2, 0, QVariant::fromValue(GUI::MainTreeEnum::MainTree_Mesh));
|
||
|
this->addTopLevelItem(GeometryAndMeshingItem);
|
||
|
|
||
|
QTreeWidgetItem* mesh = new QTreeWidgetItem();
|
||
|
mesh->setText(0,tr("Mesh001"));
|
||
|
mesh->setData(1,0,-1);
|
||
|
GeometryAndMeshingItem->addChild(mesh);
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* ComputationalSetupItem = new QTreeWidgetItem();
|
||
|
ComputationalSetupItem->setText(0,tr("Computational Setup"));
|
||
|
ComputationalSetupItem->setData(1,0,-1);
|
||
|
this->addTopLevelItem(ComputationalSetupItem);
|
||
|
|
||
|
QTreeWidgetItem* TimeModeItem = new QTreeWidgetItem();
|
||
|
TimeModeItem->setText(0,tr("Time Mode"));
|
||
|
TimeModeItem->setData(1,0,-1);
|
||
|
ComputationalSetupItem->addChild(TimeModeItem);
|
||
|
|
||
|
QTreeWidgetItem* ComputationalDomainItem = new QTreeWidgetItem();
|
||
|
ComputationalDomainItem->setText(0,tr("Computational Domain"));
|
||
|
ComputationalDomainItem->setData(1,0,-1);
|
||
|
ComputationalSetupItem->addChild(ComputationalDomainItem);
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* SolverItem = new QTreeWidgetItem();
|
||
|
SolverItem->setText(0,tr("Solver"));
|
||
|
SolverItem->setData(1,0,-1);
|
||
|
ComputationalDomainItem->addChild(SolverItem);
|
||
|
|
||
|
QTreeWidgetItem* BasicModelItem = new QTreeWidgetItem();
|
||
|
BasicModelItem->setText(0,tr("Basic Model"));
|
||
|
BasicModelItem->setData(1,0,-1);
|
||
|
SolverItem->addChild(BasicModelItem);
|
||
|
QTreeWidgetItem* ViscosityModelItem = new QTreeWidgetItem();
|
||
|
ViscosityModelItem->setText(0,tr("Viscosity Model"));
|
||
|
ViscosityModelItem->setData(1,0,-1);
|
||
|
SolverItem->addChild(ViscosityModelItem);
|
||
|
QTreeWidgetItem* NumericalMethodsItem = new QTreeWidgetItem();
|
||
|
NumericalMethodsItem->setText(0,tr("Numerical Methods"));
|
||
|
NumericalMethodsItem->setData(1,0,-1);
|
||
|
SolverItem->addChild(NumericalMethodsItem);
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* MotionPropertiesItem = new QTreeWidgetItem();
|
||
|
MotionPropertiesItem->setText(0,tr("Motion Properties"));
|
||
|
MotionPropertiesItem->setData(1,0,-1);
|
||
|
ComputationalDomainItem->addChild(MotionPropertiesItem);
|
||
|
|
||
|
QTreeWidgetItem* motion1Item = new QTreeWidgetItem();
|
||
|
motion1Item->setText(0,tr("motion-1"));
|
||
|
motion1Item->setData(1,0,-1);
|
||
|
MotionPropertiesItem->addChild(motion1Item);
|
||
|
|
||
|
QTreeWidgetItem* BoundaryConditionsItem = new QTreeWidgetItem();
|
||
|
BoundaryConditionsItem->setText(0,tr("Boundary Conditions"));
|
||
|
BoundaryConditionsItem->setData(1,0,-1);
|
||
|
ComputationalDomainItem->addChild(BoundaryConditionsItem);
|
||
|
|
||
|
QTreeWidgetItem* pressureinletItem = new QTreeWidgetItem();
|
||
|
pressureinletItem->setText(0,tr("pressure-inlet"));
|
||
|
pressureinletItem->setData(1,0,-1);
|
||
|
BoundaryConditionsItem->addChild(pressureinletItem);
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* InitializationItem = new QTreeWidgetItem();
|
||
|
InitializationItem->setText(0,tr("Initialization"));
|
||
|
InitializationItem->setData(1,0,-1);
|
||
|
ComputationalDomainItem->addChild(InitializationItem);
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* ComputationalControlItem = new QTreeWidgetItem();
|
||
|
ComputationalControlItem->setText(0,tr("Computational Control"));
|
||
|
ComputationalControlItem->setData(1,0,-1);
|
||
|
ComputationalDomainItem->addChild(ComputationalControlItem);
|
||
|
|
||
|
QTreeWidgetItem* ReferenceQuantityItem = new QTreeWidgetItem();
|
||
|
ReferenceQuantityItem->setText(0,tr("reference quantity"));
|
||
|
ReferenceQuantityItem->setData(1,0,-1);
|
||
|
ComputationalControlItem->addChild(ReferenceQuantityItem);
|
||
|
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* MonitorsItem = new QTreeWidgetItem();
|
||
|
MonitorsItem->setText(0,tr("Monitors"));
|
||
|
MonitorsItem->setData(1,0,-1);
|
||
|
ComputationalDomainItem->addChild(MonitorsItem);
|
||
|
|
||
|
QTreeWidgetItem* ResidualItem = new QTreeWidgetItem();
|
||
|
ResidualItem->setText(0,tr("Residual"));
|
||
|
ResidualItem->setData(1,0,-1);
|
||
|
MonitorsItem->addChild(ResidualItem);
|
||
|
QTreeWidgetItem* AerodynamicForceItem = new QTreeWidgetItem();
|
||
|
AerodynamicForceItem->setText(0,tr("Aerodynamic Force"));
|
||
|
AerodynamicForceItem->setData(1,0,-1);
|
||
|
MonitorsItem->addChild(AerodynamicForceItem);
|
||
|
QTreeWidgetItem* TurbomachineryPerformanceItem = new QTreeWidgetItem();
|
||
|
TurbomachineryPerformanceItem->setText(0,tr("Turbomachinery Performance"));
|
||
|
TurbomachineryPerformanceItem->setData(1,0,-1);
|
||
|
MonitorsItem->addChild(TurbomachineryPerformanceItem);
|
||
|
|
||
|
}
|
||
|
|
||
|
void CFDTreeWidget::addTreePostprocessing()
|
||
|
{
|
||
|
// _treePostprocessing = new TreeWidget(this);
|
||
|
// tabWidget->addTab(_treePostprocessing,tr("Postprocessing"));
|
||
|
// qDebug()<<"!!!";
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* PostProcessingItem = new QTreeWidgetItem();
|
||
|
PostProcessingItem->setText(0,tr("Post-processing"));
|
||
|
PostProcessingItem->setData(1,0,-1);
|
||
|
this->addTopLevelItem(PostProcessingItem);
|
||
|
|
||
|
QTreeWidgetItem* MeshItem = new QTreeWidgetItem();
|
||
|
MeshItem->setText(0,tr("Mesh"));
|
||
|
MeshItem->setData(1,0,-1);
|
||
|
PostProcessingItem->addChild(MeshItem);
|
||
|
|
||
|
QTreeWidgetItem* Mesh1Item = new QTreeWidgetItem();
|
||
|
Mesh1Item->setText(0,tr("Mesh 1"));
|
||
|
Mesh1Item->setData(1,0,-1);
|
||
|
MeshItem->addChild(Mesh1Item);
|
||
|
QTreeWidgetItem* Interface1Item = new QTreeWidgetItem();
|
||
|
Interface1Item->setText(0,tr("Interface 1"));
|
||
|
Interface1Item->setData(1,0,-1);
|
||
|
MeshItem->addChild(Interface1Item);
|
||
|
|
||
|
|
||
|
QTreeWidgetItem* CuttingPlaneItem = new QTreeWidgetItem();
|
||
|
CuttingPlaneItem->setText(0,tr("Cutting Plane"));
|
||
|
CuttingPlaneItem->setData(1,0,-1);
|
||
|
PostProcessingItem->addChild(CuttingPlaneItem);
|
||
|
|
||
|
QTreeWidgetItem* IsosurfaceItem = new QTreeWidgetItem();
|
||
|
IsosurfaceItem->setText(0,tr("Isosurface"));
|
||
|
IsosurfaceItem->setData(1,0,-1);
|
||
|
PostProcessingItem->addChild(IsosurfaceItem);
|
||
|
|
||
|
QTreeWidgetItem* StreamlineItem = new QTreeWidgetItem();
|
||
|
StreamlineItem->setText(0,tr("Streamline"));
|
||
|
StreamlineItem->setData(1,0,-1);
|
||
|
PostProcessingItem->addChild(StreamlineItem);
|
||
|
|
||
|
QTreeWidgetItem* DataStatisticsItem = new QTreeWidgetItem();
|
||
|
DataStatisticsItem->setText(0,tr("Data Statistics"));
|
||
|
DataStatisticsItem->setData(1,0,-1);
|
||
|
PostProcessingItem->addChild(DataStatisticsItem);
|
||
|
|
||
|
QTreeWidgetItem* ForceAndMomentItem = new QTreeWidgetItem();
|
||
|
ForceAndMomentItem->setText(0,tr("Force and Moment"));
|
||
|
ForceAndMomentItem->setData(1,0,-1);
|
||
|
DataStatisticsItem->addChild(ForceAndMomentItem);
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
void CFDTreeWidget::onItemClicked(QTreeWidgetItem *item, int column)
|
||
|
{
|
||
|
qDebug()<<item->text(0);
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|