以编程方式关闭 Stateflow 编辑器

Close Stateflow editor programmatically

有没有办法以编程方式关闭(或隐藏)Stateflow 编辑器?

我在文档或网络中找不到关于此的任何提示。我知道的唯一方法是完全关闭模型,但我不想这样做,因为更改后的模型可能需要事先保存,因此需要用户交互。

这是我目前正在做的一个简单示例:

sfr = sfroot;
% For simplicity I assume exactly one chart is found
chart = sfr.find('-isa', 'Stateflow.Chart');
% This can be used to display a chart
chart.view;
% How can the shown Stateflow Editor be closed again?

现在 chart 对象有一个 Editor 属性。但是 this 和图表对象本身都没有任何有用的成员函数。

我不受特定 Matlab 版本的约束,因此非常感谢任何帮助!

实际上有一个名为 sfclose 的 Matlab 命令可以关闭 Stateflow 图。

如果没有参数,当前活动的图表将被关闭。要关闭特定图表,必须传递其名称。该名称由不包括模型名称的完整路径组成。要关闭图表 model/sys1/sys2/chart,命令如下:

sfclose('sys1/sys2/chart')

注意:不幸的是,如果搜索短语 "sfclose" 或 "close chart",则只能在文档中找到此命令。其他任何事情都会导致不相关的结果。