定制系统块对话框使用系统对象
您可以自定义对话框的MATLAB系统块通过添加属性和方法在相应的系统对象™。您可以添加标签、属性分成几个小组,部分,添加块描述、仿真类型控制,添加自定义按钮。
请注意
从R2022b,您可以使用掩码编辑器设计一个MATLAB系统对话框。你也可以迁移现有对面具的定制编辑器对话框。此功能消除了需要开发或维护getPropertyGroupsImpl
方法在系统对象文件。有关更多信息,请参见使用掩码编辑器定制系统对象对话框。
定义块对话框标签、属性的部分,和秩序
这个示例自定义的块对话框MultipleGroupsWithTabs
MATLAB系统块通过指定属性显示名称和修改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
方法,模拟使用参数出现在块对话框。
你必须设置getSimulateUsingImpl
和showSimulateUsingImpl
方法静态
对这些方法和访问受保护的
。
使用getSimulateUsingImpl
指定只允许系统对象解释执行。
访问=保护方法(静态)函数simMode = getSimulateUsingImpl simMode =解释执行的;结束结束
在产生的对话框模拟使用参数:
添加自定义按钮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);结束结束
在产生的对话框可视化按钮:
另请参阅
getPropertyGroupsImpl
|matlab.system.display.Section
|matlab.system.display.SectionGroup
|getSimulateUsingImpl
|showSimulateUsingImpl
|getHeaderImpl
|matlab.system.display.Header