我正在创建自定义系统目标文件(STF)并添加一些需要配置的RTW选项。某些选项取决于其他选项,可能会也可能没有意义,具体取决于它们的配置方式。在这些情况下,我想有条件地禁用它们(灰显)。
到目前为止,我有类似的东西(使用MATLAB R2014a)
...
rtwoptions(oIdx).prompt = 'Enable Foo';
rtwoptions(oIdx).type = 'Checkbox';
rtwoptions(oIdx).default = 'off';
rtwoptions(oIdx).enable = 'on';
rtwoptions(oIdx).tlcvariable = 'Foo';
rtwoptions(oIdx).makevariable = 'FOO';
oIdx = oIdx + 1;
rtwoptions(oIdx).prompt = 'Bar only makes sense if Foo is enabled';
rtwoptions(oIdx).type = 'Checkbox';
rtwoptions(oIdx).default = 'off';
if foo <--- WHAT DO I PUT HERE?
rtwoptions(oIdx).enable = 'on';
else
rtwoptions(oIdx).enable = 'off';
end
根据documentation,通过调用MATLAB函数可以得到条件rtwoption,但我想让它依赖于其他选项。
这必须是可能的,因为它在代码生成中实现 - &gt; “报告”选项卡(&#34;打开报告&#34;仅在启用&#34;创建报告&#34时启用)。
这种情况的语法是什么?我可以使用&#34; tlc变量&#34;?
答案 0 :(得分:1)
使用rtwoptions(i).callback
字段和使用slConfigUIGetVal
获取控制选项(示例中为Foo)的值的Matlab函数和slConfigUISetEnabled
来启用/禁用依赖选项(示例中为Bar)。