bool QCSXCAD::ReadNode(TiXmlNode* root) { if (root==NULL) return false; clear(); QString msg(ReadFromXML(root)); if (msg.isEmpty()==false) QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occured!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton); CSTree->UpdateTree(); CSTree->expandAll(); setModified(); CheckGeometry(); GridEditor->Update(); BestView(); StructureVTK->ResetView(); return true; }
static DFBResult IDirectFBWindow_SetDstGeometry( IDirectFBWindow *thiz, const DFBWindowGeometry *geometry ) { DFBResult ret; CoreWindowConfig config; DIRECT_INTERFACE_GET_DATA(IDirectFBWindow) D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ ); ret = CheckGeometry( geometry ); if (ret) return ret; if (data->destroyed) return DFB_DESTROYED; config.dst_geometry = *geometry; return dfb_window_set_config( data->window, &config, CWCF_DST_GEOMETRY ); }
bool QCSXCAD::ReadFile(QString filename) { if (QFile::exists(filename)==false) return false; TiXmlDocument doc(filename.toStdString().c_str()); if (!doc.LoadFile()) { QMessageBox::warning(this,tr("File- Error!!! File: "),tr("File-Loading failed!!!"),QMessageBox::Ok,QMessageBox::NoButton); } TiXmlNode* root = 0; TiXmlElement* openEMS = doc.FirstChildElement("openEMS"); if (openEMS) { root = ReadOpenEMS(openEMS); } else { //try to find a root node somewhere else... root = FindRootNode(&doc); } if (root==NULL) { QMessageBox::warning(this,tr("Geometry read error"),tr("Can't find root CSX node!!"),QMessageBox::Ok,QMessageBox::NoButton); return false; } // QString msg(ReadFromXML(filename.toLatin1().constData())); QString msg(ReadFromXML(root)); if (msg.isEmpty()==false) QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occured!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton); CSTree->UpdateTree(); CSTree->expandAll(); setModified(); CheckGeometry(); GridEditor->Update(); BestView(); StructureVTK->ResetView(); return true; }
QCSXCAD::QCSXCAD(QWidget *parent) : QMainWindow(parent) { QStringList argList=qApp->arguments(); for (int i=1;i<argList.size();++i) { if (argList.at(i).startsWith("-")) QCSX_Settings.parseCommandLineArgument(argList.at(i)); } m_ViewDir = 2; m_RenderDiscModels = QCSX_Settings.GetRenderDiscMaterial(); StructureVTK = new QVTKStructure(); StructureVTK->SetGeometry(this); setCentralWidget(StructureVTK->GetVTKWidget()); CSTree = new QCSTreeWidget(this); QObject::connect(CSTree,SIGNAL(Edit()),this,SLOT(Edit())); QObject::connect(CSTree,SIGNAL(Copy()),this,SLOT(Copy())); QObject::connect(CSTree,SIGNAL(ShowHide()),this,SLOT(ShowHide())); QObject::connect(CSTree,SIGNAL(Delete()),this,SLOT(Delete())); QObject::connect(CSTree,SIGNAL(NewBox()),this,SLOT(NewBox())); QObject::connect(CSTree,SIGNAL(NewMultiBox()),this,SLOT(NewMultiBox())); QObject::connect(CSTree,SIGNAL(NewSphere()),this,SLOT(NewSphere())); QObject::connect(CSTree,SIGNAL(NewCylinder()),this,SLOT(NewCylinder())); QObject::connect(CSTree,SIGNAL(NewUserDefined()),this,SLOT(NewUserDefined())); QObject::connect(CSTree,SIGNAL(NewMaterial()),this,SLOT(NewMaterial())); QObject::connect(CSTree,SIGNAL(NewMetal()),this,SLOT(NewMetal())); QObject::connect(CSTree,SIGNAL(NewExcitation()),this,SLOT(NewExcitation())); QObject::connect(CSTree,SIGNAL(NewChargeBox()),this,SLOT(NewChargeBox())); QObject::connect(CSTree,SIGNAL(NewResBox()),this,SLOT(NewResBox())); QObject::connect(CSTree,SIGNAL(NewDumpBox()),this,SLOT(NewDumpBox())); QDockWidget *dock = new QDockWidget(tr("Properties and Structures"),this); dock->setAllowedAreas(Qt::LeftDockWidgetArea); dock->setWidget(CSTree); dock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); dock->setObjectName("Properties_and_Structures_Dock"); addDockWidget(Qt::LeftDockWidgetArea,dock); GridEditor = new QCSGridEditor(&clGrid); QObject::connect(GridEditor,SIGNAL(OpacityChange(int)),StructureVTK,SLOT(SetGridOpacity(int))); QObject::connect(GridEditor,SIGNAL(signalDetectEdges(int)),this,SLOT(DetectEdges(int))); QObject::connect(GridEditor,SIGNAL(GridChanged()),StructureVTK,SLOT(RenderGrid())); QObject::connect(GridEditor,SIGNAL(GridPlaneXChanged(int)),StructureVTK,SLOT(RenderGridX(int))); QObject::connect(GridEditor,SIGNAL(GridPlaneYChanged(int)),StructureVTK,SLOT(RenderGridY(int))); QObject::connect(GridEditor,SIGNAL(GridPlaneZChanged(int)),StructureVTK,SLOT(RenderGridZ(int))); dock = new QDockWidget(tr("Rectilinear Grid"),this); dock->setAllowedAreas(Qt::LeftDockWidgetArea); dock->setWidget(GridEditor); dock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); dock->setObjectName("Rectilinear_Grid_Dock"); addDockWidget(Qt::LeftDockWidgetArea,dock); QParaSet= new QParameterSet(); QObject::connect(QParaSet,SIGNAL(ParameterChanged()),this,SLOT(CheckGeometry())); QObject::connect(QParaSet,SIGNAL(ParameterChanged()),this,SLOT(setModified())); clParaSet=QParaSet; dock = new QDockWidget(tr("Rectilinear Grid - Plane Position"),this); dock->setAllowedAreas(Qt::LeftDockWidgetArea); dock->setWidget(GridEditor->BuildPlanePosWidget()); dock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); dock->setObjectName("Grid_Plane_Pos"); addDockWidget(Qt::LeftDockWidgetArea,dock); dock = new QDockWidget(tr("Parameter"),this); dock->setAllowedAreas(Qt::LeftDockWidgetArea); dock->setWidget(QParaSet); dock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); dock->setObjectName("Parameter_Dock"); addDockWidget(Qt::LeftDockWidgetArea,dock); BuildToolBar(); bModified=true; GridEditor->SetOpacity(30); Render(); }