Customize System Block Appearance Programmatically
You can customize the icon for a MATLAB System block by adding descriptive text, port labels, and icon image.
Note
From R2023b, you can use the Mask Editor to design a MATLAB
System block icon. You can also migrate existing icon customizations
to the Mask Editor. This capability eliminates the need to develop or maintain
the getInputNamesImpl
, getOutputNamesImpl
, and
getIconImpl
methods in a System object™ file. For more information, see Customize MATLAB System Icon and Dialog Box Using Mask Editor.
Specify Input and Output Names
Specify the names of the input and output ports of a System object–based block implemented using a MATLAB System block.
Use getInputNamesImpl
and getOutputNamesImpl
to
specify the names of the input port as “source data” and the output
port as “count.”
If you do not specify the getInputNamesImpl
and
getOutputNamesImpl
methods, the object uses the
stepImpl
method input and output variable names for the input
and output port names, respectively. If the stepImpl
method uses
varargin and varargout instead of variable
names, the port names default to empty character vectors.
methods (Access = protected) function inputName = getInputNamesImpl(~) inputName = 'source data'; end function outputName = getOutputNamesImpl(~) outputName = 'count'; end end
Add Text to Block Icon
Add text to the block icon of a System object–based block implemented using a MATLAB System block.
Subclass from custom icon class.
classdef MyCounter < matlab.System & matlab.system.mixin.CustomIcon
Use
getIconImpl
to specify the block icon asNew Counter
with a line break between the two words.methods (Access = protected) function icon = getIconImpl(~) icon = {'New','Counter'}; end end
Add Image to Block Icon
Define an image on the block icon of a System object–based block implemented using a MATLAB System block.
Subclass from custom icon class.
classdef MyCounter < matlab.System & matlab.system.mixin.CustomIcon
Use
getIconImpl
method to call thematlab.system.display.Icon
class and specify the image.methods (Access = protected) function icon = getIconImpl(~) icon = matlab.system.display.Icon('counter.png'); end end