private void GetLayerItemLayouts(ILayerItemGroup g, ILayerObjectBase[] objs)
 {
     foreach (ILayerObjectBase obj in objs)
     {
         if (obj is ILayerObject)
         {
             ILayerObject layerObj = obj as ILayerObject;
             ILayerItem   it       = new LayerObjectItem(layerObj);
             g.Items.Add(it);
         }
         else
         {
             ILayerItemGroup group = new LayerItemGroup(obj.Text ?? string.Empty, obj.Text ?? string.Empty);
             g.Items.Add(group);
             GetLayerItemLayouts(group, (obj as ILayerObjecGroup).Children.ToArray());
         }
     }
 }
 private void GetLayerItemLayouts(ILayerItemGroup g, ILayerObjectContainer layerObjContainer)
 {
     ILayerObjectBase[] layers = layerObjContainer.LayerObjects.ToArray();
     foreach (ILayerObjectBase obj in layers)
     {
         if (obj is ILayerObject)
         {
             ILayerObject layerObj = obj as ILayerObject;
             ILayerItem   it       = new LayerObjectItem(layerObj);
             g.Items.Add(it);
         }
         else
         {
             LayerItemGroup group = new LayerItemGroup(obj.Text ?? string.Empty, obj.Text ?? string.Empty);
             IDataFrame     df    = layerObjContainer as IDataFrame;
             if (df != null)
             {
                 IDataFrameDataProvider prd = df.Provider as IDataFrameDataProvider;
                 if (prd != null)
                 {
                     ICanvas canvas = prd.Canvas;
                     if (canvas != null)
                     {
                         GeoDo.RSS.Core.DrawEngine.ILayerContainer lc = canvas.LayerContainer as GeoDo.RSS.Core.DrawEngine.ILayerContainer;
                         if (lc != null)
                         {
                             IVectorHostLayer hostLayer = canvas.LayerContainer.VectorHost;
                             if (hostLayer != null)
                             {
                                 group.Tag = hostLayer.Map;
                             }
                         }
                     }
                 }
             }
             g.Items.Add(group);
             GetLayerItemLayouts(group, (obj as ILayerObjecGroup).Children.ToArray());
         }
     }
 }