betty - I don't think that you need an event listener, you just need the means at which to access the handle to the edit text control. From the above example, you haven't indicated how you are using this code or how you have created your GUI, but let's assume that you have done so with GUIDE. Suppose that you have an axes, a (say) checkbox to enable or disable the zoom, and a text box to display the axes limits. Then in the checkbox callback we enable or disable the zoom as
function checkbox1_Callback(hObject, eventdata, handles)
if get(hObject,'Value') == 1
if ~isfield(handles,'hZoom')
handles.hZoom = zoom;
set(handles.hZoom,'ActionPostCallback',@zoomPostCallback);
guidata(hObject,handles);
end
set(handles.hZoom,'Enable','on');
else
if isfield(handles,'hZoom')
set(handles.hZoom,'Enable','off');
end
end
In the zoom post action callback we do
function zoomPostCallback(hObject,event)
handles = guidata(hObject);
if isfield(handles,'text1')
set(handles.text1,'String',num2str(get(handles.axes1,'XLim')));
end
In the above, we use the hObject input parameter to get the handles structure (via guidata) which will have the handle to the text1 control. We update that control using the new limits of axes1. See the attached for a simple example.
Best Answer