File tree Expand file tree Collapse file tree 1 file changed +11
-9
lines changed
Expand file tree Collapse file tree 1 file changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -87,11 +87,11 @@ def create_widget_for_field(field_def):
8787 if idx >= 0 :
8888 w .setCurrentIndex (idx )
8989 elif t == "bool" :
90- w = QCheckBox ()
91- default = field_def . get ( "default" )
92- if default is not None :
93- w . setChecked ( bool ( default ) )
94-
90+ w = QComboBox ()
91+ w . addItem ( "True" , True )
92+ w . addItem ( "False" , False )
93+ w . AddItem ( "None" , None )
94+ w . setCurrentIndex ( - 1 )
9595 else :
9696 raise ValueError (f"Unsupported field type: { t } " )
9797
@@ -188,17 +188,19 @@ def get_form_input(self):
188188 value = (
189189 widget .toPlainText () if field .get ("multiline" ) else widget .text ()
190190 )
191- if field .get ("required" ) and not value :
192- errors .append (f"{ field .get ('label' , name )} is required." )
193191 elif t == "int" :
194- value = int (widget .text ())
192+ text = widget .text ().strip ()
193+ value = None if not text else int (widget .text ())
195194 elif t == "float" :
196- value = float (widget .text ())
195+ text = widget .text ().strip ()
196+ value = None if not text else float (widget .text ())
197197 elif t == "date" :
198198 qd = widget .date ()
199199 value = qd .toString ("yyyy-MM-dd" )
200200 elif t == "enum" :
201201 value = widget .currentText ()
202+ elif t == "bool" :
203+ value = widget .currentData ()
202204 else :
203205 value = None
204206
You can’t perform that action at this time.
0 commit comments