/// <summary> /// creates controland coordinator according to the type /// </summary> /// <param name = "commandType"></param> /// <param name = "mgControl"></param> /// <param name = "containerControl"></param> /// <returns></returns> internal static LogicalControl createControl(CommandType commandType, GuiMgControl guiMgControl, Control containerControl, int mgRow, int mgColumn) { LogicalControl lg = createControl(commandType, guiMgControl, containerControl); lg._mgRow = mgRow; lg._mgColumn = mgColumn; ContainerManager containerManager = GuiUtilsBase.getContainerManager(containerControl); if (containerManager is TableManager) { TableCoordinator tableCoordinator = new TableCoordinator((TableManager)containerManager, lg, mgColumn); lg._coordinator = tableCoordinator; lg._editorProvider = tableCoordinator; } else if (containerManager is BasicControlsManager) { EditorSupportingCoordinator editorSupportingCoordinator = new EditorSupportingCoordinator(lg); lg._coordinator = editorSupportingCoordinator; lg._editorProvider = editorSupportingCoordinator; } else // tree { Debug.Assert(false); } return(lg); }
/// <summary> /// recalculate control's position and refresh it /// </summary> /// <param name="obj"></param> protected override void ReCalculateAndRefresh(Object obj) { base.ReCalculateAndRefresh(obj); EditorSupportingCoordinator staticControl = (EditorSupportingCoordinator)((LogicalControl)obj).Coordinator; if (staticControl.getEditorControl() != null) { StaticControlEditor staticControlEditor = staticControl.getEditor(); if (staticControlEditor != null) { staticControlEditor.Layout(); } } }