3 sys.path.append(os.path.join(os.environ['MEDFILE_ROOT_DIR'], 'lib/python2.7/site-packages/med'))
11 from PyQt4 import QtCore, QtGui, uic
15 salome_gui = libSALOME_Swig.SALOMEGUI_Swig()
17 def get_med_groups( file_path ):
18 #print "get_med_groups", file_path
20 meshes = MEDLoader.MEDLoader_GetMeshNames(file_path)
27 groups = list(MEDLoader.MEDLoader_GetMeshGroupsNames(file_path, mesh1))
32 def get_hydro_regions( calc_case_name ):
33 aStudyId = salome.myStudyId
34 doc = HYDROPy.HYDROData_Document.Document( aStudyId )
35 case = doc.FindObjectByName( calc_case_name )
36 if isinstance(case, HYDROPy.HYDROData_CalculationCase):
37 regions = case.GetRegions()
41 regions_names.append( str(rname) )
46 def get_selected_calc_case():
47 ind = SalomePyQt.SalomePyQt.getObjectBrowser().selectionModel().selectedIndexes()
48 aStudyId = salome.myStudyId
49 doc = HYDROPy.HYDROData_Document.Document( aStudyId )
52 name = i.data().toString()
53 case = doc.FindObjectByName( name )
54 if isinstance(case, HYDROPy.HYDROData_CalculationCase):
58 class InterpolzDlg( QtGui.QDialog ):
59 def __init__(self, parent = None):
60 QtGui.QDialog.__init__( self, parent )
61 p = os.path.join(os.environ['HYDROSOLVER_ROOT_DIR'], 'lib', 'python2.7', 'site-packages', 'salome', 'salome', 'hydro')
62 uic.loadUi( p+'/interpolz.ui', self )
63 self.setWindowTitle( 'Generate interpolz script' )
64 self.connect( SalomePyQt.SalomePyQt.getObjectBrowser(), QtCore.SIGNAL("selectionChanged()"), self.onSelectionChanged )
65 self.connect( self.btnOutputPath, QtCore.SIGNAL( "clicked()" ), self.onOutputFile )
66 self.connect( self.btnMEDFile, QtCore.SIGNAL( "clicked()" ), self.onMEDFile )
67 self.connect( self.CalcCase, QtCore.SIGNAL( "textChanged( const QString& )" ), self.onCalcCaseChanged )
68 self.connect( self.MEDFile, QtCore.SIGNAL( "textChanged( const QString& )" ), self.onMEDChanged )
70 def onSelectionChanged( self ):
71 calc_case_name = get_selected_calc_case()
72 if calc_case_name is not None:
73 self.CalcCase.setText( calc_case_name )
75 def onOutputFile( self ):
76 caption = "Python file"
78 f = QtGui.QFileDialog.getSaveFileName( self, caption, ".", mask )
80 self.OutputPath.setText( f )
82 def onMEDFile( self ):
85 f = QtGui.QFileDialog.getOpenFileName( self, caption, ".", mask )
87 self.MEDFile.setText( f )
89 def onCalcCaseChanged( self ):
90 self.regions = get_hydro_regions( str(self.CalcCase.text()) )
93 def onMEDChanged( self ):
94 self.med_groups = get_med_groups( str(self.MEDFile.text()) )
100 dlg.CalcCase.setText( 'Case_1' )
101 dlg.OutputPath.setText( '/dn26/HYDRO/interp1.py' )
102 dlg.MEDFile.setText( '/dn26/HYDRO/channel.med' )
104 #print get_med_groups( "/dn26/HYDRO/channel.med" )
105 #print get_hydro_regions( "Case_1" )