FindDockGroupItem() private method

private FindDockGroupItem ( string id ) : MonoDevelop.Components.Docking.DockGroupItem
id string
return MonoDevelop.Components.Docking.DockGroupItem
Example #1
0
        internal bool InRegion(string location, DockGroup objToFindParent, int objToFindIndex, bool insertingPosition)
        {
            // Checks if the object is in the specified region.
            // A region is a collection with the format: "ItemId1/Position1;ItemId2/Position2..."
            string[] positions = location.Split(';');
            foreach (string pos in positions)
            {
                // We individually check each entry in the region specification
                int i = pos.IndexOf('/');
                if (i == -1)
                {
                    continue;
                }
                string    id = pos.Substring(0, i).Trim();
                DockGroup g  = container.Layout.FindGroupContaining(id);
                if (g != null)
                {
                    DockPosition dpos;
                    try {
                        dpos = (DockPosition)Enum.Parse(typeof(DockPosition), pos.Substring(i + 1).Trim(), true);
                    }
                    catch {
                        continue;
                    }

                    var refItem = g.FindDockGroupItem(id);
                    if (InRegion(g, dpos, refItem, objToFindParent, objToFindIndex, insertingPosition))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
 internal DockGroupItem FindDockGroupItem(string id)
 {
     foreach (DockObject ob in dockObjects)
     {
         DockGroupItem it = ob as DockGroupItem;
         if (it != null && it.Id == id)
         {
             return(it);
         }
         DockGroup g = ob as DockGroup;
         if (g != null)
         {
             it = g.FindDockGroupItem(id);
             if (it != null)
             {
                 return(it);
             }
         }
     }
     return(null);
 }