主要内容

在掩码对话框中创建自定义表

这个例子展示了如何在掩码对话框中创建一个自定义表。这个模型包括一个带有掩码的子系统块。掩码有一个回调,它根据单元格中提供的值修改表内容。回调来自外部支持文件。万博1manbetx要创建此表,首先向块添加掩码或编辑现有掩码。

添加并配置自定义表参数

若要添加自定义表参数,请打开“掩码编辑器”,转到参数&对话框选择并单击自定义表.然后,在属性编辑器部分。对于本例,在价值字段,添加:

{“sig1”、“输入”、“继承”、“继承”、“签名”,“继承”;“sig2”、“输入”、“继承”、“继承”,“签名”,“继承”;“sig3”、“输出”、“10”,“继承”、“签名”、“继承”;“sig4”、“输出”、“10”,“继承”、“签名”、“继承”}

字段,单击“编辑”图标并添加列的名称。本例中使用的列名为:HDL名称、I/O模式、采样时间、数据类型、符号和分数长度。

对话框部分,编辑回调字段以添加您的回调。本例中使用的回调来自一个名为CustomTableCallback.m.在回调字段中输入文件名。此回调定义如何根据其他单元格和列的值更改单元格中的值。

添加按钮和选项来控制自定义表

在本例中,添加了四个按钮,用于添加新行、删除选定行和向上或向下移动行。中添加按钮行动节单击按钮参数四次。将按钮命名为删除向上,下来.要配置按钮,请编辑回调字段,并添加适当的回调函数。用于每个按钮的回调是:

maskObj = 万博1manbetxSimulink.Mask.get(gcb);tableccontrol = maskObj。getDialogControl('CustomTable');
hdlName = 'sig';rowIndex = tablectrol . getnumberofrows ();hdlName = strcat('sig', num2str(rowIndex + 1));tableControl。addRow(hdlName, 'Input', 'Inherit', 'Inherit', 'Signed', 'Inherit')

删除

maskObj = 万博1manbetxSimulink.Mask.get(gcb);tableccontrol = maskObj。getDialogControl('CustomTable');
rowIndex = tablectrol . getselectedrows ();hdlName = 'sig';
if (~isempty(rowIndex))表控件。remove (rowIndex(1));结束

向上

maskObj = 万博1manbetxSimulink.Mask.get(gcb);tableccontrol = maskObj。getDialogControl('CustomTable');
rowIndex = tablectrol . getselectedrows ();
if (~isempty(rowIndex))表控件。swapRows(rowIndex(1)-1, rowIndex(1));结束

下来

maskObj = 万博1manbetxSimulink.Mask.get(gcb);tableccontrol = maskObj。getDialogControl('CustomTable');
rowIndex = tablectrol . getselectedrows ();
if (~isempty(rowIndex))表控件。swapRows(rowIndex(1)+1, rowIndex(1));结束

除了这些按钮之外,该表还有一个复选框,用于启用直接馈送,还有一个自动填充按钮,用于从指定的HDL组件实例自动创建信号接口。若要添加这些选项,请添加复选框和按钮控件,并添加适当的配置。

添加完所有值后,单击好吧以保存更改。控件可以预览该表预览按钮。这是在这个例子中创建的最终表的预览: