I believe I found a way to accomplish what I was trying to do... After calling the third GUI, I added an If statement to check if data was added to the root. If something was added to the root (data was recorded to be used in the main GUI), then immediately resume back to the main GUI. It looks something like:
Call third GUI:
testGUI3('testGUI3', handles.figure1);
if isappdata(0,'ReturnTestText')
check = getfield(getappdata(0,'ReturnTestText'), 'testText')
uiresume(handles.figure1);
end
The third GUI has two options. Record data (from the input text box) once a button is pushed (i.e. OK) or do nothing (i.e. CANCEL button).
%OK button
layers.testText = get(handles.test_edit1,'String');
setappdata(0,'ReturnTestText',layers);
uiresume(handles.figure1);
%CANCEL button
uiresume(handles.figure1);
This seems to be working. Any suggestions or comments are welcome.
Thank you for the help Evan. It is good to know different ways to accomplish a task.