def showVariablesPopup(self): analysis_module_name = IteratedAnalysisModuleModel().getCurrentChoice() if analysis_module_name is not None: variable_dialog = AnalysisModuleVariablesPanel(analysis_module_name) dialog = ClosableDialog("Edit variables", variable_dialog, self.parent()) dialog.exec_()
def trigger(self): run_workflow_widget = RunWorkflowWidget() dialog = ClosableDialog("Run workflow", run_workflow_widget, self.parent()) dialog.exec_() CaseList().externalModificationNotification( ) # workflow may have added new cases.
def trigger(self): if self.__import_widget is None: self.__import_widget = LoadResultsPanel() self.__dialog = ClosableDialog("Load results manually", self.__import_widget, self.parent()) self.__import_widget.setCurrectCase() self.__dialog.addButton("Load", self.load) self.__dialog.exec_()
def showVariablesPopup(self): analysis_module_name = IteratedAnalysisModuleModel().getCurrentChoice() if analysis_module_name is not None: variable_dialog = AnalysisModuleVariablesPanel( analysis_module_name) dialog = ClosableDialog("Edit variables", variable_dialog, self.parent()) dialog.exec_()
def startWorkflow(self): self.__running_workflow_dialog = ClosableDialog("Running Workflow", self.createSpinWidget(), self) self.__running_workflow_dialog.disableCloseButton() workflow_thread = Thread(name="ert_gui_workflow_thread") workflow_thread.setDaemon(True) workflow_thread.run = self.runWorkflow workflow_thread.start() self.__running_workflow_dialog.show()
class LoadResultsTool(Tool): def __init__(self): super(LoadResultsTool, self).__init__("Load results manually", "tools/load_manually", util.resourceIcon("ide/table_import")) self.__import_widget = None self.__dialog = None self.setVisible(False) def trigger(self): if self.__import_widget is None: self.__import_widget = LoadResultsPanel() self.__dialog = ClosableDialog("Load results manually", self.__import_widget, self.parent()) self.__import_widget.setCurrectCase() self.__dialog.addButton("Load", self.load) self.__dialog.exec_() def load(self): self.__import_widget.load() self.__dialog.accept() def toggleAdvancedMode(self, advanced_mode): self.setVisible(advanced_mode) if not LoadResultsModel().isValidRunPath(): self.setEnabled(False)
def trigger(self): if self.__export_widget is None: self.__export_widget = ref(ExportPanel(self.parent())) self.__exporter = Exporter() self.__export_widget().runExport.connect(self.__exporter.runExport) self.__export_widget().setSelectedCase( CaseSelectorModel().getCurrentChoice()) self.__dialog = ref( ClosableDialog("Export", self.__export_widget(), self.parent())) self.__export_widget().updateExportButton.connect( self.__dialog().toggleButton) self.__dialog().addButton("Export", self.export) self.__dialog().show()
class ExportTool(Tool): def __init__(self): super(ExportTool, self).__init__("Export Data", "tools/export", util.resourceIcon("ide/table_export")) self.__export_widget = None def trigger(self): if self.__export_widget is None: self.__export_widget = ExportPanel() self.__dialog = ClosableDialog("Export", self.__export_widget, self.parent()) self.__dialog.addButton("Export", self.export) self.__dialog.exec_() def export(self): self.__export_widget.export() self.__dialog.accept()
class LoadResultsTool(Tool): def __init__(self): super(LoadResultsTool, self).__init__( "Load results manually", "tools/load_manually", util.resourceIcon("ide/table_import") ) self.__import_widget = None self.__dialog = None self.setVisible(False) def trigger(self): if self.__import_widget is None: self.__import_widget = LoadResultsPanel() self.__dialog = ClosableDialog("Load results manually", self.__import_widget, self.parent()) self.__dialog.addButton("Load", self.load) self.__dialog.exec_() def load(self): self.__import_widget.load() self.__dialog.accept() def toggleAdvancedMode(self, advanced_mode): self.setVisible(advanced_mode) if LoadResultsModel().getIterationCount() == 0: self.setEnabled(False)
def trigger(self): case_management_widget = CaseInitializationConfigurationPanel() dialog = ClosableDialog("Manage Cases", case_management_widget, self.parent()) dialog.exec_()
class RunWorkflowWidget(QWidget): workflowSucceeded = pyqtSignal() workflowFailed = pyqtSignal() def __init__(self): QWidget.__init__(self) layout = QHBoxLayout() layout.addSpacing(10) workflow_model = WorkflowsModel() # workflow_model.observable().attach(WorkflowsModel.CURRENT_CHOICE_CHANGED_EVENT, self.showWorkflow) workflow_combo = ComboChoice(workflow_model, "Select Workflow", "run/workflow") layout.addWidget(QLabel(workflow_combo.getLabel()), 0, Qt.AlignVCenter) layout.addWidget(workflow_combo, 0, Qt.AlignVCenter) # simulation_mode_layout.addStretch() layout.addSpacing(20) self.run_button = QToolButton() self.run_button.setIconSize(QSize(32, 32)) self.run_button.setText("Start Workflow") self.run_button.setIcon(util.resourceIcon("ide/gear_in_play")) self.run_button.clicked.connect(self.startWorkflow) self.run_button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) layout.addWidget(self.run_button) layout.addStretch(1) self.setLayout(layout) self.__running_workflow_dialog = None self.workflowSucceeded.connect(self.workflowFinished) self.workflowFailed.connect(self.workflowFinishedWithFail) def createSpinWidget(self): widget = QWidget() layout = QHBoxLayout() size = 64 spin_movie = util.resourceMovie("ide/loading.gif") spin_movie.setSpeed(60) spin_movie.setScaledSize(QSize(size, size)) spin_movie.start() processing_animation = QLabel() processing_animation.setMaximumSize(QSize(size, size)) processing_animation.setMinimumSize(QSize(size, size)) processing_animation.setMovie(spin_movie) layout.addWidget(processing_animation) processing_label = QLabel("Processing workflow '%s'" % WorkflowsModel().getCurrentChoice()) layout.addWidget(processing_label, Qt.AlignBottom) widget.setLayout(layout) return widget def startWorkflow(self): self.__running_workflow_dialog = ClosableDialog("Running Workflow", self.createSpinWidget(), self) self.__running_workflow_dialog.disableCloseButton() workflow_thread = Thread(name="ert_gui_workflow_thread") workflow_thread.setDaemon(True) workflow_thread.run = self.runWorkflow workflow_thread.start() self.__running_workflow_dialog.show() def runWorkflow(self): success = WorkflowsModel().startWorkflow() if not success: self.workflowFailed.emit() else: self.workflowSucceeded.emit() def workflowFinished(self): workflow_name = WorkflowsModel().getCurrentChoice() QMessageBox.information(self, "Workflow completed!", "The workflow '%s' completed successfully!" % workflow_name) self.__running_workflow_dialog.accept() self.__running_workflow_dialog = None def workflowFinishedWithFail(self): workflow_name = WorkflowsModel().getCurrentChoice() error = WorkflowsModel().getError() QMessageBox.critical(self, "Workflow failed!", "The workflow '%s' failed!\n\n%s" % (workflow_name, error)) self.__running_workflow_dialog.reject() self.__running_workflow_dialog = None
def trigger(self): run_workflow_widget = RunWorkflowWidget() run_workflow_widget.reloadErtTriggered.connect(self.reload_function) dialog = ClosableDialog("Run workflow", run_workflow_widget, self.parent()) dialog.exec_() CaseList().externalModificationNotification() # workflow may have added new cases.
def showParametersPopup(self): parameter_panel = SensitivityStudyParametersPanel() dialog = ClosableDialog("Sensitivity Study Parameters", parameter_panel, self.parent()) dialog.exec_()
def trigger(self): if self.__export_widget is None: self.__export_widget = ExportPanel() self.__dialog = ClosableDialog("Export", self.__export_widget, self.parent()) self.__dialog.addButton("Export", self.export) self.__dialog.exec_()
def trigger(self): if self.__import_widget is None: self.__import_widget = LoadResultsPanel() self.__dialog = ClosableDialog("Load results manually", self.__import_widget, self.parent()) self.__dialog.addButton("Load", self.load) self.__dialog.exec_()