X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHOMARDGUI%2FMonEditCase.cxx;h=40f28fa9fac345659b6803a02f6ffc7ab80e2e30;hb=31086b2b08730cab7973f016edd2aaafee1eabbb;hp=0045f9be85f0e9bde916df175b69ad0940495aa1;hpb=a9189d870ff98f06dc5577c5fc37102ee5337aea;p=modules%2Fhomard.git diff --git a/src/HOMARDGUI/MonEditCase.cxx b/src/HOMARDGUI/MonEditCase.cxx index 0045f9be..40f28fa9 100644 --- a/src/HOMARDGUI/MonEditCase.cxx +++ b/src/HOMARDGUI/MonEditCase.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2011-2012 CEA/DEN, EDF R&D +// Copyright (C) 2011-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,8 +17,6 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -using namespace std; - #include "MonEditCase.h" #include "SalomeApp_Tools.h" @@ -26,21 +24,22 @@ using namespace std; #include "HomardQtCommun.h" #include +using namespace std; -// ------------------------------------------------------------- -MonEditCase::MonEditCase ( QWidget* parent, bool modal, - HOMARD::HOMARD_Gen_var myHomardGen, - QString CaseName ): // ------------------------------------------------------------- /* Constructs a MonEditCase herite de MonCreateCase */ - MonCreateCase(parent, modal, myHomardGen) +// ------------------------------------------------------------- +MonEditCase::MonEditCase ( bool modal, + HOMARD::HOMARD_Gen_var myHomardGen, + QString CaseName ): + MonCreateCase(modal, myHomardGen) { MESSAGE("Debut de MonEditCase" << CaseName.toStdString().c_str()); setWindowTitle(QObject::tr("HOM_CASE_EDIT_WINDOW_TITLE")); _aCaseName = CaseName; - aCase = _myHomardGen->GetCas(_aCaseName.toStdString().c_str()); + aCase = myHomardGen->GetCase(_aCaseName.toStdString().c_str()); InitValEdit(); } // ------------------------------ @@ -48,15 +47,13 @@ MonEditCase::~MonEditCase() // ------------------------------ { } - - // ------------------------------ void MonEditCase::InitValEdit() // ------------------------------ { MESSAGE("InitValEdit"); - LECaseName->setText(_aCaseName); - LECaseName->setReadOnly(true); + LEName->setText(_aCaseName); + LEName->setReadOnly(true); QString aDirName = aCase->GetDirName(); LEDirName->setText(aDirName); @@ -64,59 +61,56 @@ void MonEditCase::InitValEdit() PushDir->setVisible(0); QString _aitername=aCase->GetIter0Name(); - HOMARD::HOMARD_Iteration_var aIter = _myHomardGen->GetIteration(_aitername.toStdString().c_str()); + HOMARD::HOMARD_Iteration_var aIter = myHomardGen->GetIteration(_aitername.toStdString().c_str()); QString aFileName = aIter->GetMeshFile(); LEFileName->setText(aFileName); LEFileName->setReadOnly(true); PushFichier->setVisible(0); int ConfType=aCase->GetConfType(); - if(ConfType==1) - { - GBTypeNoConf->setVisible(0); - RBConforme->setChecked(true); - } - else - { - RBNonConforme->setChecked(true); - GBTypeNoConf->setVisible(1); - RB1NpM->setEnabled(false); - RB1NpA->setEnabled(false); - RBQuelconque->setEnabled(false); - }; - - if (_ConfType==2) { RB1NpM->setChecked(true);}; - if (_ConfType==3) { RB1NpA->setChecked(true);}; - if (_ConfType==4) { RBQuelconque->setChecked(true);}; - - RBNonConforme->setEnabled(false); + if ( ( ConfType == 0 ) || ( ConfType == -1 ) ) { RBConforme->setChecked(true); } + else { RBNonConforme->setChecked(true); }; RBConforme->setEnabled(false); + RBNonConforme->setEnabled(false); + int ExtType=aCase->GetExtType(); -// Non affichage du mode de suivi de frontiere - CBBoundaryA->setVisible(0); - GBBoundaryA->setVisible(0); + +// Suivi de frontiere +// A priori, aucun affichage + GBTypeBoun->setVisible(0); CBBoundaryD->setVisible(0); + CBBoundaryA->setVisible(0); + GBBoundaryC->setVisible(0); GBBoundaryD->setVisible(0); - + GBBoundaryA->setVisible(0); // On passe en revue tous les couples (frontiere,groupe) du cas HOMARD::ListBoundaryGroupType_var mesBoundarys = aCase->GetBoundaryGroup(); if (mesBoundarys->length()>0) { QStringList ListeFron ; QString NomFron ; + bool BounCAO = false ; bool BounDi = false ; bool BounAn = false ; for (int i=0; ilength(); i++) { -// Nom de la frontiere +// Nom de la frontiere NomFron = mesBoundarys[i++]; MESSAGE("NomFron "<GetBoundary(NomFron.toStdString().c_str()); - int type_obj = myBoundary->GetBoundaryType() ; +// L'objet associe pour en deduire le type + HOMARD::HOMARD_Boundary_var myBoundary = myHomardGen->GetBoundary(NomFron.toStdString().c_str()); + int type_obj = myBoundary->GetType() ; + MESSAGE("type_obj "<addItem(NomFron); + } // C'est une frontiere discrete // Rermarque : on ne gere pas les groupes - if ( type_obj==0 ) + else if ( type_obj==0 ) { BounDi = true ; CBBoundaryDi->addItem(NomFron); @@ -150,15 +144,29 @@ void MonEditCase::InitValEdit() { ListeFron.append(NomFron); ok = ListeFron.size() ; - addBoundaryAn(NomFron); + AddBoundaryAn(NomFron); } // on coche la case correspondant au couple (frontiere,groupe) en cours d'examen TWBoundary->item( 0, ok )->setCheckState( Qt::Checked ); } } - MESSAGE("BounDi "<setVisible(1); + if ( BounCAO ) + { RBBoundaryCAO->setChecked(true); + GBBoundaryC->setVisible(1); + CBBoundaryCAO->setDisabled(true); + PBBoundaryCAONew->setVisible(0); + PBBoundaryCAOHelp->setVisible(0); } + if ( BounDi ) + { RBBoundaryNonCAO->setChecked(true); + GBBoundaryD->setVisible(1); + CBBoundaryDi->setDisabled(true); + PBBoundaryDiNew->setVisible(0); + PBBoundaryDiHelp->setVisible(0); } if ( BounAn ) - { GBBoundaryA->setVisible(1); + { RBBoundaryNonCAO->setChecked(true); + GBBoundaryA->setVisible(1); // On rend les cases non modifiables. // On ne peut pas le faire pour tout le tableau sinon on perd l'ascenseur ! int nbcol = TWBoundary->columnCount(); @@ -167,17 +175,15 @@ void MonEditCase::InitValEdit() { for ( int j = 0; j < nbcol; j++ ) TWBoundary->item( i, j )->setFlags( Qt::ItemIsSelectable ); } // on met un nom blanc au coin QTableWidgetItem *__colItem = new QTableWidgetItem(); - __colItem->setText(QApplication::translate("CreateCase", "", 0, QApplication::UnicodeUTF8)); + __colItem->setText(QApplication::translate("CreateCase", "", 0)); TWBoundary->setHorizontalHeaderItem(0, __colItem); // on cache les boutons inutiles PBBoundaryAnNew->setVisible(0); PBBoundaryAnHelp->setVisible(0); } - if ( BounDi ) - { GBBoundaryD->setVisible(1); - CBBoundaryDi->setDisabled(true); - PBBoundaryDiNew->setVisible(0); - PBBoundaryDiHelp->setVisible(0); } + RBBoundaryNo->setEnabled(false); + RBBoundaryCAO->setEnabled(false); + RBBoundaryNonCAO->setEnabled(false); } // // Les options avancees (non modifiables) @@ -185,15 +191,72 @@ void MonEditCase::InitValEdit() CBAdvanced->setEnabled(false) ; int Pyram = aCase->GetPyram(); MESSAGE("Pyram "< 0 ) + if ( ( Pyram > 0 ) || ( ConfType < 0 ) || ( ConfType > 1 ) || ( ExtType > 0 ) ) { GBAdvancedOptions->setVisible(1); - CBPyramid->setChecked(true); +// + if ( Pyram > 0 ) + { CBPyramid->setChecked(true); + CBPyramid->setVisible(1); + } + else + { CBPyramid->setChecked(false); + CBPyramid->setVisible(0); + } CBPyramid->setEnabled(false); +// + if ( ( ConfType == 0 ) || ( ConfType == -1 ) ) + { if ( ConfType == 0 ) { RBStandard->setChecked(true); } + else { RBBox->setChecked(true); } + RBStandard->setVisible(1); + RBBox->setVisible(1); + RBNC1NpA->setVisible(0); + RBNCQuelconque->setVisible(0); + } + else + { if (ConfType==-2) { RBBox->setChecked(true);}; + if (ConfType==1) { RBStandard->setChecked(true);}; + if (ConfType==2) { RBNC1NpA->setChecked(true);}; + if (ConfType==3) { RBNCQuelconque->setChecked(true);}; + RBStandard->setVisible(1); + RBBox->setVisible(1); + RBNC1NpA->setVisible(1); + RBNCQuelconque->setVisible(1); + } + RBStandard->setEnabled(false); + RBBox->setEnabled(false); + RBNC1NpA->setEnabled(false); + RBNCQuelconque->setEnabled(false); +// + if ( ExtType == 0 ) + { GBFormat->setVisible(0); + RBMED->setChecked(true); + } + else + { GBFormat->setVisible(1); + RBMED->setVisible(1); + RBSaturne->setVisible(1); + RBSaturne2D->setVisible(1); + if ( ExtType == 1 ) { RBSaturne->setChecked(true); } + else { RBSaturne2D->setChecked(true); } + } + RBMED->setEnabled(false); + RBSaturne->setEnabled(false); + RBSaturne2D->setEnabled(false); } else { GBAdvancedOptions->setVisible(0); CBPyramid->setChecked(false); - } + RBStandard->setChecked(true); + RBMED->setChecked(true); + } +// +// L'etat + int etat = aCase->GetState(); + MESSAGE("etat "<setText(QApplication::translate("CreateCase", "HOM_CASE_EDIT_STATE_0", 0)); } + else { Comment->setText(QApplication::translate("CreateCase", "HOM_CASE_EDIT_STATE", 0)); } + + Comment->setVisible(1); // adjustSize(); }