Salome HOME
version 5_1_4 HOMARD_SRC
[modules/homard.git] / src / HOMARDGUI / MonEditBoundaryDi.cxx
1 using namespace std;
2
3 #include "MonEditBoundaryDi.h"
4 #include "MonEditListGroup.h"
5
6 #include <QMessageBox>
7
8 #include "SalomeApp_Tools.h"
9 #include "HOMARDGUI_Utils.h"
10 #include "HomardQtCommun.h"
11 #include <utilities.h>
12
13
14 // -------------------------------------------------------------------------------------------------------------------------------------
15 MonEditBoundaryDi::MonEditBoundaryDi( MonCreateCase* parent, bool modal,
16                                       HOMARD::HOMARD_Gen_var myHomardGen,
17                                       QString caseName, QString BoundaryName):
18 // -------------------------------------------------------------------------------------------------------------------------------------
19 /* Constructs a MonEditBoundaryDi
20     herite de MonCreateBoundaryDi
21 */
22     MonCreateBoundaryDi(parent, modal, myHomardGen, caseName, BoundaryName)
23 {
24     MESSAGE("Debut de Boundary pour " << BoundaryName.toStdString().c_str());
25     setWindowTitle("Edit BoundaryDi");
26     try
27     {
28      _aBoundary=_myHomardGen->GetBoundary(CORBA::string_dup(_aBoundaryName.toStdString().c_str()));
29      if (caseName==QString("")) { _aCaseName=_aBoundary->GetCaseCreation();}
30      InitValEdit();
31     }
32     catch( SALOME::SALOME_Exception& S_ex )
33     {
34         QMessageBox::information( 0, "Error",
35                   QString(CORBA::string_dup(S_ex.details.text)),
36                   QMessageBox::Ok + QMessageBox::Default );
37         return;
38     }
39
40     HOMARD::ListGroupType_var maListe = _aBoundary->GetGroups();
41     for ( int i = 0; i < maListe->length(); i++ )
42        _listeGroupesBoundary << QString(maListe[i]);
43
44 }
45 // ------------------------------
46 MonEditBoundaryDi::~MonEditBoundaryDi()
47 // ------------------------------
48 {
49 }
50
51 // ------------------------------
52 void MonEditBoundaryDi::InitValEdit()
53 // ------------------------------
54 {
55       LEBoundaryName->setText(_aBoundaryName);
56       LEBoundaryName->setReadOnly(true);
57
58       QString aMeshFile = _aBoundary->GetMeshFile();
59       LEFileName->setText(aMeshFile);
60       LEFileName->setReadOnly(1);
61       PushFichier->setVisible(0);
62       adjustSize();
63 }
64 // ------------------------------
65 bool MonEditBoundaryDi::PushOnApply()
66 // ------------------------------
67 {
68      return true;
69 }
70 // ------------------------------------------------------------------------
71 void MonEditBoundaryDi::SetFiltrage()
72 // // ------------------------------------------------------------------------
73 {
74    if (!CBGroupe->isChecked()) return;
75    if (_aCaseName.toStdString().c_str() == QString()) 
76    {
77         QMessageBox::information( 0, "Error",
78                               "Case MeshFile unknowned.",
79                               QMessageBox::Ok + QMessageBox::Default );
80         return;
81    }
82    HOMARD::HOMARD_Cas_var monCas= _myHomardGen->GetCas(_aCaseName.toStdString().c_str());
83    HOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
84
85    MonEditListGroup *aDlg = new MonEditListGroup(NULL,this,  TRUE, HOMARD::HOMARD_Gen::_duplicate(_myHomardGen),
86                               _aCaseName, _listeGroupesBoundary) ;
87    aDlg->show();
88 }
89