UI Inbuilt Functions
Several UI functions are available for use with uicontrol
functions.
The following OML functions: uipanel
, uiwait
,
uiresume
and uitable
are available to complement
uicontrol
capabilities.
uipanel
A uipanel
is a container for different graphical objects in a GUI.
The objects contained in a panel are referred as children of the
uipanel
. Each parent uipanel
can accommodate
different types of child objects.
A uipanel
is visually represented as a rectangle within a figure
object. Try the following code to create a uipanel.
f = figure();
panel = uipanel(f,'units','normalized', 'position',[0.05 0.05 0.4 0.9]);
To understand the concept of parent and children objects, review the following
example where two uipanels
are created within a figure object:
f = figure();
panel1 = uipanel(f,'units','normalized','position',[0.05 0.05 0.4 0.9]);
panel2 = uipanel(f,'units','normalized','position',[0.5 0.05 0.4 0.9]);
Observe that in panel1
and panel2
, the handle
f
is used as a reference handle. This means that both uipanels
have the same parent object f
.
As the figure handle acts as a parent object for uipanel
, the latter
acts as a parent object for different graphical widgets within it.
Note: If a uipanel
is created without a figure handle, the software
creates a default figure object as the parent of uipanel
.
panel1 = uipanel('units','normalized','position',[0.05 0.05 0.4 0.9]);
uiwait
uiwait
pauses the execution for either the wait time specified or
the event when the uiresume
function is called.
f = figure();
plot(1:10);
msgfig = msgbox('A plot was successfully created!');
uiwait(msgfig);
disp('Program execution resumed');
This code example shows that the execution is stopped until the resume button is pressed.
uiresume
uiresume
resumes the execution of a blocked program.
uiresume(handle)
resumes a program that a uiwait
pauses.
uitable
uitable
creates a table in the GUI figure.
f = figure();
table = uitable(f,'data',randn(20),'units','normalized','position',[0.1 0.1 0.4 0.5]);
uitab
Creates a tab in a tabbed frame for interactive, graphical control of objects in a figure. This command is especially useful for building complex workflows.
f = figure('Name','uitab','NumberTitle','off');
h = uitabgroup(f)
tab1 = uitab(h, 'title', 'My tab 1')
tab2 = uitab(h, 'title', 'My tab 2')
uimenu
Creates a menu item for interactive graphical control of objects in a figure.
f = figure('Name','uimenu','NumberTitle','off');
%Callback
function outfunc1 = func1(h,callstate)
warndlg('warning')
end
m1 = uimenu('label', 'Menu1');
item1_m1 = uimenuitem('parent', m1, 'label', 'Foo1', 'callback', '@func1');