Пример #1
0
    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_()
Пример #2
0
 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.
Пример #3
0
 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_()
Пример #5
0
    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()
Пример #6
0
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)
Пример #7
0
    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()
Пример #8
0
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()
Пример #9
0
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_()
Пример #11
0
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
Пример #12
0
 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.
Пример #13
0
    def showParametersPopup(self):
        parameter_panel = SensitivityStudyParametersPanel()
        dialog = ClosableDialog("Sensitivity Study Parameters", parameter_panel, self.parent())

        dialog.exec_()
Пример #14
0
    def showParametersPopup(self):
        parameter_panel = SensitivityStudyParametersPanel()
        dialog = ClosableDialog("Sensitivity Study Parameters",
                                parameter_panel, self.parent())

        dialog.exec_()
Пример #15
0
 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_()
Пример #16
0
 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_()
Пример #17
0
    def trigger(self):
        case_management_widget = CaseInitializationConfigurationPanel()

        dialog = ClosableDialog("Manage Cases", case_management_widget, self.parent())
        dialog.exec_()