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); }
private void OpenLadder() { this.gbec = Program.app.GetBlockEditor(pl); pLBlockEditorControlElementProxy = new PLBlockEditorControlElementProxy(this.gbec); OnlineManagerBase plOnlineManager = pLBlockEditorControlElementProxy.PLBlockEditorLogic.OnlineManager; plOnlineManager.GoOnline(); plOnlineManager.StartProgramStatus(); Controls.Add(this.gbec); this.gbec.DisablePLBlockInput(); }
private void TestGetLadderEditor() { this.gbec = Program.app.GetBlockEditor(graph); GraphBlockEditorControlProxy pLBlockEditorControlElementProxy = new GraphBlockEditorControlProxy(this.gbec); OnlineManagerBase plOnlineManager = pLBlockEditorControlElementProxy.GraphBlockEditorLogic.OnlineManager; plOnlineManager.GoOnline(); plOnlineManager.StartProgramStatus(); List <IUIControl> children = pLBlockEditorControlElementProxy.GetChildUIControls(); Controls.Add(this.gbec); }
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); }
private void OpenGraph() { this.gbec = Program.app.GetBlockEditor(graph); GraphBlockEditorControlProxy pLBlockEditorControlElementProxy = new GraphBlockEditorControlProxy(this.gbec); //pLBlockEditorControlElementProxy.BasicDrawSettings.StepBackground = Brushes.DarkBlue; //Font stepNameFont = new Font("Consolas", pLBlockEditorControlElementProxy.BasicDrawSettings.StepNameFont.Size); //pLBlockEditorControlElementProxy.BasicDrawSettings.StepNameFont = stepNameFont; OnlineManagerBase plOnlineManager = pLBlockEditorControlElementProxy.GraphBlockEditorLogic.OnlineManager; plOnlineManager.GoOnline(); plOnlineManager.StartProgramStatus(); List <IUIControl> children = pLBlockEditorControlElementProxy.GetChildUIControls(); Controls.Add(this.gbec); var cs = this.gbec.Controls; this.gbec.DisableGraphBlockInput(); }