在海燕中显示一个特定的过程对话框



我想在模拟类别下显示一个指定的对话框,如"发展战略",并在点击"确定"后做一些事情。是否有一种方法来显示本地海燕过程窗口?我可以在Slb.Ocean.Petrel中看到一些类和接口。UI"喜欢DialogBuilderDialogPageIDialogPageFactoryIDialogPage…但是我不能使用它们,甚至我不知道它们是否提供了我需要的对象。

我认为你想创建一个Workstep (slb . ocean . petrol . workflow)。海洋向导让您快速入门。它为您创建一个可选的流程包装器,它是在流程树中显示的项。

一旦您熟悉了这些概念,您就可以通过使用workflowweditoruifactory来发展简单的初始实现。查看Ocean文档中的名称空间文档了解更多细节。

IProcessDiagram为您的自定义Process提供了不同的Add方法,以启用在树节点序列中的自定义定位。

您可以通过编程方式显示使用DialogBuilder.ShowSettings(object)并传递Process实例的特定进程对话框。插件通常使用它来启动自己的进程对话框,但是也可以使用FindProcess(string)通过名称获取对本机Process实例的引用。当然,这是一个非常脆弱的方法:

Process p = PetrelSystem.ProcessDiagram.FindProcess("Development strategy");
PetrelSystem.DialogBuilder.ShowSettings(p);

这将需要大量的错误处理,不仅要防止进程名的更改,还要处理排他进程对话框已经打开的情况。

然而,这仍然只会启动对话框。没有办法知道用户是否/何时单击OK按钮。海燕流程通常是功能的独立部分,任何类型的链接通常都是通过创建工作流来支持的。

相关内容

最新更新