示例#1
0
        private void SetFieldByLegendType(LegendType aLT)
        {
            if (_mapLayer.LayerType == LayerTypes.VectorLayer)
            {
                VectorLayer aLayer = (VectorLayer)_mapLayer;
                switch (aLT)
                {
                case LegendType.SingleSymbol:
                    CB_Field.Enabled = false;
                    CB_Field.Text    = "<None>";
                    CreateLegendScheme(aLT, "");
                    break;

                case LegendType.UniqueValue:
                    CB_Field.Enabled = true;
                    CB_Field.Items.Clear();
                    foreach (string fn in aLayer.GetFieldNameList())
                    {
                        CB_Field.Items.Add(fn);
                    }
                    CB_Field.Text = "<None>";
                    break;

                case LegendType.GraduatedColor:
                    CB_Field.Enabled = true;
                    CB_Field.Items.Clear();
                    for (int i = 0; i < aLayer.NumFields; i++)
                    {
                        if (MIMath.IsNumeric(aLayer.GetField(i)))
                        {
                            CB_Field.Items.Add(aLayer.GetFieldName(i));
                        }
                    }
                    CB_Field.Text = "<None>";
                    break;
                }
            }
        }
        private void frmLabelSet_Load(object sender, EventArgs e)
        {
            _isLoading = true;

            //_layer = (VectorLayer)frmMain.G_LayersLegend.GetLayerFromHandle(TheLayerHandle);
            _font        = _layer.LabelSet.LabelFont;
            _color       = _layer.LabelSet.LabelColor;
            _shadowColor = _layer.LabelSet.ShadowColor;

            int i;

            //Set fields
            CB_Field.Items.Clear();
            for (i = 0; i < _layer.NumFields; i++)
            {
                CB_Field.Items.Add(_layer.GetFieldName(i));
            }
            if (CB_Field.Items.Count > 0)
            {
                if (_layer.LabelSet.FieldName != "")
                {
                    CB_Field.Text = _layer.LabelSet.FieldName;
                }
                else
                {
                    CB_Field.SelectedIndex = 0;
                }
            }

            //Set align type
            CB_Align.Items.Clear();
            foreach (string align in Enum.GetNames(typeof(AlignType)))
            {
                CB_Align.Items.Add(align);
            }
            CB_Align.Text = _layer.LabelSet.LabelAlignType.ToString();

            //Set offset
            TB_XOffset.Text = _layer.LabelSet.XOffset.ToString();
            TB_YOffset.Text = _layer.LabelSet.YOffset.ToString();

            //Set avoid collision
            CHB_Collision.Checked = _layer.LabelSet.AvoidCollision;

            //Set draw shadow
            CHB_DrawShadow.Checked = _layer.LabelSet.DrawShadow;

            //Set color by legend
            CHB_ColorByLegend.Checked = _layer.LabelSet.ColorByLegend;

            //Set contour dynamic label
            CHB_ContourDynamic.Checked = _layer.LabelSet.DynamicContourLabel;
            if (_layer.ShapeType == ShapeTypes.Polyline)
            {
                CHB_ContourDynamic.Enabled = true;
            }
            else
            {
                CHB_ContourDynamic.Enabled = false;
            }

            //Set auto decimal digits
            CHB_AutoDecimal.Checked = _layer.LabelSet.AutoDecimal;
            AutoDecimal_CheckedChanged();

            _isLoading = false;
        }
示例#3
0
        private void Initialize()
        {
            PG_General.SelectedObject = _mapLayer.GetPropertyObject();
            TabControl_Prop.TabPages.Clear();
            TabControl_Prop.TabPages.Add(TabPage_General);
            switch (_mapLayer.LayerType)
            {
            case LayerTypes.VectorLayer:
            case LayerTypes.RasterLayer:
                TabControl_Prop.TabPages.Add(TabPage_Legend);
                _legendScheme = (LegendScheme)_mapLayer.LegendScheme.Clone();
                legendSchemeControl1.Update(_mapLayer, _mapLayer.LegendScheme);
                break;

            case LayerTypes.ImageLayer:

                break;
            }

            if (_mapLayer.LayerType == LayerTypes.VectorLayer)
            {
                switch (_mapLayer.ShapeType)
                {
                case ShapeTypes.Point:
                case ShapeTypes.PointZ:
                case ShapeTypes.Polygon:
                    TabControl_Prop.TabPages.Add(TabPage_Chart);
                    VectorLayer aLayer = (VectorLayer)_mapLayer;
                    if (_mapLayer.ShapeType == ShapeTypes.Polygon)
                    {
                        CB_ChartType.Items.Clear();
                        CB_ChartType.Items.Add(ChartTypes.BarChart.ToString());
                        CB_ChartType.Items.Add(ChartTypes.PieChart.ToString());
                    }
                    else
                    {
                        CB_ChartType.Items.Clear();
                        CB_ChartType.Items.Add(ChartTypes.BarChart.ToString());
                        CB_ChartType.Items.Add(ChartTypes.PieChart.ToString());
                        //CB_ChartType.Items.Add(ChartTypes.WindVector.ToString());
                        //CB_ChartType.Items.Add(ChartTypes.WindBarb.ToString());
                        //CB_ChartType.Items.Add(ChartTypes.StationModel.ToString());
                    }
                    CB_ChartType.Text = aLayer.ChartSet.ChartType.ToString();

                    //Add fields
                    CLB_Fields.Items.Clear();
                    for (int i = 0; i < aLayer.NumFields; i++)
                    {
                        if (MIMath.IsNumeric(aLayer.GetField(i)))
                        {
                            string fn = aLayer.GetFieldName(i);
                            CLB_Fields.Items.Add(fn);
                            if (aLayer.ChartSet.FieldNames.Contains(fn))
                            {
                                CLB_Fields.SetItemChecked(CLB_Fields.Items.Count - 1, true);
                            }
                        }
                    }

                    TB_BarWidth.Text      = aLayer.ChartSet.BarWidth.ToString();
                    TB_MaxSize.Text       = aLayer.ChartSet.MaxSize.ToString();
                    TB_MinSize.Text       = aLayer.ChartSet.MinSize.ToString();
                    TB_XShift.Text        = aLayer.ChartSet.XShift.ToString();
                    TB_YShift.Text        = aLayer.ChartSet.YShift.ToString();
                    CHB_Collision.Checked = aLayer.ChartSet.AvoidCollision;
                    //Set align type
                    CB_Align.Items.Clear();
                    foreach (string align in Enum.GetNames(typeof(AlignType)))
                    {
                        CB_Align.Items.Add(align);
                    }
                    CB_Align.Text      = aLayer.ChartSet.AlignType.ToString();
                    CHB_View3D.Checked = aLayer.ChartSet.View3D;
                    TB_Thickness.Text  = aLayer.ChartSet.Thickness.ToString();

                    legendView_Chart.LegendScheme = aLayer.ChartSet.LegendScheme;
                    break;
                }
            }
        }