MATLAB: How to call a function inside a button created in a function

uicontrol pushbutton

Hello everyone, I created a function in matlab in which when I introduce some values they are printed on some static text and I create a button that allows me to delete the row where the button is (the variables I keep in a struct). My question is, how can I use the callback of the delete button within the function? I attached the code so you can understand it better
function [c,t,v,fn,ln,btn] = addInfo(countElement,E)
for i=1:countElement
c = uicontrol('Style','text',...
'String',i,...
'Position',[20 460-30*(i-1) 20 20]);
t = uicontrol('Style','text',...
'String',E(i).Type,...
'Position',[70 460-30*(i-1) 60 20]);
v = uicontrol('Style','text',...
'String',E(i).V,...
'Position',[145 460-30*(i-1) 35 20]);
fn = uicontrol('Style','text',...
'String',E(i).Fnode,...
'Position',[210 460-30*(i-1) 35 20]);
ln = uicontrol('Style','text',...
'String',E(i).Lnode,...
'Position',[275 460-30*(i-1) 35 20]);
btn = uicontrol('Style', 'pushbutton', 'String', '-',...
'Position', [330 460-30*(i-1) 35 20],...
'Callback', @deleteInfo%%my problem is here);

end
function [ c,t,v,fn,ln,btn ] = deleteInfo( c,countElement,E )
a=str2double(get(handles.c,'String'));
E(a)=[];
countElement=countElement-1;
for i=1:countElement
c = uicontrol('Style','text',...
'String',i,...
'Position',[20 460-30*(i-1) 20 20]);
t = uicontrol('Style','text',...
'String',E(i).Type,...
'Position',[70 460-30*(i-1) 60 20]);
v = uicontrol('Style','text',...
'String',E(i).V,...
'Position',[145 460-30*(i-1) 35 20]);
fn = uicontrol('Style','text',...
'String',E(i).Fnode,...
'Position',[210 460-30*(i-1) 35 20]);
ln = uicontrol('Style','text',...
'String',E(i).Lnode,...
'Position',[275 460-30*(i-1) 35 20]);
btn = uicontrol('Style', 'pushbutton', 'String', '-',...
'Position', [330 460-30*(i-1) 35 20],...
'Callback', @deleteInfo%%my problem is here);
end

Best Answer

Start with saving all the handles in one or multiple arrays when you initialize them (save them to guidata so you can get to them in a callback). Then in the delete callback you can loop through the array, moving all elements after the deleted object one level up.