主要内容

定制系统块对话框使用系统对象

您可以自定义对话框的MATLAB系统块通过添加属性和方法在相应的系统对象™。您可以添加标签、属性分成几个小组,部分,添加块描述、仿真类型控制,添加自定义按钮。

请注意

从R2022b,您可以使用掩码编辑器设计一个MATLAB系统对话框。你也可以迁移现有对面具的定制编辑器对话框。此功能消除了需要开发或维护getPropertyGroupsImpl方法在系统对象文件。有关更多信息,请参见使用掩码编辑器定制系统对象对话框

定义块对话框标签、属性的部分,和秩序

这个示例自定义的块对话框MultipleGroupsWithTabsMATLAB系统块通过指定属性显示名称和修改getPropertyGroupImpl方法。

改变属性标签

改变属性标签出现在对话框中,添加评论之前每个属性在这个格式% PropertyName块对话框标签没有评论之间的空间和属性名。例如,显示StartValue财产开始值指定:

% StartValue开始值StartValue = 0

MultipleGroupsWithTabs系统对象在本例重新贴标签于每个属性显示在MATLAB系统块对话框。

组织对话框

MutlitpleGroupsWithTabs定义了一个系统对象类getPropertyGroupsImpl方法。在getPropertyGroupsImpl方法,这个例子定义了两个标签(部分组)和三个参数分组(部分)。

classdefMultipleGroupsWithTabs < matlab.System% MultipleGroupsWithTabs定制与多个制表符和参数组块对话框。%,可调的特性属性% StartValue开始值StartValue = 0% EndValue最终值EndValue阈值= 1 = 10% BlockLimit限制BlockLimit = 55结束%公共Nontunable属性(Nontunable)% IC1第一初始条件IC1 = 0% IC2第二初始条件IC2 = 10% IC3第三初始条件IC3 = 100% UseThreshold使用阈值UseThreshold(1)逻辑= true结束方法(静态访问=保护)函数组= getPropertyGroupsImpl%的部分总是显示以上任何标签。alwaysSection = matlab.system.display.Section (“标题”,,“PropertyList”,{“BlockLimit”});%组织没有部分initTab = matlab.system.display.SectionGroup (“标题”,“初始条件”,“PropertyList”,{“IC1”,“IC2”,“IC3”});%部分参数的值valueSection = matlab.system.display.Section (“标题”,“价值参数的,“PropertyList”,{“StartValue”,“EndValue”});%阈值参数的部分thresholdSection = matlab.system.display.Section (“标题”,的阈值参数,“PropertyList”,{“阈值”,“UseThreshold”});%组织有两个部分:valueSection和thresholdSection部分mainTab = matlab.system.display.SectionGroup (“标题”,“主要”,“部分”(valueSection thresholdSection]);%与group-less部分返回一个数组,该集团%两部分,该集团没有部分。组= [alwaysSection、mainTab initTab];结束结束结束

弹出的对话框中

load_system (“ShowSystemBlockDialog”)open_system (“ShowSystemBlockDialog / MATLAB系统”)

定义属性的部分

这个示例自定义块对话框MATLAB系统块通过指定属性显示名称和修改getPropertyGroupImpl方法。这个自定义了系统对象AddPropertySections

改变属性标签

改变属性标签出现在对话框中,添加评论之前每个属性在这个格式% PropertyName块对话框标签百分号之间没有空间和属性名。例如,显示UseAlpha财产使用α指定:

% UseAlpha使用αUseAlpha = 0

AddPropertySections系统对象包含在这个例子重新贴标签于MATLAB系统显示块的属性对话框。

组织对话框

组织属性对话框,AddPropertySections定义了一个系统对象类getPropertyGroupsImpl方法。在getPropertyGroupsImpl方法,这个例子定义了两个部分,每个国家都有两个属性。

classdefAddPropertySections < matlab.System% AddPropertySections定制对话框中有两个参数部分%,可调的特性属性% NumberOfShapes数量的形状NumberOfShapes = 10α= 0.75结束%,nontunable属性属性(Nontunable)着色(1,1){mustBeMember(着色(“红”,“蓝色”,“绿色”])}=“红色”% UseAlpha使用αUseAlpha(1)逻辑= false结束方法(静态访问=保护)函数组= getPropertyGroupsImpl%部分参数的值valueSection = matlab.system.display.Section (“标题”,形状参数的,“PropertyList”,{“NumberOfShapes”,“颜色”});%阈值参数的部分shadingSection = matlab.system.display.Section (“标题”,“阴影参数”,“PropertyList”,{“UseAlpha”,“α”});%返回一个数组的两个部分。组= [valueSection, shadingSection];结束结束结束

弹出的对话框中

load_system (“CustomSystemBlockDialog”)open_system (“CustomSystemBlockDialog / MATLAB系统”)

添加标题描述

添加一个头面板MATLAB系统块通过添加getHeaderImpl你的系统对象的方法。

使用getHeaderImpl指定一个面板的标题和文本MyCounter系统对象。如果你不指定getHeaderImpl,不显示任何标题或文本块的面板。

对于所有Impl方法,设置getHeaderImpl方法访问受保护的因为该方法只称为内部。

访问=保护方法(静态)函数头= getHeaderImpl头= matlab.system.display.Header (“MyCounter”,“标题”,“我的增强计数器”);结束结束

完整的类定义

控制输入MATLAB仿真系统

指定一个模拟类型和是否模拟使用参数出现在仿真软件万博1manbetx®MATLAB系统块对话框。模拟选项代码生成的“解释模式”

如果你不包括getSimulateUsingImpl方法在类定义文件,系统对象允许模拟模式和违约代码生成的。如果你不包括showSimulateUsingImpl方法,模拟使用参数出现在块对话框。

你必须设置getSimulateUsingImplshowSimulateUsingImpl方法静态对这些方法和访问受保护的

使用getSimulateUsingImpl指定只允许系统对象解释执行。

访问=保护方法(静态)函数simMode = getSimulateUsingImpl simMode =解释执行的;结束结束

完整的类定义

在产生的对话框模拟使用参数:

MATLAB系统对话框显示模拟使用下拉组解释执行和灰色的用户无法改变选项。

添加自定义按钮MATLAB系统块

添加一个按钮MATLAB系统块对话框。这个按钮打开一个图块斜坡函数。

使用matlab.system.display.Action定义MATLAB®一个按钮功能或与之相关的代码MATLAB系统块对话框。示例还显示了如何设置按钮的选择和使用actionData对象存储图处理的输入。这部分的代码示例使用相同的图按钮点击多次,而不是打开一个新的为每个按钮单击图。

访问=保护方法(静态)函数= = matlab.system.display.Section (mfilename getPropertyGroupsImpl组(组“类”));组。行动= matlab.system.display.Action (@ (actionData obj)可视化(obj actionData),“标签”,“可视化”);结束结束方法函数obj = ActionDemo(变长度输入宗量)找(obj,输入参数个数,变长度输入宗量{:});结束函数可视化(obj actionData) f = actionData.UserData;如果isempty (f) | | ~ ishandle (f) f =图;actionData。使用rData = f;其他的图(f);%使当前图结束d = 1: obj.RampLimit;情节(d);结束结束

完整的类定义文件对话框按钮

在产生的对话框可视化按钮:

产生的MATLAB系统块与自定义对话框按钮“可视化”。

另请参阅

||||||

相关的话题