This video shows the use of private and public functions and properties of the matlab class in the app designer. This video demonstrate the steps to build a simple counter using internal functions and properties of the App Designer class.
We will be glad to hear from you regarding any query, suggestions or appreciations at: programmerworld1990@gmail.com
Source code:
classdef Conuter_AppDesigner_Func_Properties < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
StartButton matlab.ui.control.Button
Label matlab.ui.control.Label
TotalCountLabel matlab.ui.control.Label
end
properties (Access = private)
TotalCount = 0; % Variable to store the counted value
endmethods (Access = private)
function results = increment(app)
results = app.TotalCount + 1;
endfunction results = decrement(app)
results = app.TotalCount – 1;
endend
% Callbacks that handle component events
methods (Access = private)% Button pushed function: StartButton
function StartButtonPushed(app, event)for i = 1:20
switch randi(2)
case 1
% Increment
app.TotalCount = app.increment();case 2
% Decrement
app.TotalCount = app.decrement();
end
app.Label.Text = num2str(app.TotalCount);
pause(1);
endend
end% Component initialization
methods (Access = private)% Create UIFigure and components
function createComponents(app)% Create UIFigure and hide until all components are created
app.UIFigure = uifigure(‘Visible’, ‘off’);
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = ‘UI Figure’;% Create StartButton
app.StartButton = uibutton(app.UIFigure, ‘push’);
app.StartButton.ButtonPushedFcn = createCallbackFcn(app, @StartButtonPushed, true);
app.StartButton.Position = [302 126 100 22];
app.StartButton.Text = ‘Start’;% Create Label
app.Label = uilabel(app.UIFigure);
app.Label.HorizontalAlignment = ‘center’;
app.Label.FontSize = 28;
app.Label.Position = [270 263 163 71];
app.Label.Text = ‘0’;% Create TotalCountLabel
app.TotalCountLabel = uilabel(app.UIFigure);
app.TotalCountLabel.VerticalAlignment = ‘top’;
app.TotalCountLabel.FontSize = 24;
app.TotalCountLabel.Position = [85 303 127 31];
app.TotalCountLabel.Text = ‘Total Count’;% Show the figure after all components are created
app.UIFigure.Visible = ‘on’;
end
end% App creation and deletion
methods (Access = public)% Construct app
function app = Conuter_AppDesigner_Func_Properties% Create UIFigure and components
createComponents(app)% Register the app with App Designer
registerApp(app, app.UIFigure)if nargout == 0
clear app
end
end% Code that executes before app deletion
function delete(app)% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end