예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }