Specifications
4 Programming GUIs
4-28
num2str(get(handles.slider1,'Value')));
The code combines three commands:
• The
get command obtains the current value of the slider.
• The
num2str command converts the value to a string.
• The
set command resets the String property of the edit text to the updated
value.
Setting the Slider Value from the Edit Text Callback
The edit text callback sets the slider’s value to the number the user types in,
after checking to see if it is a single numeric value between 0 and 1. If the value
is out of range, then the error count is incremented and the edit text displays
a message telling the user how many times they have entered an invalid
number.
val = str2double(get(handles.edit1,'String'));
% Determine whether val is a number between 0 and 1
if isnumeric(val) & length(val)==1 & ...
val >= get(handles.slider1,'Min') & ...
val <= get(handles.slider1,'Max')
set(handles.slider1,'Value',val);
else
% Increment the error count, and display it
handles.number_errors = handles.number_errors+1;
guidata(hObject,handles); % store the changes
set(handles.edit1,'String',...
['You have entered an invalid entry ',...
num2str(handles.number_errors),' times.']);
end
If the user types a number between 0 and 1 in the edit box and then clicks
outside the edit box, the callback sets
handles.slider1 to the new value and
the slider moves to the corresponding position.
If the entry is invalid — for example,
2.5 — the GUI increments the value of
handles.number_errors and displays a message like the following: