@@ -1139,43 +1139,39 @@ def _update_attribute(
11391139 self ._on_value_changed (sender , handler , (old_value , new_value ))
11401140
11411141 if sender and dpg .does_item_exist (sender ):
1142- try :
1143- todo = [sender ]
1144- while todo :
1145- widget = todo .pop ()
1146- if not dpg .does_item_exist (widget ):
1147- continue
1148-
1149- dpg_type = dpg .get_item_type (widget )
1150- if (
1151- dpg_type
1152- in (
1153- "mvAppItemType::mvInputText" ,
1154- "mvAppItemType::mvInputInt" ,
1155- "mvAppItemType::mvInputFloat" ,
1156- "mvAppItemType::mvInputDouble" ,
1157- "mvAppItemType::mvCheckbox" ,
1158- "mvAppItemType::mvCombo" ,
1159- )
1160- and dpg .is_item_visible (widget )
1161- and "bindable_attribute" not in dpg .get_item_alias (widget )
1162- ):
1163- if dpg_type == "mvAppItemType::mvCombo" :
1164- items : list [str ] = dpg .get_item_configuration (widget )[
1165- "items"
1166- ]
1167- if isinstance (ui_repr , int ):
1168- ui_repr = items [ui_repr ]
1169- else :
1170- ui_repr = items .index (str (ui_repr ))
1171-
1172- dpg .set_value (widget , ui_repr )
1173- break
1174- else :
1175- todo .extend (dpg .get_item_children (widget , 1 ))
1176- except Exception as e :
1177- self .logger .error (f"dpg.set_value failed: { e } " )
1178- raise e
1142+ todo = [sender ]
1143+ while todo :
1144+ widget = todo .pop ()
1145+ if not dpg .does_item_exist (widget ):
1146+ continue
1147+
1148+ dpg_type = dpg .get_item_type (widget )
1149+ if (
1150+ dpg_type
1151+ in (
1152+ "mvAppItemType::mvInputText" ,
1153+ "mvAppItemType::mvInputInt" ,
1154+ "mvAppItemType::mvInputFloat" ,
1155+ "mvAppItemType::mvInputDouble" ,
1156+ "mvAppItemType::mvCheckbox" ,
1157+ "mvAppItemType::mvCombo" ,
1158+ )
1159+ and dpg .is_item_visible (widget )
1160+ and "bindable_attribute" not in dpg .get_item_alias (widget )
1161+ ):
1162+ if dpg_type == "mvAppItemType::mvCombo" :
1163+ items : list [str ] = dpg .get_item_configuration (widget )[
1164+ "items"
1165+ ]
1166+ if isinstance (ui_repr , int ):
1167+ ui_repr = items [ui_repr ]
1168+ else :
1169+ ui_repr = items .index (str (ui_repr ))
1170+
1171+ dpg .set_value (widget , ui_repr )
1172+ break
1173+ else :
1174+ todo .extend (dpg .get_item_children (widget , 1 ))
11791175
11801176 def _cut_value (self , sender : str , app_data : Any , user_data : Any ) -> None :
11811177 # deselect the selectable
@@ -1185,13 +1181,7 @@ def _cut_value(self, sender: str, app_data: Any, user_data: Any) -> None:
11851181 widget = self ._selected_attribute_info .widget
11861182 val = dpg .get_value (widget )
11871183
1188- try :
1189- pyperclip .copy (str (val ))
1190- except pyperclip .PyperclipException as e :
1191- self .logger .error ("Cut value failed: %s" , e )
1192- # Not nice, but clearing the value without having copied it is worse
1193- return
1194-
1184+ pyperclip .copy (str (val ))
11951185 default_val = type (val )()
11961186 self ._update_attribute (widget , default_val , attribute )
11971187
@@ -1241,13 +1231,10 @@ def _paste_value(self, sender: str) -> None:
12411231 new_value = data
12421232
12431233 # Let the handler handle the rest
1244- try :
1245- self ._update_attribute (widget , new_value , attribute )
1234+ self ._update_attribute (widget , new_value , attribute )
12461235
1247- if isinstance (attribute , HkbPointer ) and self ._on_graph_changed :
1248- self ._on_graph_changed ()
1249- except Exception as e :
1250- self .logger .error (f"Paste value to { path } failed: { e } " )
1236+ if isinstance (attribute , HkbPointer ) and self ._on_graph_changed :
1237+ self ._on_graph_changed ()
12511238
12521239 def _move_array_item (self , sender : str , offset : int ) -> None :
12531240 # deselect the selectable
0 commit comments