Specifications
5 GUI Applications
5-38
return
end
end
% If it's a new name, ask to create a new entry
Answer=questdlg('Do you want to create a new entry?', ...
'Create New Entry', ...
'Yes','Cancel','Yes');
switch Answer
case 'Yes'
Addresses(end+1).Name = Current_Name; % Grow array by 1
Addresses(end).Phone = Current_Phone;
index = length(Addresses);
handles.Addresses = Addresses;
handles.Index = index;
guidata(hObject, handles)
return
case 'Cancel'
% Revert back to the original number
set(handles.Contact_Name,'String',Addresses(handles.Index).Name)
set(handles.Contact_Phone,'String',Addresses(handles.Index).Phon
e)
return
end
The Contact Phone Number Callback
The Contact Phone # text box displays the phone number of the entry listed
in the
Contact Name text box. If you type in a new number click one of the
push buttons, the callback opens a question dialog that asks you if you want to
change the existing number or cancel your change.
Like the
Contact Name text box, this callback uses the index pointer
(
handles.Index) to update the new number in the address book and to revert
to the previously displayed number if the user selects
Cancel from the question
dialog. Both the current address book and the index pointer are saved in the
handles structure so that this data is available to other callbacks.
If you create a new entry, you must save the MAT-file with the
File –> Save
menu.