예제 #1
0
        private GroupRenderStruct ExportGroupRender(MapObjects2.GroupRenderer render)
        {
            GroupRenderStruct oGroupRender = new GroupRenderStruct();
            short             iIndex       = 0;

            oGroupRender.DrawBackground = render.DrawBackground;
            oGroupRender.Tag            = render.Tag;

            object oMapSubRender = render.get_Renderer(iIndex);

            while (oMapSubRender != null)
            {
                if (oMapSubRender is MapObjects2.ValueMapRenderer)
                {
                    ValueRenderStruct oValueRender = this.ExportValueRender(oMapSubRender as MapObjects2.ValueMapRenderer);
                    oGroupRender.RenderList.Add(oValueRender);
                }
                else if (oMapSubRender is MapObjects2.ClassBreaksRenderer)
                {
                    ClassBreakRenderStruct oClassBreakRender = this.ExportClassBreakRender(oMapSubRender as MapObjects2.ClassBreaksRenderer);
                    oGroupRender.RenderList.Add(oClassBreakRender);
                }
                else if (oMapSubRender is MapObjects2.LabelRenderer)
                {
                    LabelRenderStruct oLabelRender = this.ExportLabelRender(oMapSubRender as MapObjects2.LabelRenderer);
                    oGroupRender.RenderList.Add(oLabelRender);
                }

                iIndex++;
                oMapSubRender = render.get_Renderer(iIndex);
            }


            return(oGroupRender);
        }
예제 #2
0
        private void InitGroupRenderLab(MapObjects2.GroupRenderer render)
        {
            if ((render).Count > 0)
            {
                object oClassBreaksRender = this.GetRenderFromGroup(render, RenderType.ClassBreakRender);
                if (oClassBreaksRender != null)
                {
                    this.ckbIsAddClassBreakRender.Checked = true;
                    InitClassBreaksRenderLab(oClassBreaksRender as MapObjects2.ClassBreaksRenderer);
                }

                object oLabelRender = this.GetRenderFromGroup(render, RenderType.LabelRender);
                if (oLabelRender != null)
                {
                    this.ckbIsAddLabelRender.Checked = true;
                    InitLabelRenderLab(oLabelRender as MapObjects2.LabelRenderer);
                }

                object oValueRender = this.GetRenderFromGroup(render, RenderType.ValueRender);
                if (oValueRender != null)
                {
                    this.ckbIsAddUniqueValueRender.Checked = true;
                    InitUniqueValueRenderLab(oValueRender as MapObjects2.ValueMapRenderer);
                }
            }
        }
예제 #3
0
        private object GetRenderFromGroup(MapObjects2.GroupRenderer groupRender, RenderType renderType)
        {
            short iRendererCount = groupRender.Count;

            for (short i = 0; i < iRendererCount; i++)
            {
                if ((groupRender.get_Renderer(i) is MapObjects2.ValueMapRenderer && renderType == RenderType.ValueRender) ||
                    (groupRender.get_Renderer(i) is MapObjects2.ClassBreaksRenderer && renderType == RenderType.ClassBreakRender) ||
                    (groupRender.get_Renderer(i) is MapObjects2.LabelRenderer && renderType == RenderType.LabelRender)
                    )
                {
                    return(groupRender.get_Renderer(i));
                }
            }

            return(null);
        }