コード例 #1
0
        private void btnAddValue_Click(object sender, EventArgs e)
        {
            frmAddValues values = new frmAddValues
            {
                Layer               = this.igeoFeatureLayer_0,
                FieldName           = this.cboFields.Text,
                List                = this.ilist_0 as ArrayList,
                UniqueValueRenderer = this.iuniqueValueRenderer_0,
                GetAllValues        = this.bool_1
            };

            if (values.ShowDialog() == DialogResult.OK)
            {
                ISymbol defaultSymbol = this.iuniqueValueRenderer_0.DefaultSymbol;
                if (defaultSymbol == null)
                {
                    defaultSymbol = this.method_4(this.igeoFeatureLayer_0.FeatureClass.ShapeType);
                }
                ISymbol  symbol   = null;
                object[] objArray = new object[4];
                string   str      = "Marker Symbols";
                if (this.igeoFeatureLayer_0.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline)
                {
                    str = "Line Symbols";
                }
                else if (this.igeoFeatureLayer_0.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
                {
                    str = "Fill Symbols";
                }
                for (int i = 0; i < values.SelectedItems.Count; i++)
                {
                    if (this.cboLookupStyleset.SelectedIndex != -1)
                    {
                        IStyleGalleryItem item = SymbolFind.FindStyleGalleryItem(values.SelectedItems[i].ToString(),
                                                                                 this.m_pSG, this.cboLookupStyleset.Text, str, "");
                        if (item != null)
                        {
                            symbol = item.Item as ISymbol;
                        }
                    }
                    if (symbol == null)
                    {
                        symbol = (defaultSymbol as IClone).Clone() as ISymbol;
                    }
                    objArray[0] = symbol;
                    objArray[1] = values.SelectedItems[i].ToString();
                    objArray[2] = values.SelectedItems[i].ToString();
                    objArray[3] =
                        this.method_3(this.method_1(), (this.cboFields.SelectedItem as FieldWrap).Name,
                                      objArray[1].ToString()).ToString();
                    this.iuniqueValueRenderer_0.AddValue(objArray[1].ToString(), null, symbol);
                    this.listView1.Add(objArray);
                }
            }
            this.bool_1 = values.GetAllValues;
        }
コード例 #2
0
        public IUniqueValueRenderer MakeUniqueValueRenderer()
        {
            IFeatureLayer        data     = (this.cboLayers.SelectedItem as LayerObject).Layer as IFeatureLayer;
            IUniqueValueRenderer renderer = new UniqueValueRendererClass();
            ISymbol symbol = this.method_3(data.FeatureClass.ShapeType);

            if (symbol != null)
            {
                renderer.FieldCount = 1;
                renderer.set_Field(0, this.cboFields.Text);
                renderer.DefaultLabel     = "默认符号";
                renderer.DefaultSymbol    = symbol;
                renderer.UseDefaultSymbol = true;
                try
                {
                    bool   flag;
                    string str = this.method_4(data.FeatureClass.ShapeType);
                    this.icolorRamp_0.Size = this.listView1.Items.Count;
                    this.icolorRamp_0.CreateRamp(out flag);
                    IEnumColors colors = this.icolorRamp_0.Colors;
                    colors.Reset();
                    for (int i = 0; i < this.listView1.Items.Count; i++)
                    {
                        ISymbol           symbol2;
                        ListViewItem      item  = this.listView1.Items[i];
                        IStyleGalleryItem item2 = SymbolFind.FindStyleGalleryItem(item.SubItems[0].Text, this.m_pSG,
                                                                                  this.cboStyleGrally.Text, str, "");
                        if (item2 == null)
                        {
                            IColor color = colors.Next();
                            symbol2 = (symbol as IClone).Clone() as ISymbol;
                            this.method_2(symbol2, color);
                        }
                        else
                        {
                            symbol2 = (item2.Item as IClone).Clone() as ISymbol;
                        }
                        renderer.AddValue(item.SubItems[0].Text, null, symbol2);
                    }
                    (data as IGeoFeatureLayer).Renderer = renderer as IFeatureRenderer;
                    (this.imap_0 as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, data, null);
                    return(renderer);
                }
                catch (Exception exception)
                {
                    Logger.Current.Error("", exception, "");
                }
            }
            return(renderer);
        }
コード例 #3
0
 private void btnAddAllValues_Click(object sender, EventArgs e)
 {
     this.listView1.Items.Clear();
     this.ilist_0.Clear();
     this.iuniqueValueRenderer_0.RemoveAllValues();
     if (this.GetUniqueValues(this.igeoFeatureLayer_0, (this.cboFields.SelectedItem as FieldWrap).Name,
                              this.ilist_0))
     {
         object[] objArray      = new object[4];
         ISymbol  defaultSymbol = this.iuniqueValueRenderer_0.DefaultSymbol;
         if (defaultSymbol == null)
         {
             defaultSymbol = this.method_4(this.igeoFeatureLayer_0.FeatureClass.ShapeType);
         }
         string str = "Marker Symbols";
         if (this.igeoFeatureLayer_0.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline)
         {
             str = "Line Symbols";
         }
         else if (this.igeoFeatureLayer_0.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
         {
             str = "Fill Symbols";
         }
         ISymbol symbol = null;
         int     num    = 0;
         while (true)
         {
             if (num >= this.ilist_0.Count)
             {
                 break;
             }
             try
             {
                 if (this.cboLookupStyleset.SelectedIndex != -1)
                 {
                     IStyleGalleryItem item = SymbolFind.FindStyleGalleryItem(this.ilist_0[num].ToString(),
                                                                              this.m_pSG, this.cboLookupStyleset.Text, str, "");
                     if (item != null)
                     {
                         symbol = item.Item as ISymbol;
                     }
                 }
                 if (symbol == null)
                 {
                     symbol = (defaultSymbol as IClone).Clone() as ISymbol;
                 }
                 objArray[0] = symbol;
                 objArray[1] = this.ilist_0[num].ToString();
                 objArray[2] = this.ilist_0[num].ToString();
                 objArray[3] =
                     this.method_3(this.method_1(), (this.cboFields.SelectedItem as FieldWrap).Name,
                                   objArray[1].ToString()).ToString();
                 this.iuniqueValueRenderer_0.AddValue(objArray[1].ToString(), null, symbol);
                 this.listView1.Add(objArray);
             }
             catch
             {
             }
             num++;
         }
         this.ilist_0.Clear();
     }
 }