Exemple #1
0
 private void method_0(TreeNode treeNode_0,
                       IAnnotateLayerPropertiesCollection2 iannotateLayerPropertiesCollection2_0)
 {
     for (int i = 0; i < iannotateLayerPropertiesCollection2_0.Count; i++)
     {
         IAnnotateLayerProperties properties;
         int num2;
         iannotateLayerPropertiesCollection2_0.QueryItem(i, out properties, out num2);
         TreeNode node = new TreeNode(properties.Class)
         {
             Checked = properties.DisplayAnnotation,
             Tag     =
                 new AnnotateLayerPropertiesWrap((properties as IClone).Clone() as IAnnotateLayerProperties, num2,
                                                 false)
         };
         treeNode_0.Nodes.Add(node);
     }
 }
        private IFeatureClass method_1(string string_2, double double_0, IFields ifields_1,
                                       IFeatureDataset ifeatureDataset_1, IFeatureClass ifeatureClass_1,
                                       IFeatureWorkspaceAnno ifeatureWorkspaceAnno_0, esriUnits esriUnits_0,
                                       IAnnotateLayerPropertiesCollection2 iannotateLayerPropertiesCollection2_0,
                                       ISymbolCollection2 isymbolCollection2_0)
        {
            IObjectClassDescription description    = new AnnotationFeatureClassDescriptionClass();
            IGraphicsLayerScale     referenceScale = new GraphicsLayerScaleClass
            {
                ReferenceScale = double_0,
                Units          = esriUnits_0
            };
            UID instanceCLSID       = description.InstanceCLSID;
            UID classExtensionCLSID = description.ClassExtensionCLSID;

            return(ifeatureWorkspaceAnno_0.CreateAnnotationClass(string_2, ifields_1, instanceCLSID, classExtensionCLSID,
                                                                 "Shape", "", ifeatureDataset_1, ifeatureClass_1, iannotateLayerPropertiesCollection2_0, referenceScale,
                                                                 isymbolCollection2_0, true));
        }
Exemple #3
0
        private void method_1(TreeNode treeNode_0)
        {
            IAnnotateLayerPropertiesCollection2 annoLayerPropertiesColn =
                (treeNode_0.Tag as GeoFeatureLayerWrap).AnnoLayerPropertiesColn as IAnnotateLayerPropertiesCollection2;

            for (int i = 0; i < treeNode_0.Nodes.Count; i++)
            {
                TreeNode node = treeNode_0.Nodes[i];
                IAnnotateLayerProperties annoLayerProperty = (node.Tag as AnnotateLayerPropertiesWrap).AnnoLayerProperty;
                annoLayerProperty.DisplayAnnotation = node.Checked;
                if ((node.Tag as AnnotateLayerPropertiesWrap).IsNew)
                {
                    annoLayerPropertiesColn.Add(annoLayerProperty);
                }
                else
                {
                    annoLayerPropertiesColn.Replace((node.Tag as AnnotateLayerPropertiesWrap).ID, annoLayerProperty);
                }
            }
            (treeNode_0.Tag as GeoFeatureLayerWrap).GeoFeatureLayer.DisplayAnnotation = treeNode_0.Checked;
        }
Exemple #4
0
        public static List <YTEditTemplate> Create(IFeatureLayer ifeatureLayer_0)
        {
            YTEditTemplate        jLKEditTemplate;
            int                   i;
            string                field;
            List <YTEditTemplate> jLKEditTemplates;
            List <YTEditTemplate> jLKEditTemplates1 = new List <YTEditTemplate>();

            if (ifeatureLayer_0 is IGeoFeatureLayer)
            {
                IGeoFeatureLayer ifeatureLayer0 = ifeatureLayer_0 as IGeoFeatureLayer;
                if (ifeatureLayer0.Renderer is ISimpleRenderer)
                {
                    ISimpleRenderer renderer = ifeatureLayer0.Renderer as ISimpleRenderer;
                    jLKEditTemplate = new YTEditTemplate();
                    jLKEditTemplate.Init(ifeatureLayer_0);
                    jLKEditTemplate.Symbol = (renderer.Symbol as IClone).Clone() as ISymbol;
                    jLKEditTemplate.InitBitmap();
                    jLKEditTemplates1.Add(jLKEditTemplate);
                }
                else if (!(ifeatureLayer0.Renderer is IUniqueValueRenderer))
                {
                    jLKEditTemplate = new YTEditTemplate();
                    jLKEditTemplate.Init(ifeatureLayer_0);
                    jLKEditTemplate.InitBitmap();
                    jLKEditTemplates1.Add(jLKEditTemplate);
                }
                else
                {
                    EditTemplateSchems   editTemplateSchem   = new EditTemplateSchems();
                    IUniqueValueRenderer uniqueValueRenderer = ifeatureLayer0.Renderer as IUniqueValueRenderer;
                    for (i = 0; i < uniqueValueRenderer.FieldCount; i++)
                    {
                        field = uniqueValueRenderer.Field[i];
                        editTemplateSchem.AddField(field);
                    }
                    EditTemplateSchem symbol = new EditTemplateSchem();
                    for (int j = 0; j < uniqueValueRenderer.ValueCount; j++)
                    {
                        symbol = new EditTemplateSchem();
                        string value = uniqueValueRenderer.Value[j];
                        jLKEditTemplate = new YTEditTemplate();
                        jLKEditTemplate.Init(ifeatureLayer_0);
                        jLKEditTemplate.Symbol = (uniqueValueRenderer.Symbol[value] as IClone).Clone() as ISymbol;
                        jLKEditTemplate.Name   = uniqueValueRenderer.Heading[value];
                        symbol.Symbol          = jLKEditTemplate.Symbol;
                        symbol.Value           = value;
                        symbol.Label           = uniqueValueRenderer.Label[value];
                        symbol.Description     = uniqueValueRenderer.Description[value];
                        if (uniqueValueRenderer.FieldCount != 1)
                        {
                            string[] strArrays = value.Split(uniqueValueRenderer.FieldDelimiter.ToCharArray());
                            for (i = 0; i < uniqueValueRenderer.FieldCount; i++)
                            {
                                field = uniqueValueRenderer.Field[i];
                                string str = strArrays[i].Trim();
                                if (str.Length > 0)
                                {
                                    jLKEditTemplate.SetFieldValue(field, str);
                                }
                                symbol.Add(field, str);
                            }
                        }
                        else
                        {
                            string field1 = uniqueValueRenderer.Value[0];
                            jLKEditTemplate.SetFieldValue(field1, value);
                            symbol.Add(field1, value);
                        }
                        editTemplateSchem.Add(symbol);
                        jLKEditTemplate.InitBitmap();
                        jLKEditTemplate.EditTemplateSchems = editTemplateSchem;
                        jLKEditTemplates1.Add(jLKEditTemplate);
                    }
                }
            }
            else if (ifeatureLayer_0.FeatureClass.FeatureType == esriFeatureType.esriFTAnnotation)
            {
                IAnnoClass        extension        = ifeatureLayer_0.FeatureClass.Extension as IAnnoClass;
                ISymbolCollection symbolCollection = extension.SymbolCollection;
                IAnnotateLayerPropertiesCollection2 annoProperties =
                    extension.AnnoProperties as IAnnotateLayerPropertiesCollection2;
                symbolCollection.Reset();
                for (ISymbolIdentifier k = symbolCollection.Next(); k != null; k = symbolCollection.Next())
                {
                    jLKEditTemplate = new YTEditTemplate();
                    jLKEditTemplate.Init(ifeatureLayer_0);
                    jLKEditTemplate.Symbol = (k.Symbol as IClone).Clone() as ISymbol;
                    jLKEditTemplate.Name   = annoProperties.Properties[k.ID].Class;
                    jLKEditTemplate.SetFieldValue("SymbolID", k.ID.ToString());
                    jLKEditTemplate.InitBitmap();
                    jLKEditTemplates1.Add(jLKEditTemplate);
                }
            }
            if (jLKEditTemplates1.Count <= 0)
            {
                jLKEditTemplates = null;
            }
            else
            {
                jLKEditTemplates = jLKEditTemplates1;
            }
            return(jLKEditTemplates);
        }
        private void FrmLabelDesign_Load(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer              = (IGeoFeatureLayer)pLayer;
            IAnnotateLayerPropertiesCollection  pAnnColl  = geoFeatureLayer.AnnotationProperties;
            IAnnotateLayerPropertiesCollection2 pAnnColl2 = (IAnnotateLayerPropertiesCollection2)pAnnColl;
            IAnnotateLayerProperties            pAnnProp  = pAnnColl2.get_Properties(0);
            ILabelEngineLayerProperties         pLable    = (ILabelEngineLayerProperties)pAnnProp;
            IBasicOverposterLayerProperties4    pBasic    = (IBasicOverposterLayerProperties4)pLable.BasicOverposterLayerProperties;

            //IPointPlacementPriorities pPlace = pBasic.PointPlacementPriorities;

            chklabel.Checked = pAnnProp.DisplayAnnotation;
            ITable  pTable  = (ITable)pLayer;
            IFields pFields = pTable.Fields;

            for (int i = 0; i < pFields.FieldCount; i++)
            {
                if (pFields.Field[i].Name != "Shape")
                {
                    cmbfields.Items.Add(pFields.Field[i].Name);
                }
            }
            //if (chklabel.Checked)
            //{
            //    cmbfields.Text = pLable.Expression;
            //}
            //else
            //{
            //    cmbfields.SelectedIndex = 0;
            //}
            cmbfields.Text = pLable.Expression;

            InstalledFontCollection pFontCollection = new InstalledFontCollection();

            FontFamily[] pFontFamily = pFontCollection.Families;
            for (int i = 0; i < pFontFamily.Length; i++)
            {
                string pFontName = pFontFamily[i].Name;
                this.cmbfont.Items.Add(pFontName);
            }

            //标注方向
            ILineLabelPosition pLineLabelPosition = pBasic.LineLabelPosition;

            if (pLineLabelPosition != null)
            {
                if (pLineLabelPosition.Horizontal)  //水平
                {
                    radioBtnHorizontal.Checked    = true;
                    radioBtnParallel.Checked      = false;
                    radioBtnPerpendicular.Checked = false;
                }
                if (pLineLabelPosition.Perpendicular)//垂直
                {
                    radioBtnHorizontal.Checked    = false;
                    radioBtnParallel.Checked      = false;
                    radioBtnPerpendicular.Checked = true;
                }
                if (pLineLabelPosition.Parallel)//平行
                {
                    radioBtnHorizontal.Checked    = false;
                    radioBtnParallel.Checked      = true;
                    radioBtnPerpendicular.Checked = false;
                }
            }

            if (pLable.Symbol != null)
            {
                pTextSymbol = pLable.Symbol;
                stdole.IFontDisp pFont = pTextSymbol.Font;
                symbolcolor.SelectedColor = ClsGDBDataCommon.IColorToColor(pTextSymbol.Color);
                //cmbfont.Text = pTextSymbol.Font.Name;
                for (int i = 0; i < cmbfont.Items.Count; i++)
                {
                    if (cmbfont.Items[i].ToString() == pTextSymbol.Font.Name)
                    {
                        cmbfont.SelectedIndex = i;
                    }
                }
                cmbsize.Text = pTextSymbol.Size.ToString();
                if (pFont.Bold == true)
                {
                    toolBtnBold.Checked = true;
                }
                else
                {
                    toolBtnBold.Checked = false;
                }
                if (pFont.Italic == true)
                {
                    toolBtnIntend.Checked = true;
                }
                else
                {
                    toolBtnIntend.Checked = false;
                }
                if (pFont.Underline == true)
                {
                    toolBtnUnderline.Checked = true;
                }
                else
                {
                    toolBtnUnderline.Checked = false;
                }
                if (pFont.Strikethrough == true)
                {
                    toolBtnStrikethrough.Checked = true;
                }
                else
                {
                    toolBtnStrikethrough.Checked = false;
                }
            }
            else
            {
                symbolcolor.SelectedColor = Color.Black;
                cmbfont.SelectedIndex     = cmbfont.Items.Count - 9;
                cmbsize.Text                 = "8";
                toolBtnBold.Checked          = false;
                toolBtnIntend.Checked        = false;
                toolBtnUnderline.Checked     = false;
                toolBtnStrikethrough.Checked = false;
            }
        }