Example #1
0
    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);
    }