public void AssignCtrlID(EditorRoot root, EditorControl rootCtrl) { if ( (null == root) || (null == rootCtrl) ) { return; } do { root.CtrlCounter++; rootCtrl.CtrlID = root.editorName + "_" + rootCtrl.GetType() + "_" + (root.CtrlCounter).ToString(); EditorCtrlComposite rootCtrlComp = rootCtrl as EditorCtrlComposite; if (null == rootCtrlComp) { break; } foreach (var item in rootCtrlComp.children) { AssignCtrlID(root, item); } } while (false); }
private List <SplitInfo> GetDivisionInfo(EditorControl rootCtrl) { List <SplitInfo> splitInfoTbl = new List <SplitInfo>(); if (null == rootCtrl) { return(splitInfoTbl); } EditorCtrlComposite rootComp = rootCtrl as EditorCtrlComposite; if (null == rootComp) { return(splitInfoTbl); } if (rootCtrl is SpliterCtrl) { SplitInfo newInfo = new SplitInfo(); newInfo.SpliterID = rootCtrl.CtrlID; newInfo.SpliterPath = rootCtrl.GetCtrlIDPath(); newInfo.SplitOffset = rootCtrl.layoutConstraint.spliterOffset; newInfo.SpliterOffsetInv = rootCtrl.layoutConstraint.spliterOffsetInv; splitInfoTbl.Add(newInfo); } foreach (var item in rootComp.children) { splitInfoTbl.AddRange(GetDivisionInfo(item)); } return(splitInfoTbl); }
public List <EditorControl> GetSpliterCtrl(EditorControl ctrl) { List <EditorControl> spliterTbl = new List <EditorControl>(); if (ctrl is SpliterCtrl) { spliterTbl.Add(ctrl); } EditorCtrlComposite rootCtrlComp = ctrl as EditorCtrlComposite; if (null == rootCtrlComp) { return(spliterTbl); } foreach (var item in rootCtrlComp.children) { spliterTbl.AddRange(GetSpliterCtrl(item)); } return(spliterTbl); }