diff --git a/braph2/src/gui/PanelProp.m b/braph2/src/gui/PanelProp.m index a0e289fbf..ccf2a37db 100644 --- a/braph2/src/gui/PanelProp.m +++ b/braph2/src/gui/PanelProp.m @@ -1370,8 +1370,18 @@ function postset(pr, prop) function cb_button_cb(~, ~) gui_cb = pr.memorize('GUI_CB'); + + % find repeating figures + all_figs = findall(0, 'type', 'figure'); + for i = 1:1:length(all_figs) + user_data = all_figs(i).get('UserData'); + if isa(user_data, 'GUIElement') && user_data.get('PE').get('EL') == gui_cb.get('PE').get('EL') + user_data.get('PE').get('SHOW') + return + end + end - if ~gui_cb.get('DRAWN') + if ~gui_cb.get('DRAWN') gui_cb.get('DRAW') gui_cb.get('SHOW') else diff --git a/braph2genesis/src/gui/_PanelProp.gen.m b/braph2genesis/src/gui/_PanelProp.gen.m index e6d1593e9..565941fb9 100644 --- a/braph2genesis/src/gui/_PanelProp.gen.m +++ b/braph2genesis/src/gui/_PanelProp.gen.m @@ -456,6 +456,16 @@ A Prop Panel (PanelProp) renders a property of an element in a panel. function cb_button_cb(~, ~) gui_cb = pr.memorize('GUI_CB'); + % find repeating figures + all_figs = findall(0, 'type', 'figure'); + for i = 1:1:length(all_figs) + user_data = all_figs(i).get('UserData'); + if isa(user_data, 'GUIElement') && user_data.get('PE').get('EL') == gui_cb.get('PE').get('EL') + user_data.get('PE').get('SHOW') + return + end + end + if ~gui_cb.get('DRAWN') gui_cb.get('DRAW') gui_cb.get('SHOW')