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

时间:2014-06-25 07:13:22

标签: dialog ocean petrel

我想在模拟类别下显示一个指定的对话框,如“开发策略”,并在“确定”点击后执行某些操作。有没有办法显示本地海燕工艺窗口? 我可以在“ Slb.Ocean.Petrel.UI ”中看到一些类和接口,如 DialogBu​​ilder DialogPage IDialogPageFactory IDialogPage ...但我不能使用它们,即使我不知道它们是否提供了我所需的对象。

2 个答案:

答案 0 :(得分:1)

我认为你想创建一个Workstep(Slb.Ocean.Petrel.Workflow)。 Ocean向导让我们快速入门。它会为您创建一个流程包装器,它是在流程树中显示的项目。

熟悉这些概念后,您可以使用WorkflowEditorUIFactory进行简单的初始实现。有关详细信息,请查看Ocean文档中的命名空间文档。

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

答案 1 :(得分:1)

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

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

它需要大量的错误处理,不仅要防止对进程名称的更改,还要处理已经打开独占进程对话框的情况。

但是,这仍然只会启动对话框。无法知道用户是否/何时单击“确定”按钮。 Petrel进程通常是独立的功能,通常通过创建工作流来支持任何类型的链接。