Salome HOME
version 5_1_4 HOMARD_SRC
[modules/homard.git] / src / HOMARDGUI / MonEditCase.cxx
1 using namespace std;
2
3 #include "MonEditCase.h"
4
5 #include <QMessageBox>
6
7 #include "SalomeApp_Tools.h"
8 #include "HOMARDGUI_Utils.h"
9 #include "HomardQtCommun.h"
10 #include <utilities.h>
11
12
13 // -------------------------------------------------------------
14 MonEditCase::MonEditCase ( QWidget* parent, bool modal,
15                            HOMARD::HOMARD_Gen_var myHomardGen,
16                            QString CaseName ):
17 // -------------------------------------------------------------
18 /* Constructs a MonEditCase
19     herite de MonCreateCase
20 */
21    MonCreateCase(parent, modal, myHomardGen)
22 {
23     MESSAGE("Debut de MonEditCase" << CaseName.toStdString().c_str());
24     setWindowTitle("Edit case");
25     _aCaseName = CaseName;
26     aCase = _myHomardGen->GetCas(_aCaseName.toStdString().c_str());
27     InitValEdit();
28 }
29 // ------------------------------
30 MonEditCase::~MonEditCase()
31 // ------------------------------
32 {
33 }
34
35
36 // ------------------------------
37 void MonEditCase::InitValEdit()
38 // ------------------------------
39 {
40     MESSAGE("Debut de InitValEdit");
41       LECaseName->setText(_aCaseName);
42       LECaseName->setReadOnly(true);
43
44       QString aDirName = aCase->GetDirName();
45       LEDirName->setText(aDirName);
46       LEDirName->setReadOnly(true);
47       PushDir->setVisible(0);
48
49       QString _aitername=aCase->GetIter0Name();
50       HOMARD::HOMARD_Iteration_var aIter = _myHomardGen->GetIteration(_aitername.toStdString().c_str());
51       QString aFileName = aIter->GetMeshFile();
52       LEFileName->setText(aFileName);
53       LEFileName->setReadOnly(true);
54       PushFichier->setVisible(0);
55
56       int ConfType=aCase->GetConfType();
57       if(ConfType==1)
58       {
59          GBTypeNoConf->setVisible(0);
60          RBConforme->setChecked(true);
61       }
62       else
63       {
64         RBNonConforme->setChecked(true);
65         GBTypeNoConf->setVisible(1);
66         RB1NpM->setEnabled(false);
67         RB1NpA->setEnabled(false);
68         RBQuelconque->setEnabled(false);
69       };
70
71       if (_ConfType==2) { RB1NpM->setChecked(true);};
72       if (_ConfType==3) { RB1NpA->setChecked(true);};
73       if (_ConfType==4) { RBQuelconque->setChecked(true);};
74
75       RBNonConforme->setEnabled(false);
76       RBConforme->setEnabled(false);
77
78 //    Affichage du mode de suivi de frontiere
79       CBBoundaryA->setVisible(0);
80       GBBoundaryA->setVisible(0);
81       CBBoundaryD->setVisible(0);
82       GBBoundaryD->setVisible(0);
83
84       HOMARD::ListBoundaryGroupType_var mesBoundarys = aCase->GetBoundaryGroup();
85       if (mesBoundarys->length()>0)
86       {
87         bool BounDi = false ;
88         bool BounAn = false ;
89         for (int i=0; i<mesBoundarys->length(); i++)
90         {
91           HOMARD::HOMARD_Boundary_var myBoundary = _myHomardGen->GetBoundary((mesBoundarys)[i]);
92           int type_obj = myBoundary->GetBoundaryType() ;
93
94           if ( type_obj==0 ) 
95           { CBBoundaryDi->addItem(QString((mesBoundarys)[i++]));
96             BounDi = true ;
97           }
98           else
99           {
100             i++ ;
101             BounAn = true ;
102           };
103         }
104         MESSAGE("BounDi "<<BounDi<<", BounAn "<<BounAn);
105         if ( BounAn )
106         { GBBoundaryA->setVisible(1);
107           GBBoundaryA->setDisabled(true);}
108         if ( BounDi )
109         { GBBoundaryD->setVisible(1);
110           CBBoundaryDi->setDisabled(true);
111           PBBoundaryDiNew->setVisible(0);}
112       }
113 }
114
115 // -------------------------------------
116 bool MonEditCase::PushOnApply()
117 // -------------------------------------
118 {
119   return true ;
120
121 };