def slotUpdateData(self): self.ActivateBtn.setEnabled(True) self.FileCB.clear() if self.CaseCB.currentText() == None: self.FileCheckBox.setEnabled(False) self.FileCB.setEnabled(False) else: self.FileCheckBox.setEnabled(True) self.FileCB.clear() # current case aCaseName = str(self.CaseCB.currentText().toLatin1()) if aCaseName == "": self.ActivateBtn.setEnabled(False) return aCase = None aCases = CFDSTUDYGUI_DataModel.GetCaseList(self.CurrentStudy) for c in aCases: if c.GetName() == aCaseName: aCase = c break if aCase == None: self.ActivateBtn.setEnabled(False) return # object of DATA folder aChildList = CFDSTUDYGUI_DataModel.ScanChildren(aCase, "DATA") if not len(aChildList) == 1: self.ActivateBtn.setEnabled(False) return aDataObj = aChildList[0] #fill File combo-box if self.xmlfile == "": aFileList = CFDSTUDYGUI_DataModel.ScanChildNames( aDataObj, ".*\.xml$") if len(aFileList) == 0: self.FileCheckBox.setEnabled(False) for i in aFileList: self.FileCB.addItem(i) self.FileCB.setEnabled(self.FileCheckBox.isChecked()) else: self.FileCB.addItem(self.xmlfile) self.FileCB.setEnabled(self.FileCheckBox.isChecked()) #check for activation file SaturneGUI or NeptuneGUI if not CFDSTUDYGUI_DataModel.checkCaseLaunchGUI(aCase): #Warning message if CFD_Code() == CFD_Saturne: mess = self.tr("ICSACTIVATE_DLG_BAD_CASE_MESS") elif CFD_Code() == CFD_Neptune: mess = self.tr("IPBACTIVATE_DLG_BAD_CASE_MESS") QMessageBox.warning(None, "Warning", mess, QMessageBox.Ok, 0) self.ActivateBtn.setEnabled(False)
def accept(self): iok, mess = CheckCFD_CodeEnv(CFD_Code()) if iok: if mess != "" : mess = cfdstudyMess.trMessage(self.tr("CFDSTUDY_INVALID_ENV"),[]) + mess cfdstudyMess.criticalMessage(mess) else : InfoDialog.accept(self) else: mess = cfdstudyMess.trMessage(self.tr("INFO_DLG_INVALID_ENV"),[]) + mess cfdstudyMess.criticalMessage(mess)
def accept(self): iok, mess = CheckCFD_CodeEnv(CFD_Code()) if iok: if mess != "": Error = "Error : " + self.tr("CFDSTUDY_INVALID_ENV") QMessageBox.critical(ActionHandler.dskAgent().workspace(), Error, mess, QMessageBox.Ok, 0) else: InfoDialog.accept(self) else: Error = "Error : " + self.tr("INFO_DLG_INVALID_ENV") QMessageBox.critical(self, Error, mess, QMessageBox.Ok, 0)
def fillData(self, xmlFileName): """ """ log.debug("fillData") self.CaseCB.clear() self.xmlfile = xmlFileName for i in CFDSTUDYGUI_DataModel.GetCaseNameList(self.CurrentStudy): if self.CurrentCase and self.CurrentCase.GetName() == i: self.CaseCB.addItem(i) if self.xmlfile == "" : self.slotUpdateData() else: self.slotUpdateData() if CFD_Code() == CFD_Saturne: self.setWindowTitle(self.tr("ICSACTIVATE_DLG_CAPTION")) self.CaseLabel.setTitle(self.tr("ICSACTIVATE_DLG_CASE_LABEL")) #self.FileCheckBox.setChecked(False) elif CFD_Code() == CFD_Neptune: self.setWindowTitle(self.tr("IPBACTIVATE_DLG_CAPTION")) self.CaseLabel.setTitle(self.tr("IPBACTIVATE_DLG_CASE_LABEL"))
def launchGUI(self, WorkSpace, aCase, sobjXML, Args): """ mw.dockWidgetBrowser is the Browser of the CFD MainView """ log.debug("launchGUI") from cs_gui import process_cmd_line if CFD_Code() == CFD_Saturne: from cs_package import package from code_saturne.Base.MainView import MainView elif CFD_Code() == CFD_Neptune: from nc_package import package from neptune_cfd.core.MainView import MainView if sobjXML == None: Title = "unnamed" else: Title = sobjXML.GetName() self.Workspace = WorkSpace pkg = package() case, splash = process_cmd_line(Args) try: mw = MainView(pkg, case, aCase) except: mess = "Error in Opening CFD GUI" QMessageBox.warning(None, "Warning", mess, QMessageBox.Ok, QMessageBox.NoButton) return None # Put the standard panel of the MainView inside a QDockWidget # in the SALOME Desktop aTitle = self.setWindowTitle_CFD(mw, aCase, Title) dsk = sgPyQt.getDesktop() dock = QDockWidget(aTitle) dock.setWidget(mw.frame) dock.setMinimumWidth(520) dsk.addDockWidget(Qt.RightDockWidgetArea, dock) dock.setVisible(True) dock.show() # Put the QTreeView of the MainView which is already inside a QDockWidget # in the SALOME Desktop BrowserTitle = aTitle + " Browser" mw.dockWidgetBrowser.setWindowTitle(BrowserTitle) dsk.addDockWidget(Qt.LeftDockWidgetArea, mw.dockWidgetBrowser) mw.dockWidgetBrowser.setVisible(True) mw.dockWidgetBrowser.show() mw.dockWidgetBrowser.raise_() dock.raise_() #Add Dock windows are managed by CFDGUI_Management class studyId = sgPyQt.getStudyId() aStudyCFD = aCase.GetFather() aCaseCFD = aCase xmlFileName = str(Title) _c_CFDGUI.set_d_CfdCases(studyId, dock, mw.dockWidgetBrowser, mw, aStudyCFD, aCaseCFD, xmlFileName, sobjXML) dock.visibilityChanged["bool"].connect( self.setdockWindowBrowserActivated) mw.dockWidgetBrowser.visibilityChanged["bool"].connect( self.setdockWindowActivated) dock.toggleViewAction().toggled["bool"].connect(self.setdockWB) mw.dockWidgetBrowser.toggleViewAction().toggled["bool"].connect( self.setdock) _c_CFDGUI.tabifyDockWindows(dsk, studyId) self.showDockWindows(studyId, xmlFileName, aCaseCFD.GetName(), aStudyCFD.GetName()) updateObjectBrowser() return mw
def launchGUI(self, WorkSpace, aCase, sobjXML, Args): """ mw.dockWidgetBrowser is the Browser of the CFD MainView """ log.debug("launchGUI") from code_saturne.cs_gui import process_cmd_line from code_saturne.Base.MainView import MainView if CFD_Code() == CFD_Saturne: from code_saturne.cs_package import package elif CFD_Code() == CFD_Neptune: from neptune_cfd.nc_package import package if sobjXML == None: Title = "unnamed" else: Title = sobjXML.GetName() self.Workspace = WorkSpace pkg = package() case, splash = process_cmd_line(Args) try: mw = MainView(pkg, case, aCase) except: mess = "Error in Opening CFD GUI" QMessageBox.warning(None, "Warning", mess, QMessageBox.Ok, QMessageBox.NoButton) return None # Put the standard panel of the MainView inside a QDockWidget # in the SALOME Desktop aTitle = self.setWindowTitle_CFD(mw, aCase, Title) dsk = sgPyQt.getDesktop() ##### objectBrowserDockWindow = findObjectBrowserDockWindow() self.mainWin = QMainWindow() self.mainWin.setWindowTitle(aTitle) self.mainWin.setCentralWidget(mw.centralwidget) self.mainWin.addDockWidget(Qt.LeftDockWidgetArea,mw.dockWidgetBrowser) ##### self.dockMainWin = QDockWidget(aTitle) self.dockMainWin.setWidget(self.mainWin) ## dsk.addDockWidget(Qt.LeftDockWidgetArea,self.dockMainWin) self.dockMainWin.setVisible(True) self.dockMainWin.show() self.dockMainWin.raise_() objectBrowserDockWindow.visibilityChanged["bool"].connect(self.resizeObjectBrowserDock) #Add Dock windows are managed by CFDGUI_Management class aStudyCFD = aCase.GetFather() aCaseCFD = aCase xmlFileName = str(Title) _c_CFDGUI.set_d_CfdCases(self.dockMainWin, mw, aStudyCFD, aCaseCFD, xmlFileName, sobjXML) dockMain = _c_CFDGUI.getDockWithCFDNames(aStudyCFD.GetName(), aCaseCFD.GetName(), xmlFileName) if dockMain != None: dockMain.visibilityChanged["bool"].connect(self.resizeMainWindowDock) updateObjectBrowser() return mw