]> SALOME platform Git repositories - modules/hydrosolver.git/blob - src/salome_hydro/pytel/genjobwindow.py
Salome HOME
5ea6df3d118c2fec899513029d51d919d8d3e419
[modules/hydrosolver.git] / src / salome_hydro / pytel / genjobwindow.py
1 #  Copyright (C) 2012-2013 EDF
2 #
3 #  This file is part of SALOME HYDRO module.
4 #
5 #  SALOME HYDRO module is free software: you can redistribute it and/or modify
6 #  it under the terms of the GNU General Public License as published by
7 #  the Free Software Foundation, either version 3 of the License, or
8 #  (at your option) any later version.
9 #
10 #  SALOME HYDRO module is distributed in the hope that it will be useful,
11 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #  GNU General Public License for more details.
14 #
15 #  You should have received a copy of the GNU General Public License
16 #  along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
17
18 import os
19 from PyQt4 import QtGui, QtCore
20
21 import salome
22 from salome.hydro.pytel.genjob import generate_job
23 from genjobwindow_ui import Ui_GenJobDialog
24
25
26 class GenJobDialog(QtGui.QDialog, Ui_GenJobDialog):
27
28   def __init__(self, parent, pytel_params):
29     QtGui.QDialog.__init__(self, parent)
30     self.setupUi(self)
31     self.connect(self.dialogButtonBox, QtCore.SIGNAL("accepted()"), self.validate)
32     self.connect(self.dialogButtonBox, QtCore.SIGNAL("rejected()"), self.close)
33     self.connect(self.chooseInputDataDirectoryButton, QtCore.SIGNAL("clicked()"), self.choose_input_dir)
34     self.connect(self.chooseResultDirectoryButton, QtCore.SIGNAL("clicked()"), self.choose_result_dir)
35     self.telemacRootDirLE.setText("/home/projets-bgq/systel/V6P2")
36     self.telemacEnvFileLE.setText("/home/projets-bgq/systel/V6P2/config/pysource.zumbrota.xlf14.sh")
37     casedir = os.path.dirname(pytel_params["FICHIER_CAS"])
38     self.inputDataDirectoryLE.setText(casedir)
39     self.resultDirectoryLE.setText(casedir)
40     
41     # Populate resource combo box
42     res_manager = salome.naming_service.Resolve("/ResourcesManager")
43     res_params = salome.ResourceParameters()
44     res_list = res_manager.GetFittingResources(res_params)
45     self.resourceCB.addItems(res_list)
46     
47     self.pytel_params = pytel_params
48
49   def choose_input_dir(self):
50     directory = QtGui.QFileDialog.getExistingDirectory(self,
51             directory = self.inputDataDirectoryLE.text(),
52             options = QtGui.QFileDialog.ShowDirsOnly)
53     if not directory.isNull():
54       self.inputDataDirectoryLE.setText(directory)
55
56   def choose_result_dir(self):
57     directory = QtGui.QFileDialog.getExistingDirectory(self,
58             directory = self.resultDirectoryLE.text(),
59             options = QtGui.QFileDialog.ShowDirsOnly)
60     if not directory.isNull():
61       self.resultDirectoryLE.setText(directory)
62
63   def validate(self):
64     generate_job(self.pytel_params,
65                  str(self.resourceCB.currentText()),
66                  str(self.telemacRootDirLE.text()),
67                  str(self.telemacEnvFileLE.text()),
68                  self.nbCoreSB.value(),
69                  str(self.inputDataDirectoryLE.text()),
70                  str(self.resultDirectoryLE.text()))
71     self.close()