@@ -37,37 +37,15 @@ def __init__(self, parameter_definition: ParameterDefinition, parent):
3737 ParameterType .TEXT ,
3838 ):
3939 self .widget = QLineEdit (self )
40- self .widget .setPlaceholderText (parameter_definition .default .as_string ())
40+ if parameter_definition .default is not None :
41+ self .widget .setPlaceholderText (str (parameter_definition .default ))
4142 self .layout .addWidget (self .widget )
4243 if parameter_definition .type == ParameterType .INTEGER :
43- self .value = lambda : int (self .widget .text ())
44+ self .value = lambda : int (self .widget .text () or self . widget . placeholderText () )
4445 elif parameter_definition .type == ParameterType .DECIMAL :
45- self .value = lambda : float (self .widget .text ())
46+ self .value = lambda : float (self .widget .text () or self . widget . placeholderText () )
4647 else :
47- self .value = lambda : self .widget .text ()
48-
49- def valueSet (self ):
50- """
51- Returns True if the value of the widget is set, False otherwise.
52- This is used to determine if the parameter has been modified by the user.
53- """
54- if self .widget is None :
55- return False
56-
57- if isinstance (self .widget , QCheckBox ):
58- return self .__valueChanged
59-
60- if isinstance (self .widget , QLineEdit ):
61- return bool (self .widget .text ().strip ())
62-
63- return False
64-
65- def __valueChanged (self ):
66- """
67- This method is called when the value of the widget is changed for QCheckBox.
68- It sets the __valueChanged flag to True, indicating that the value has been modified.
69- """
70- self .__valueChanged = True
48+ self .value = lambda : self .widget .text () or self .widget .placeholderText ()
7149
7250
7351class ParametersGroupBox (QGroupBox ):
@@ -88,17 +66,7 @@ def setParameters(self, parameters: list[ParameterDefinition]):
8866 def parameters_values (self ):
8967 values = {}
9068 for parameter in self .parameters :
91- if self .parameter_widgets [parameter .name ].valueSet ():
92- values [parameter .name ] = self .parameter_widgets [parameter .name ].value ()
93- else :
94- if parameter .type == ParameterType .BOOLEAN :
95- values [parameter .name ] = bool (parameter .default .as_string ())
96- elif parameter .type == ParameterType .INTEGER :
97- values [parameter .name ] = int (parameter .default .as_string ())
98- elif parameter .type == ParameterType .DECIMAL :
99- values [parameter .name ] = float (parameter .default .as_string ())
100- # else:
101- # values[parameter.name] = parameter.default
69+ values [parameter .name ] = self .parameter_widgets [parameter .name ].value ()
10270 return values
10371
10472 def clean (self ):
0 commit comments