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)); }
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; }
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; } }