def activate(): """ This method is called when GUI module is being activated. @rtype: C{True} or C{False} @return: C{True} only if the activation is successful. """ log.debug("activate") dsk = sgPyQt.getDesktop() dsk.setTabPosition(Qt.RightDockWidgetArea,QTabWidget.South) dsk.setTabPosition(Qt.LeftDockWidgetArea,QTabWidget.South) ActionHandler = _DesktopMgr.getActionHandler(dsk) env_saturne, msg = CheckCFD_CodeEnv(CFD_Saturne) log.debug("activate -> env_saturne = %s" % env_saturne) if not env_saturne: QMessageBox.critical(ActionHandler.dskAgent().workspace(), "Error", msg, QMessageBox.Ok, 0) return False if msg != "": mess = cfdstudyMess.trMessage(ObjectTR.tr("CFDSTUDY_INVALID_ENV"),[]) + " ; "+ msg cfdstudyMess.aboutMessage(msg) return False else: ActionHandler.DialogCollector.InfoDialog.setCode(env_saturne) ActionHandler._SalomeSelection.currentSelectionChanged.connect(ActionHandler.updateActions) ActionHandler.connectSolverGUI() # Hide the Python Console window layout for dock in sgPyQt.getDesktop().findChildren(QDockWidget): dockTitle = dock.windowTitle() log.debug("activate -> QDockWidget: %s" % dockTitle) if "Object Browser" in str(dockTitle): dock.raise_() dock.show() if dsk.dockWidgetArea(dock) == 0: dsk.addDockWidget(Qt.LeftDockWidgetArea,dock) if dockTitle in ("Python Console", "Console Python", "Message Window"): dock.setVisible(False) dock.hide() return True
def slotCopyFrom(self): """ Call into ui_SetTreeLocationDialog.py from setTreeLocationDialog.ui built with qtdesigner for option --copy-from """ if not self.findChild(QCheckBox, "checkBoxCopyFrom").isChecked(): self.findChild(QWidget, "copyFromCase_widget").hide() return CopyFromCasePath = "" if self.findChild(QLineEdit, "StudyDirName").text() != "": CopyFromCasePath = QFileDialog.getExistingDirectory( None, ObjectTR.tr("SET_CASE_LOCATION_BROWSE_CAPTION")) if CopyFromCasePath == None or str(CopyFromCasePath) == "": self.findChild(QCheckBox, "checkBoxCopyFrom").setChecked(False) return self.CaseRefName = os.path.abspath(str(CopyFromCasePath)) # check if it is a case directory if not self.isCfdCaseDir(self.CaseRefName): mess = cfdstudyMess.trMessage(self.tr("CASE_DLG_ERROR_MESS"), [self.CaseRefName]) cfdstudyMess.aboutMessage(mess) self.findChild(QWidget, "copyFromCase_widget").hide() self.findChild(QCheckBox, "checkBoxCopyFrom").setChecked(False) return CaseRefDATAPath = os.path.join(self.CaseRefName, "DATA") if "NeptuneGUI" in os.listdir(CaseRefDATAPath) and self.findChild( QRadioButton, "radioButtonSaturne").isChecked(): mess = cfdstudyMess.trMessage( self.tr("CASE_COPYFROM_NEPTUNE_DLG_ERROR_MESS"), []) cfdstudyMess.aboutMessage(mess) self.findChild(QWidget, "copyFromCase_widget").hide() self.findChild(QCheckBox, "checkBoxCopyFrom").setChecked(False) return if "SaturneGUI" in os.listdir(CaseRefDATAPath) and self.findChild( QRadioButton, "radioButtonNeptune").isChecked(): mess = cfdstudyMess.trMessage( self.tr("CASE_COPYFROM_SATURNE_DLG_ERROR_MESS"), []) cfdstudyMess.aboutMessage(mess) self.findChild(QWidget, "copyFromCase_widget").hide() self.findChild(QCheckBox, "checkBoxCopyFrom").setChecked(False) return self.findChild(QWidget, "copyFromCase_widget").show() self.findChild(QLineEdit, "copyFromCase").setText(self.CaseRefName) self.findChild(QDialogButtonBox, "buttonBox").button( QDialogButtonBox.Ok).setEnabled(True)
def activate(): """ This method is called when GUI module is being activated. @rtype: C{True} or C{False} @return: C{True} only if the activation is successful. """ log.debug("activate") global d_activation, studyId dsk = sgPyQt.getDesktop() studyId = sgPyQt.getStudyId() dsk.setTabPosition(Qt.RightDockWidgetArea, QTabWidget.South) dsk.setTabPosition(Qt.LeftDockWidgetArea, QTabWidget.South) if salome_version.getVersion() <= '7.4.0': if salome.myStudy.FindComponent(__MODULE_NAME__) == None: CFDSTUDYGUI_SolverGUI._c_CFDGUI.cleanAllDock(sgPyQt.getDesktop()) log.debug( "activate -> CFDSTUDYGUI_SolverGUI._c_CFDGUI.d_CfdCases = %s" % CFDSTUDYGUI_SolverGUI._c_CFDGUI.d_CfdCases) # instance of the CFDSTUDYGUI_ActionsHandler class for the current desktop ActionHandler = _DesktopMgr.getActionHandler(dsk) if studyId not in list(d_activation.keys()): d_activation[studyId] = 1 if d_activation[studyId] == 1: d_activation[studyId] = 0 env_saturne, mess1 = CheckCFD_CodeEnv(CFD_Saturne) env_neptune, mess2 = CheckCFD_CodeEnv(CFD_Neptune) log.debug("activate -> env_saturne = %s" % env_saturne) log.debug("activate -> env_neptune = %s" % env_neptune) if not env_saturne and not env_neptune: QMessageBox.critical(ActionHandler.dskAgent().workspace(), "Error", mess1, QMessageBox.Ok, 0) QMessageBox.critical(ActionHandler.dskAgent().workspace(), "Error", mess2, QMessageBox.Ok, 0) d_activation[studyId] = 1 return False if env_neptune: if mess2 != "": mess = cfdstudyMess.trMessage( ObjectTR.tr("CFDSTUDY_INVALID_ENV"), []) + " ; " + mess2 cfdstudyMess.aboutMessage(mess) d_activation[studyId] = 1 return False else: ActionHandler.DialogCollector.InfoDialog.setCode( env_saturne, env_neptune) elif env_saturne: if mess1 != "": mess = cfdstudyMess.trMessage( ObjectTR.tr("CFDSTUDY_INVALID_ENV"), []) + " ; " + mess2 cfdstudyMess.aboutMessage(mess) d_activation[studyId] = 1 return False else: ActionHandler.DialogCollector.InfoDialog.setCode( env_saturne, False) ActionHandler._SalomeSelection.currentSelectionChanged.connect( ActionHandler.updateActions) ActionHandler.connectSolverGUI() ActionHandler.updateObjBrowser() # Hide the Python Console window layout for dock in sgPyQt.getDesktop().findChildren(QDockWidget): dockTitle = dock.windowTitle() log.debug("activate -> QDockWidget: %s" % dockTitle) if dockTitle in ("Python Console", "Console Python", "Message Window"): dock.setVisible(False) return True
def accept(self): aDirLE = self.findChild(QLineEdit, "StudyDirName") aNameLE = self.findChild(QLineEdit, "StudyLineEdit") aCaseLE = self.findChild(QLineEdit, "CaseLineEdit") CreateOption = self.findChild(QCheckBox, "checkBoxCreate") Neptune = self.findChild(QRadioButton, "radioButtonNeptune") Saturne = self.findChild(QRadioButton, "radioButtonSaturne") self.CaseNames = str(self.findChild(QLineEdit, "CaseLineEdit").text()) self.CopyFromOption = self.findChild(QCheckBox, "checkBoxCopyFrom").isChecked() self.CouplingSaturneSyrthes = self.findChild( QCheckBox, "checkBoxCouplingSaturneSyrthes").isChecked() self.Nprocs = str(self.findChild(QLineEdit, "NprocsLineEdit").text()) if aNameLE.text() == "": mess = cfdstudyMess.trMessage(self.tr("LOCATION_DLG_ERROR_MESS"), []) cfdstudyMess.criticalMessage(mess) return False # check study directory aStudyDir = str(aDirLE.text()) # Load from study dir + study name if aNameLE.text() != aNameLE.text(): raise ValueError("Names must not contain special characters.") aStudyDirName = str(aNameLE.text()) self.StudyPath = os.path.join(aStudyDir, aStudyDirName) self.StudyName = aStudyDirName if Neptune.isChecked(): self.code = "NEPTUNE_CFD" else: self.code = "Code_Saturne" if self.checkBoxLoad.isChecked(): studyObj = CFDSTUDYGUI_DataModel.FindStudyByPath(self.StudyPath) if studyObj != None: mess = cfdstudyMess.trMessage( self.tr("LOCATION_DLG_ERROR_OPEN_MESS"), [self.StudyPath]) cfdstudyMess.aboutMessage(mess) self.reinit() return False if self.StudyName == '': mess = cfdstudyMess.trMessage( self.tr("LOCATION_DLG_ERROR_MESS"), []) cfdstudyMess.criticalMessage(mess) self.reinit() return False if not CFDSTUDYGUI_Commons.isaSaturneSyrthesCouplingStudy( self.StudyPath): if not CFDSTUDYGUI_Commons.isaCFDStudy(self.StudyPath): mess = cfdstudyMess.trMessage( self.tr("NOT_A_STUDY_DIRECTORY"), [self.StudyPath, "CFD", "SYRTHES"]) cfdstudyMess.criticalMessage(mess) self.reinit() return False # ckeck case name if self.checkBoxCreate.isChecked(): if self.StudyName == '': mess = cfdstudyMess.trMessage( self.tr("LOCATION_DLG_ERROR_MESS"), [aStudyDir]) cfdstudyMess.criticalMessage(mess) return False self.CaseNames = str(aCaseLE.text()) self.CreateOption = True if self.CouplingSaturneSyrthes: self.SyrthesCase = str( self.findChild(QLineEdit, "syrthesCase").text()) if self.SyrthesCase == "": mess = cfdstudyMess.trMessage( self.tr("EMPTY_SYRTHES_CASENAME_MESS"), []) cfdstudyMess.criticalMessage(mess) return False SetTreeLocationDialog.accept(self)