Exemplo n.º 1
0
        public void InitRendererObject(List <FieldInfo> pFields, IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass)
        {
            flag = true;
            m_SymbologyStyleClass = _SymbologyStyleClass;

            cmbField.Items.AddRange(pFields.ToArray());

            IClassBreaksRenderer     pBreakRenderer = pRenderer as IClassBreaksRenderer;
            IClassBreaksUIProperties pUIProp        = pBreakRenderer as IClassBreaksUIProperties;

            if (pUIProp.ColorRamp != "")
            {
                cmbColorRamp.Text = pUIProp.ColorRamp;
            }

            cmbField.Text       = pBreakRenderer.Field;
            levelInput.Value    = pBreakRenderer.BreakCount;
            minValueInput.Value = 0;
            maxValueInput.Value = 100;
            double minBreak = pBreakRenderer.MinimumBreak;

            minBreak = Math.Round(minBreak, 4);
            for (int i = 0; i < pBreakRenderer.BreakCount; i++)
            {
                ISymbol pSymbol    = pBreakRenderer.get_Symbol(i);
                string  label      = pBreakRenderer.get_Label(i);
                double  breakValue = pBreakRenderer.get_Break(i);
                breakValue = Math.Round(breakValue, 4);
                double lastBreak = 0;
                if (i == 0)
                {
                    lastBreak           = minBreak;
                    minValueInput.Value = lastBreak;
                }
                else
                {
                    lastBreak = pBreakRenderer.get_Break(i - 1);
                    lastBreak = Math.Round(lastBreak, 4);
                }

                if (i == pBreakRenderer.BreakCount - 1)
                {
                    maxValueInput.Value = breakValue;
                }
                listValueItem.SmallImageList.Images.Add("Symbol" + i.ToString(), ModuleCommon.Symbol2Picture(pSymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight));//yjl20110826 add
                System.Windows.Forms.ListViewItem item = new System.Windows.Forms.ListViewItem();
                item.Name     = "Item" + i.ToString();
                item.Text     = "";
                item.ImageKey = "Symbol" + i.ToString();
                item.Tag      = pSymbol;

                System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new System.Windows.Forms.ListViewItem.ListViewSubItem();
                subItem.Name = "Range" + i.ToString();
                subItem.Text = (lastBreak == 0 ? "0" : lastBreak.ToString()) + "-" + (breakValue == 0 ? "0" : breakValue.ToString());
                subItem.Tag  = subItem.Text;
                item.SubItems.Add(subItem);

                System.Windows.Forms.ListViewItem.ListViewSubItem subItem1 = new System.Windows.Forms.ListViewItem.ListViewSubItem();
                subItem1.Name = "Label" + i.ToString();
                subItem1.Text = label;
                item.SubItems.Add(subItem1);

                listValueItem.Items.Add(item);
            }

            if (pBreakRenderer.BreakCount == 0)
            {
                levelInput.Value     = 5;
                labelPreviewFore.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass);
            }
            else
            {
                labelPreviewFore.Tag = pBreakRenderer.get_Symbol(0);
            }
            labelPreviewFore.Image = ModuleCommon.Symbol2Picture(labelPreviewFore.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight);
            flag = false;
        }
Exemplo n.º 2
0
        public void InitRendererObject(List <FieldInfo> pFields, IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass)
        {
            flag = true;
            m_SymbologyStyleClass = _SymbologyStyleClass;

            cmbField.Items.AddRange(pFields.ToArray());

            IClassBreaksRenderer pBreakRenderer = pRenderer as IClassBreaksRenderer;

            cmbField.Text       = pBreakRenderer.Field;
            levelInput.Value    = pBreakRenderer.BreakCount;
            minSizeInput.Value  = 1;
            maxSizeInput.Value  = 10;
            minValueInput.Value = 0;
            maxValueInput.Value = 100;
            double minBreak = pBreakRenderer.MinimumBreak;

            minBreak = Math.Round(minBreak, 4);
            for (int i = 0; i < pBreakRenderer.BreakCount; i++)
            {
                ISymbol pSymbol    = pBreakRenderer.get_Symbol(i);
                string  label      = pBreakRenderer.get_Label(i);
                double  breakValue = pBreakRenderer.get_Break(i);
                breakValue = Math.Round(breakValue, 4);
                double lastBreak = 0;
                if (i == 0)
                {
                    lastBreak = minBreak;

                    double size = ModuleCommon.GetSymbolSize(pSymbol);
                    minSizeInput.Value = size;

                    minValueInput.Value = lastBreak;
                }
                else
                {
                    lastBreak = pBreakRenderer.get_Break(i - 1);
                    lastBreak = Math.Round(lastBreak, 4);
                }

                if (i == pBreakRenderer.BreakCount - 1)
                {
                    double size = ModuleCommon.GetSymbolSize(pSymbol);
                    maxSizeInput.Value = size;

                    maxValueInput.Value = breakValue;
                }

                listValueItem.SmallImageList.Images.Add("Symbol" + i.ToString(), ModuleCommon.Symbol2Picture(pSymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight));//yjl20110826 add
                System.Windows.Forms.ListViewItem item = new System.Windows.Forms.ListViewItem();
                item.Name     = "Item" + i.ToString();
                item.Text     = "";
                item.ImageKey = "Symbol" + i.ToString();
                item.Tag      = pSymbol;

                System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new System.Windows.Forms.ListViewItem.ListViewSubItem();
                subItem.Name = "Range" + i.ToString();
                subItem.Text = (lastBreak == 0 ? "0" : lastBreak.ToString()) + "-" + (breakValue == 0 ? "0" : breakValue.ToString());
                subItem.Tag  = subItem.Text;
                item.SubItems.Add(subItem);

                System.Windows.Forms.ListViewItem.ListViewSubItem subItem1 = new System.Windows.Forms.ListViewItem.ListViewSubItem();
                subItem1.Name = "Label" + i.ToString();
                subItem1.Text = label;
                item.SubItems.Add(subItem1);

                listValueItem.Items.Add(item);
            }
            flag = false;
            if (pBreakRenderer.BreakCount == 0)
            {
                levelInput.Value = 5;

                switch (m_SymbologyStyleClass)
                {
                case esriSymbologyStyleClass.esriStyleClassMarkerSymbols:
                case esriSymbologyStyleClass.esriStyleClassLineSymbols:
                    labelPreviewFore.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass);
                    break;

                case esriSymbologyStyleClass.esriStyleClassFillSymbols:
                    labelPreviewFore.Tag = ModuleCommon.CreateSymbol(esriSymbologyStyleClass.esriStyleClassMarkerSymbols);
                    break;
                }
            }
            else
            {
                labelPreviewFore.Tag = pBreakRenderer.get_Symbol(0);
            }
            labelPreviewFore.Image = ModuleCommon.Symbol2Picture(labelPreviewFore.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight);

            if (m_SymbologyStyleClass == esriSymbologyStyleClass.esriStyleClassFillSymbols)
            {
                if (pBreakRenderer.BackgroundSymbol == null)
                {
                    labelPreviewBack.Tag = ModuleCommon.CreateSymbol(esriSymbologyStyleClass.esriStyleClassFillSymbols);
                }
                else
                {
                    labelPreviewBack.Tag = pBreakRenderer.BackgroundSymbol as ISymbol;
                }
                labelPreviewBack.Visible = true;
                labelBackCaption.Visible = true;
                labelPreviewBack.Image   = ModuleCommon.Symbol2Picture(labelPreviewBack.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight);
            }
            else
            {
                labelPreviewBack.Tag     = null;
                labelPreviewBack.Visible = false;
                labelBackCaption.Visible = false;
            }
        }