def _createInputForWeights(self, layout): relative_iteration_weights_model = ValueModel(self.weights) self._relative_iteration_weights_box = StringBox( relative_iteration_weights_model, help_link="config/simulation/iteration_weights", continuous_update=True) self._relative_iteration_weights_box.setValidator( NumberListStringArgument()) layout.addRow("Relative Weights:", self._relative_iteration_weights_box) relative_iteration_weights_model.valueChanged.connect(self.setWeights) normalized_weights_model = ValueModel() normalized_weights_widget = ActiveLabel( normalized_weights_model, help_link="config/simulation/iteration_weights") layout.addRow('Normalized weights:', normalized_weights_widget) def updateVisualizationOfNormalizedWeights(): if self._relative_iteration_weights_box.isValid(): weights = MultipleDataAssimilation.parseWeights( relative_iteration_weights_model.getValue()) normalized_weights = MultipleDataAssimilation.normalizeWeights( weights) normalized_weights_model.setValue(", ".join( "%.2f" % x for x in normalized_weights)) else: normalized_weights_model.setValue("The weights are invalid!") self._relative_iteration_weights_box.getValidationSupport( ).validationChanged.connect(updateVisualizationOfNormalizedWeights) updateVisualizationOfNormalizedWeights( ) # To normalize the default weights
def __init__(self): QWidget.__init__(self) self.setMinimumWidth(500) self.setMinimumHeight(200) self._dynamic = False self.setWindowTitle("Load results manually") self.activateWindow() layout = QFormLayout() current_case = getCurrentCaseName() run_path_text = QTextEdit() run_path_text.setText(self.readCurrentRunPath()) run_path_text.setDisabled(True) run_path_text.setFixedHeight(80) layout.addRow("Load data from current run path: ", run_path_text) self._case_model = AllCasesModel() self._case_combo = QComboBox() self._case_combo.setSizeAdjustPolicy( QComboBox.AdjustToMinimumContentsLength) self._case_combo.setMinimumContentsLength(20) self._case_combo.setModel(self._case_model) self._case_combo.setCurrentIndex( self._case_model.indexOf(current_case)) layout.addRow("Load into case:", self._case_combo) self._active_realizations_model = ActiveRealizationsModel() self._active_realizations_field = StringBox( self._active_realizations_model, "load_results_manually/Realizations") self._active_realizations_field.setValidator(RangeStringArgument()) layout.addRow("Realizations to load:", self._active_realizations_field) iterations_count = LoadResultsModel.getIterationCount() self._iterations_model = ValueModel(iterations_count) self._iterations_field = StringBox(self._iterations_model, "load_results_manually/iterations") self._iterations_field.setValidator(IntegerArgument()) layout.addRow("Iteration to load:", self._iterations_field) self.setLayout(layout)