def redraw_item(self, redraw_keys, redraw_value):
sizer = redraw_keys['item']
sizer_parent = redraw_keys['sizer_parent']
config = redraw_keys['get_config'](redraw_value, keys=redraw_keys)
config_gui = redraw_keys['get_gui'](redraw_value)
panel = redraw_keys['panel_parent']
fnc = redraw_keys['bind_item']['function']
bind = redraw_keys['bind_item']['bind']
key = redraw_keys['key']
static_box = None
if isinstance(sizer, wx.StaticBoxSizer):
static_box = sizer.GetStaticBox()
item_index = 0
self.detach_all_children(sizer)
for index, item_sizer in enumerate(sizer_parent.GetChildren()):
if item_sizer.GetSizer() == sizer:
item_index = index
sizer_parent.Detach(index)
if static_box:
static_box.Destroy()
sizer.Destroy()
new_sizer = fnc(panel=panel, item=redraw_keys['redraw_target'],
value=config, bind=bind, gui=config_gui, key=key)
sizer_parent.Insert(item_index, new_sizer, 0, wx.EXPAND)
self.redraw_map[key[0]][key[1]]['item'] = new_sizer
self.main_grid.Layout()
评论列表
文章目录