public static BlockEditorLogicBase GetPLBlockEditorLogic(this ICoreObject block,
                                                                 IWorkingContext ViewWorkingContext        = null,
                                                                 LanguageServiceContainer serviceContainer = null,
                                                                 ISynchronizeInvoke synchronizer           = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            return(TiaStarter.RunInSynchronizer(UsingSynchronizer,
                                                () =>
            {
                PLBlockEditorLogic pl = new PLBlockEditorLogic();
                IWorkingContext iwc = block.GetWorkingContext();
                pl.Attach(iwc);
                pl.PostAttach();


                EditorPayload ep = new EditorPayload(block, ViewWorkingContext, serviceContainer);
                pl.SetPayload(ep);
                OnlineManagerBase OnlineManager = pl.OnlineManager;
                return pl;
            }) as BlockEditorLogicBase);
        }
Exemplo n.º 2
0
        public static BlockEditorControlBase GetGraphView(this ICoreObject block,
                                                          IWorkingContext ViewWorkingContext = null,
                                                          ISynchronizeInvoke synchronizer    = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            return(TiaStarter.RunInSynchronizer(UsingSynchronizer,
                                                () =>
            {
                GraphBlockEditorControl pl = new GraphBlockEditorControl();
                IWorkingContext iwc = block.GetWorkingContext();
                pl.Attach(iwc);
                BlockEditorLogicBase logic = block.GetGraphBlockEditorLogic();
                pl.SetDomainLogic(logic);
                pl.SetPayload(block);
                pl.InitializationFinished();
                pl.CreateVisuals();
                return pl;
            }) as BlockEditorControlBase);
        }
Exemplo n.º 3
0
        public Control ShowLifelistNodeModuleState(ICoreObject cpu)
        {
            IWorkingContext   LifelistNodeUIContext = cpu.GetUIWorkingContext();
            IWorkingContext   workingContext        = cpu.GetWorkingContext();
            FrameGroupManager manager   = LifelistNodeUIContext.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 static BlockEditorLogicBase GetGraphBlockEditorLogic(this ICoreObject block,
                                                                    IWorkingContext ViewWorkingContext = null,
                                                                    ISynchronizeInvoke synchronizer    = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            if (UsingSynchronizer.InvokeRequired)
            {
                return(UnifiedSynchronizerAccess.Invoke(UsingSynchronizer,
                                                        new GetGraphBlockEditorLogicDelegate(GetGraphBlockEditorLogic), new object[3]
                {
                    block,
                    ViewWorkingContext,
                    synchronizer
                }).InvokeResult as BlockEditorLogicBase);
            }


            GraphBlockEditorLogic pl = new GraphBlockEditorLogic();

            if (ViewWorkingContext == null)
            {
                IWorkingContext iwc = block.GetWorkingContext();
                pl.Attach(iwc);
            }
            else
            {
                pl.Attach(ViewWorkingContext);
            }

            pl.PostAttach();
            try
            {
                pl.SetPayload(block);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return(pl);
        }
        public static BlockEditorControlBase GetPLView(this ICoreObject block,
                                                       BlockEditorLogicBase logic,
                                                       IWorkingContext ViewWorkingContext        = null,
                                                       LanguageServiceContainer serviceContainer = null,
                                                       ISynchronizeInvoke synchronizer           = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }

            if (UsingSynchronizer.InvokeRequired)
            {
                return(UnifiedSynchronizerAccess.Invoke(UsingSynchronizer,
                                                        new GetPLViewDelegate(GetPLView), new object[4]
                {
                    block,
                    ViewWorkingContext,
                    serviceContainer,
                    synchronizer
                }).InvokeResult as BlockEditorControlBase);
            }
            PLBlockEditorControlElement pl = new PLBlockEditorControlElement();

            if (ViewWorkingContext == null)
            {
                IWorkingContext iwc = block.GetWorkingContext();
                pl.Attach(iwc);
            }
            else
            {
                pl.Attach(ViewWorkingContext);
            }
            EditorPayload ep = new EditorPayload(block, ViewWorkingContext, serviceContainer);

            pl.SetPayload(ep);
            pl.SetDomainLogic(logic);
            logic.SetView(pl);

            logic.InitializationFinished();
            return(pl);
        }
        public static BlockEditorLogicBase GetPLBlockEditorLogic(this ICoreObject block,
                                                                 IWorkingContext ViewWorkingContext        = null,
                                                                 LanguageServiceContainer serviceContainer = null,
                                                                 ISynchronizeInvoke synchronizer           = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            if (UsingSynchronizer.InvokeRequired)
            {
                return(UnifiedSynchronizerAccess.Invoke(UsingSynchronizer,
                                                        new GetPLBlockEditorLogicDelegate(GetPLBlockEditorLogic), new object[4]
                {
                    block,
                    ViewWorkingContext,
                    serviceContainer,
                    synchronizer
                }).InvokeResult as BlockEditorLogicBase);
            }

            PLBlockEditorLogic pl  = new PLBlockEditorLogic(EditorMode.Normal);
            IWorkingContext    iwc = block.GetWorkingContext();

            pl.Attach(iwc);
            //pl.Attach(ViewWorkingContext);
            pl.PostAttach();


            EditorPayload ep = new EditorPayload(block, ViewWorkingContext, serviceContainer);

            pl.SetPayload(ep);

            //Reflector.RunInstanceMethodByName(pl, "CreateOnlineManager");


            OnlineManagerBase OnlineManager = pl.OnlineManager;

            return(pl);
        }
        public static BlockEditorLogicBase GetGraphBlockEditorLogic(this ICoreObject block,
                                                                    IWorkingContext ViewWorkingContext        = null,
                                                                    LanguageServiceContainer serviceContainer = null,
                                                                    ISynchronizeInvoke synchronizer           = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            return(TiaStarter.RunInSynchronizer(UsingSynchronizer,
                                                () =>
            {
                GraphBlockEditorLogic pl = new GraphBlockEditorLogic();
                if (ViewWorkingContext == null)
                {
                    IWorkingContext iwc = block.GetWorkingContext();
                    pl.Attach(iwc);
                }
                else
                {
                    pl.Attach(ViewWorkingContext);
                }

                pl.PostAttach();
                try
                {
                    pl.SetPayload(block);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                return pl;
            }) as BlockEditorLogicBase);
        }
        public static BlockEditorControlBase GetGraphView(this ICoreObject block,
                                                          IWorkingContext ViewWorkingContext = null,
                                                          ISynchronizeInvoke synchronizer    = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            if (UsingSynchronizer.InvokeRequired)
            {
                return(UnifiedSynchronizerAccess.Invoke(UsingSynchronizer,
                                                        new GetGraphViewDelegate(GetGraphView), new object[3]
                {
                    block,
                    ViewWorkingContext,
                    synchronizer
                }).InvokeResult as BlockEditorControlBase);
            }

            GraphBlockEditorControl pl  = new GraphBlockEditorControl();
            IWorkingContext         iwc = block.GetWorkingContext();

            pl.Attach(iwc);
            BlockEditorLogicBase logic = block.GetGraphBlockEditorLogic();

            pl.SetDomainLogic(logic);
            pl.SetPayload(block);
            pl.InitializationFinished();
            pl.CreateVisuals();
            return(pl);
        }
Exemplo n.º 9
0
        public static BlockEditorControlBase GetPLView(this ICoreObject block,
                                                       BlockEditorLogicBase logic,
                                                       IWorkingContext ViewWorkingContext        = null,
                                                       LanguageServiceContainer serviceContainer = null,
                                                       ISynchronizeInvoke synchronizer           = null)
        {
            ISynchronizeInvoke UsingSynchronizer;

            if (synchronizer == null)
            {
                UsingSynchronizer = block.GetSynchronizer();
            }
            else
            {
                UsingSynchronizer = synchronizer;
            }
            return(TiaStarter.RunInSynchronizer(UsingSynchronizer,
                                                () =>
            {
                PLBlockEditorControlElement pl = new PLBlockEditorControlElement();
                if (ViewWorkingContext == null)
                {
                    IWorkingContext iwc = block.GetWorkingContext();
                    pl.Attach(iwc);
                }
                else
                {
                    pl.Attach(ViewWorkingContext);
                }
                EditorPayload ep = new EditorPayload(block, ViewWorkingContext, serviceContainer);
                pl.SetPayload(ep);
                pl.SetDomainLogic(logic);
                logic.SetView(pl);
                logic.InitializationFinished();
                return pl;
            }) as BlockEditorControlBase);
        }