Skip to content

Commit 4bc6be8

Browse files
committed
Added another demo GUI for showcasing some uitable modifications.
1 parent 940d288 commit 4bc6be8

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

Demo/TableDemo.m

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
classdef TableDemo < matlab.apps.AppBase
2+
3+
% Properties that correspond to app components
4+
properties (Access = public)
5+
UIFigure matlab.ui.Figure
6+
UITable matlab.ui.control.Table
7+
Button matlab.ui.control.Button
8+
end
9+
10+
methods (Access = private)
11+
12+
% Button pushed function: Button
13+
function ButtonPushed(app, ~)
14+
% Return all registered widgets:
15+
[~,w] = mlapptools.getWidgetInfo(app.UIFigure);
16+
% Filter list:
17+
w = w(~cellfun(@isempty,w.id) & ...
18+
cellfun(@(x)~isempty(strfind(x,'uniq')),w.id),:); %#ok<STREMP>
19+
% Apply random styles:
20+
for ind1 = 1:4:22
21+
mlapptools.setStyle(...
22+
app.UIFigure,...
23+
'border',...
24+
'2px solid red',...
25+
w{ind1,'id'}{1});
26+
end
27+
28+
for ind2 = 2:4:22
29+
mlapptools.setStyle(...
30+
app.UIFigure,...
31+
'background-image',...
32+
'url(http://lorempixel.com/40/120/)',...
33+
w{ind2,'id'}{1});
34+
end
35+
36+
for ind3 = 3:4:22
37+
mlapptools.setStyle(...
38+
app.UIFigure,...
39+
'background-color',...
40+
['rgb(' num2str(randi(255)) ',' num2str(randi(255)) ',' ...
41+
num2str(randi(255)) +')'],...
42+
w{ind3,'id'}{1});
43+
end
44+
45+
for ind4 = 4:4:22
46+
mlapptools.setStyle(...
47+
app.UIFigure,...
48+
'padding',...
49+
'0cm 1cm 0cm 0cm',...
50+
w{ind4,'id'}{1});
51+
end
52+
53+
end
54+
end
55+
56+
% App initialization and construction
57+
methods (Access = private)
58+
59+
% Create UIFigure and components
60+
function createComponents(app)
61+
62+
% Create UIFigure
63+
app.UIFigure = uifigure;
64+
app.UIFigure.Position = [600 600 300 150];
65+
app.UIFigure.Name = 'UI Figure';
66+
setAutoResize(app, app.UIFigure, true)
67+
68+
% Create UITable
69+
app.UITable = uitable(app.UIFigure);
70+
app.UITable.ColumnName = {'Column 1'; 'Column 2'; 'Column 3'};
71+
app.UITable.Data = rand(3);
72+
app.UITable.RowName = {};
73+
app.UITable.Position = [25 40 250 100];
74+
75+
% Create Button
76+
app.Button = uibutton(app.UIFigure, 'push');
77+
app.Button.ButtonPushedFcn = createCallbackFcn(app, @ButtonPushed, true);
78+
app.Button.Position = [90 10 120 25];
79+
app.Button.Text = 'Modify!';
80+
end
81+
end
82+
83+
methods (Access = public)
84+
85+
% Construct app
86+
function app = TableDemo()
87+
88+
% Create and configure components
89+
createComponents(app)
90+
91+
% Register the app with App Designer
92+
registerApp(app, app.UIFigure)
93+
94+
if nargout == 0
95+
clear app
96+
end
97+
end
98+
99+
% Code that executes before app deletion
100+
function delete(app)
101+
102+
% Delete UIFigure when app is deleted
103+
delete(app.UIFigure)
104+
end
105+
end
106+
end

0 commit comments

Comments
 (0)