1

我正在创建一个自定义系统目标文件 (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

根据文档,通过调用 MATLAB 函数有条件 rtwoption 这样的东西,但我想让它依赖于另一个选项。

这必须是可能的,因为它是在代码生成 --> 报告选项卡中实现的(只有在启用“创建报告”时才启用“打开报告”)。

这个条件的语法是什么?我可以使用“tlcvariable”吗?

4

1 回答 1

1

这可以使用rtwoptions(i).callback字段和 Matlab 函数slConfigUIGetVal来获取控制选项的值(示例中的 Foo)和slConfigUISetEnabled启用/禁用相关选项(示例中的 Bar)。

于 2014-06-10T07:21:00.093 回答