def main(): """Main function to run the example.""" app = QApplication([]) default_value_parameter = DefaultValueParameter() default_value_parameter.name = 'Value parameter' default_value_parameter.help_text = 'Help text' default_value_parameter.description = 'Description' default_value_parameter.labels = ['Setting', 'Do not report', 'Custom'] default_value_parameter.options = [0, 1, None] parameters = [default_value_parameter] extra_parameters = [(DefaultValueParameter, DefaultValueParameterWidget)] parameter_container = ParameterContainer(parameters, extra_parameters=extra_parameters) parameter_container.setup_ui() widget = QWidget() layout = QGridLayout() layout.addWidget(parameter_container) widget.setLayout(layout) widget.setGeometry(0, 0, 500, 500) widget.show() sys.exit(app.exec_())
def main(): """Main function to run the example.""" app = QApplication([]) default_value_parameter = DefaultValueParameter() default_value_parameter.name = 'Value parameter' default_value_parameter.help_text = 'Help text' default_value_parameter.description = 'Description' default_value_parameter.labels = [ 'Setting', 'Do not report', 'Custom'] default_value_parameter.options = [0, 1, None] parameters = [ default_value_parameter ] extra_parameters = [ (DefaultValueParameter, DefaultValueParameterWidget) ] parameter_container = ParameterContainer( parameters, extra_parameters=extra_parameters) parameter_container.setup_ui() widget = QWidget() layout = QGridLayout() layout.addWidget(parameter_container) widget.setLayout(layout) widget.setGeometry(0, 0, 500, 500) widget.show() sys.exit(app.exec_())
def set_widgets(self): """Set widgets on the Extra Keywords tab.""" existing_inasafe_default_values = self.parent.get_existing_keyword( 'inasafe_default_values') # Remove old container and parameter if self.parameter_container: self.default_values_grid.removeWidget( self.parameter_container) if self.parameters: self.parameters = [] # Iterate through all inasafe fields # existing_inasafe_default_values for inasafe_field in self.inasafe_fields_for_the_layer(): # Create DefaultSelectParameter parameter = DefaultValueParameter() parameter.guid = inasafe_field['key'] parameter.name = inasafe_field['name'] parameter.is_required = False parameter.help_text = inasafe_field['default_value']['description'] # parameter.description = inasafe_field['default_value'] parameter.element_type = unicode parameter.labels = get_inasafe_default_value_fields( self.parent.setting, inasafe_field['key'])[0] parameter.options = get_inasafe_default_value_fields( self.parent.setting, inasafe_field['key'])[1] if existing_inasafe_default_values: existing_default_value = existing_inasafe_default_values.get( inasafe_field['key']) if existing_default_value: parameter.default = existing_default_value self.parameters.append(parameter) # Create the parameter container and add to the wizard. self.parameter_container = ParameterContainer( self.parameters, extra_parameters=self.extra_parameters) self.parameter_container.setup_ui() self.default_values_grid.addWidget(self.parameter_container) # Set default value to None for parameter_widget in self.parameter_container.\ get_parameter_widgets(): parameter_widget.widget().set_value(None) # Set default value from existing keywords if existing_inasafe_default_values: for guid, default in existing_inasafe_default_values.items(): parameter_widget = self.parameter_container.\ get_parameter_widget_by_guid(guid) if isinstance(parameter_widget, DefaultValueParameterWidget): parameter_widget.set_value(default)
def setUp(self): """Set up parameter before every test.""" default_value_parameter = DefaultValueParameter() default_value_parameter.name = 'Default Value Affected Field' default_value_parameter.is_required = True default_value_parameter.help_text = 'Default value for affected field' default_value_parameter.description = ( 'Value to be used for affected field.') default_value_parameter.element_type = str default_value_parameter.labels = [ 'Setting (%s)', 'Do not report', 'Custom'] default_value_parameter.options = [0.1, None, 0.2] default_value_parameter.value = 0.1 self.default_value_parameter = default_value_parameter self.widget = DefaultValueParameterWidget(default_value_parameter)
def setUp(self): """Set up parameter before every test.""" default_value_parameter = DefaultValueParameter() default_value_parameter.name = 'Default Value Affected Field' default_value_parameter.is_required = True default_value_parameter.help_text = 'Default value for affected field' default_value_parameter.description = ( 'Value to be used for affected field.') default_value_parameter.element_type = str default_value_parameter.labels = [ 'Setting (%s)', 'Do not use', 'Custom'] default_value_parameter.options = [0.1, None, 0.2] default_value_parameter.value = 0.1 self.default_value_parameter = default_value_parameter self.widget = DefaultValueParameterWidget(default_value_parameter)