public Control ShowModuleState(ICoreObject cpu) { UIContextHolder = PrimaryProjectUiWorkingContextManagerProxy.IUIContextHolder; ProjectUIContext = UIContextHolder.ProjectUIContext; IWorkingContext workingContext = cpu.GetWorkingContext(); FrameGroupManager manager = ProjectUIContext.GetHwcnFrameGroupManager(); ICommandProcessor processor = workingContext.GetCommandProcessor(); ICommand command = processor.CreateCommand("Hwcn.Diagnostic.ShowModuleState", new object[1] { cpu }, new NameObjectCollection()); command.Arguments.Add("DoeStartCategory", "DiagCategoryEventLog"); CommandResult result = manager.Execute(command); if (result.ReturnCode == CommandReturnCodes.Handled) { object resultObject = result.ReturnValue; List <IDoeInstanceAccess> does = manager.GetDoeInstances(); foreach (IDoeInstanceAccess doe in does) { DoeInstanceAccess DoeInstanceAccess = doe as DoeInstanceAccess; DoeViewAccess viewAccess = DoeInstanceAccess.GetDoeViewAccess() as DoeViewAccess; ICoreObject viewObject = doe.ViewObject; IEditorFrame frame = doe.EditorFrame; if (viewObject == cpu) { return(frame.FrameControl); } } } return(null); }
public BlockEditorControlBase GetBlockEditor(ICoreObject pl) { UIContextHolder = PrimaryProjectUiWorkingContextManagerProxy.IUIContextHolder; ProjectUIContext = UIContextHolder.ProjectUIContext; IEditorStarter starter = ProjectUIContext.GetEditorStarterFacadeDlc(); OpenEditorContext openEditorContext = new OpenEditorContext(pl, ProjectUIContext); OpenEditorResult result = starter.OpenEditor(openEditorContext); if (result.HasEditor) { var ieditor = result.Editor; var editor = ieditor as Editor; var IEditorViewFrameProvider = editor as IEditorViewFrameProvider; var control = IEditorViewFrameProvider.MainViewFrame.View.Control; return(control as BlockEditorControlBase); } else { return(null); } }