|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using DevExpress.XtraEditors;
|
|
|
|
|
using KGIS.Plugin.LayerProperty.Interface;
|
|
|
|
|
using ESRI.ArcGIS.Carto;
|
|
|
|
|
using ESRI.ArcGIS.Display;
|
|
|
|
|
using KGIS.Plugin.LayerProperty.Utils;
|
|
|
|
|
using ESRI.ArcGIS.esriSystem;
|
|
|
|
|
using KGIS.Plugin.LayerProperty.Enum;
|
|
|
|
|
using ESRI.ArcGIS.ADF;
|
|
|
|
|
|
|
|
|
|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls
|
|
|
|
|
{
|
|
|
|
|
public partial class UCAnnotationSymbologyPropertyPage : XtraUserControl, IUCPropertyPageEx, IPropertyPage
|
|
|
|
|
{
|
|
|
|
|
private class SubstitutionSymbol
|
|
|
|
|
{
|
|
|
|
|
public int Index;
|
|
|
|
|
public string SubstituteState = string.Empty;
|
|
|
|
|
public string SymbolName = string.Empty;
|
|
|
|
|
public ISymbol Symbol;
|
|
|
|
|
public bool BeSubstituted;
|
|
|
|
|
}
|
|
|
|
|
private IFDOGraphicsLayer m_FDOGraphicsLayer;
|
|
|
|
|
private IAnnotationLayer m_AnnotationLayer;
|
|
|
|
|
private ISymbolSubstitution m_SymbolSubstitution;
|
|
|
|
|
private Dictionary<int, UCAnnotationSymbologyPropertyPage.SubstitutionSymbol> m_SubstitutionSymbolColl;
|
|
|
|
|
private esriSymbolSubstituteType m_SymbolSubstituteType;
|
|
|
|
|
private IColor m_MassColor;
|
|
|
|
|
private IColor m_InlineColor;
|
|
|
|
|
private bool m_DrawUnplacedAnnotation;
|
|
|
|
|
private bool m_UseUnplacedAnnotationColor;
|
|
|
|
|
private bool m_UseInlineColor;
|
|
|
|
|
private IColor m_UnplacedAnnotationColor;
|
|
|
|
|
private bool isDirty;
|
|
|
|
|
public event System.EventHandler EditorChanged;
|
|
|
|
|
public bool IsPageDirty
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.isDirty;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.isDirty = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public int Priority
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public string Title
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public UCAnnotationSymbologyPropertyPage()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
public void InitUC(object layerProperty)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
this.btnRestoreAll.Enabled = false;
|
|
|
|
|
this.btnRestore.Enabled = false;
|
|
|
|
|
this.m_FDOGraphicsLayer = (layerProperty as IFDOGraphicsLayer);
|
|
|
|
|
this.m_AnnotationLayer = (layerProperty as IAnnotationLayer);
|
|
|
|
|
this.m_SymbolSubstitution = (layerProperty as ISymbolSubstitution);
|
|
|
|
|
if (this.m_AnnotationLayer != null)
|
|
|
|
|
{
|
|
|
|
|
this.chkDrawUnplacedAnnotation.Checked = this.m_AnnotationLayer.DrawUnplacedAnnotation;
|
|
|
|
|
if (this.m_AnnotationLayer.UnplacedAnnotationColor != null)
|
|
|
|
|
{
|
|
|
|
|
this.chkUnplacedAnnotationColor.Checked = true;
|
|
|
|
|
if (!this.m_AnnotationLayer.UnplacedAnnotationColor.NullColor)
|
|
|
|
|
{
|
|
|
|
|
this.clrUnplacedAnnotationColor.Color = ColorTranslator.FromOle(this.m_AnnotationLayer.UnplacedAnnotationColor.RGB);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.clrUnplacedAnnotationColor.Color = Color.Transparent;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.chkUnplacedAnnotationColor.Checked = false;
|
|
|
|
|
this.clrUnplacedAnnotationColor.Color = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (this.m_SymbolSubstitution != null)
|
|
|
|
|
{
|
|
|
|
|
this.ReadSymbolCollection();
|
|
|
|
|
this.SetInlineColor();
|
|
|
|
|
this.SetMassColor();
|
|
|
|
|
switch (this.m_SymbolSubstitution.SubstituteType)
|
|
|
|
|
{
|
|
|
|
|
case esriSymbolSubstituteType.esriSymbolSubstituteNone:
|
|
|
|
|
this.chkSymbolSubstituteNone.Checked = true;
|
|
|
|
|
this.chkIndividualDominant.Checked = true;
|
|
|
|
|
break;
|
|
|
|
|
case esriSymbolSubstituteType.esriSymbolSubstituteColor:
|
|
|
|
|
this.chkSymbolSubstituteColor.Checked = true;
|
|
|
|
|
break;
|
|
|
|
|
case esriSymbolSubstituteType.esriSymbolSubstituteIndividualSubordinate:
|
|
|
|
|
this.chkSymbolSubstituteIndividual.Checked = true;
|
|
|
|
|
this.chkIndividualDominant.Checked = false;
|
|
|
|
|
break;
|
|
|
|
|
case esriSymbolSubstituteType.esriSymbolSubstituteIndividualDominant:
|
|
|
|
|
this.chkSymbolSubstituteIndividual.Checked = true;
|
|
|
|
|
this.chkIndividualDominant.Checked = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
this.m_SymbolSubstituteType = this.m_SymbolSubstitution.SubstituteType;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
//RdbUtil.AddException(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void ReadSymbolCollection()
|
|
|
|
|
{
|
|
|
|
|
this.m_SubstitutionSymbolColl = new Dictionary<int, UCAnnotationSymbologyPropertyPage.SubstitutionSymbol>();
|
|
|
|
|
if (this.m_FDOGraphicsLayer != null)
|
|
|
|
|
{
|
|
|
|
|
IAnnoClass annoClass = (IAnnoClass)(this.m_FDOGraphicsLayer as IFeatureLayer).FeatureClass.Extension;
|
|
|
|
|
ISymbolCollection symbolCollection = annoClass.SymbolCollection;
|
|
|
|
|
if (symbolCollection == null)
|
|
|
|
|
{
|
|
|
|
|
this.lvSymbolView.Items.Clear();
|
|
|
|
|
this.chkSymbolSubstituteIndividual.Checked = false;
|
|
|
|
|
this.chkSymbolSubstituteIndividual.Enabled = false;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.chkSymbolSubstituteIndividual.Enabled = true;
|
|
|
|
|
symbolCollection.Reset();
|
|
|
|
|
for (ISymbolIdentifier2 symbolIdentifier = symbolCollection.Next() as ISymbolIdentifier2; symbolIdentifier != null; symbolIdentifier = (symbolCollection.Next() as ISymbolIdentifier2))
|
|
|
|
|
{
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol substitutionSymbol = new UCAnnotationSymbologyPropertyPage.SubstitutionSymbol();
|
|
|
|
|
substitutionSymbol.Index = symbolIdentifier.ID;
|
|
|
|
|
substitutionSymbol.Symbol = symbolIdentifier.Symbol;
|
|
|
|
|
ISymbol arg_A8_0 = substitutionSymbol.Symbol;
|
|
|
|
|
substitutionSymbol.SubstituteState = "未替换";
|
|
|
|
|
substitutionSymbol.BeSubstituted = false;
|
|
|
|
|
substitutionSymbol.SymbolName = symbolIdentifier.Name;
|
|
|
|
|
this.m_SubstitutionSymbolColl.Add(symbolIdentifier.ID, substitutionSymbol);
|
|
|
|
|
}
|
|
|
|
|
symbolCollection = this.m_SymbolSubstitution.SubstituteSymbolCollection;
|
|
|
|
|
symbolCollection.Reset();
|
|
|
|
|
for (ISymbolIdentifier2 symbolIdentifier = symbolCollection.Next() as ISymbolIdentifier2; symbolIdentifier != null; symbolIdentifier = (symbolCollection.Next() as ISymbolIdentifier2))
|
|
|
|
|
{
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol substitutionSymbol2;
|
|
|
|
|
if (this.m_SubstitutionSymbolColl.TryGetValue(symbolIdentifier.ID, out substitutionSymbol2))
|
|
|
|
|
{
|
|
|
|
|
substitutionSymbol2.SubstituteState = "已替换";
|
|
|
|
|
substitutionSymbol2.BeSubstituted = true;
|
|
|
|
|
substitutionSymbol2.Symbol = symbolIdentifier.Symbol;
|
|
|
|
|
substitutionSymbol2.SymbolName = symbolIdentifier.Name;
|
|
|
|
|
this.btnRestoreAll.Enabled = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.InitView();
|
|
|
|
|
}
|
|
|
|
|
private void InitView()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
this.lvSymbolView.Items.Clear();
|
|
|
|
|
this.lvSymbolView.Columns.Clear();
|
|
|
|
|
this.lvSymbolView.Groups.Clear();
|
|
|
|
|
ImageList imageList = new ImageList();
|
|
|
|
|
int num = 210;
|
|
|
|
|
int num2 = 50;
|
|
|
|
|
imageList.ImageSize = new Size(num, num2);
|
|
|
|
|
this.lvSymbolView.Items.Clear();
|
|
|
|
|
this.lvSymbolView.Columns.Clear();
|
|
|
|
|
this.lvSymbolView.Columns.Add("名称", num, HorizontalAlignment.Left);
|
|
|
|
|
int num3 = 0;
|
|
|
|
|
foreach (KeyValuePair<int, UCAnnotationSymbologyPropertyPage.SubstitutionSymbol> current in this.m_SubstitutionSymbolColl)
|
|
|
|
|
{
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol value = current.Value;
|
|
|
|
|
Bitmap value2 = StyleGalleryItemView.SymbolToBitmap(num, num2, value.Symbol);
|
|
|
|
|
imageList.Images.Add(value2);
|
|
|
|
|
ListViewItem listViewItem = new ListViewItem(new string[]
|
|
|
|
|
{
|
|
|
|
|
value.SymbolName + "-" + value.SubstituteState
|
|
|
|
|
}, num3);
|
|
|
|
|
listViewItem.Tag = value;
|
|
|
|
|
this.lvSymbolView.Items.Add(listViewItem);
|
|
|
|
|
num3++;
|
|
|
|
|
}
|
|
|
|
|
this.lvSymbolView.LargeImageList = imageList;
|
|
|
|
|
if (this.lvSymbolView.Items.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
this.lvSymbolView.Items[0].Focused = true;
|
|
|
|
|
this.lvSymbolView.Items[0].Selected = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
//RdbUtil.AddException(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void SetInlineColor()
|
|
|
|
|
{
|
|
|
|
|
if (this.m_SymbolSubstitution != null)
|
|
|
|
|
{
|
|
|
|
|
if (this.m_SymbolSubstitution.InlineColor != null)
|
|
|
|
|
{
|
|
|
|
|
this.m_InlineColor = this.m_SymbolSubstitution.InlineColor;
|
|
|
|
|
this.chkUseInlineColor.Checked = true;
|
|
|
|
|
if (!this.m_SymbolSubstitution.InlineColor.NullColor)
|
|
|
|
|
{
|
|
|
|
|
this.clrInlineColor.Color = ColorTranslator.FromOle(this.m_SymbolSubstitution.InlineColor.RGB);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.clrInlineColor.Color = Color.Transparent;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.chkUseInlineColor.Checked = false;
|
|
|
|
|
this.clrInlineColor.Color = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void SetMassColor()
|
|
|
|
|
{
|
|
|
|
|
if (this.m_SymbolSubstitution != null)
|
|
|
|
|
{
|
|
|
|
|
if (this.m_SymbolSubstitution.MassColor != null)
|
|
|
|
|
{
|
|
|
|
|
this.m_MassColor = this.m_SymbolSubstitution.MassColor;
|
|
|
|
|
if (!this.m_SymbolSubstitution.MassColor.NullColor)
|
|
|
|
|
{
|
|
|
|
|
this.clrMassColor.Color = ColorTranslator.FromOle(this.m_SymbolSubstitution.MassColor.RGB);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.clrMassColor.Color = Color.Transparent;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.chkUseInlineColor.Checked = false;
|
|
|
|
|
this.clrMassColor.Color = Color.Blue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public void Write2Prop()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
ISymbolCollection substituteSymbolCollection = this.m_SymbolSubstitution.SubstituteSymbolCollection;
|
|
|
|
|
substituteSymbolCollection.RemoveAll();
|
|
|
|
|
foreach (KeyValuePair<int, UCAnnotationSymbologyPropertyPage.SubstitutionSymbol> current in this.m_SubstitutionSymbolColl)
|
|
|
|
|
{
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol value = current.Value;
|
|
|
|
|
if (value.BeSubstituted)
|
|
|
|
|
{
|
|
|
|
|
substituteSymbolCollection.set_Symbol(value.Index, value.Symbol);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.m_SymbolSubstitution.SubstituteType = this.m_SymbolSubstituteType;
|
|
|
|
|
this.m_SymbolSubstitution.MassColor = this.m_MassColor;
|
|
|
|
|
if (this.m_UseInlineColor)
|
|
|
|
|
{
|
|
|
|
|
this.m_SymbolSubstitution.InlineColor = this.m_InlineColor;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.m_SymbolSubstitution.InlineColor = null;
|
|
|
|
|
}
|
|
|
|
|
this.m_AnnotationLayer.DrawUnplacedAnnotation = this.m_DrawUnplacedAnnotation;
|
|
|
|
|
if (this.m_UseUnplacedAnnotationColor)
|
|
|
|
|
{
|
|
|
|
|
this.m_AnnotationLayer.UnplacedAnnotationColor = this.m_UnplacedAnnotationColor;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.m_AnnotationLayer.UnplacedAnnotationColor = null;
|
|
|
|
|
}
|
|
|
|
|
this.isDirty = false;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
//RdbUtil.AddException(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public bool CanWrite2Prop()
|
|
|
|
|
{
|
|
|
|
|
return this.isDirty;
|
|
|
|
|
}
|
|
|
|
|
private void InvokeEditValueChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (this.EditorChanged != null)
|
|
|
|
|
{
|
|
|
|
|
this.EditorChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
this.isDirty = true;
|
|
|
|
|
}
|
|
|
|
|
public void SetDefaultValue(object value)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
public int Activate()
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
public void Deactivate()
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
public void Cancel()
|
|
|
|
|
{
|
|
|
|
|
throw new Exception("The method or operation is not implemented.");
|
|
|
|
|
}
|
|
|
|
|
private void chkDrawUnplacedAnnotation_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.panelControl1.Enabled = this.chkDrawUnplacedAnnotation.Checked;
|
|
|
|
|
this.m_DrawUnplacedAnnotation = this.chkDrawUnplacedAnnotation.Checked;
|
|
|
|
|
}
|
|
|
|
|
private void chkUnplacedAnnotationColor_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.clrUnplacedAnnotationColor.Enabled = this.chkUnplacedAnnotationColor.Checked;
|
|
|
|
|
this.m_UseUnplacedAnnotationColor = this.chkUnplacedAnnotationColor.Checked;
|
|
|
|
|
}
|
|
|
|
|
private void chkSymbolSubstituteColor_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.clrMassColor.Enabled = this.chkSymbolSubstituteColor.Checked;
|
|
|
|
|
if (this.chkSymbolSubstituteColor.Checked)
|
|
|
|
|
{
|
|
|
|
|
this.m_SymbolSubstituteType = esriSymbolSubstituteType.esriSymbolSubstituteColor;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void chkSymbolSubstituteIndividual_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.pnlSymbolset.Enabled = this.chkSymbolSubstituteIndividual.Checked;
|
|
|
|
|
if (this.chkSymbolSubstituteIndividual.Checked)
|
|
|
|
|
{
|
|
|
|
|
if (this.chkIndividualDominant.Checked)
|
|
|
|
|
{
|
|
|
|
|
this.m_SymbolSubstituteType = esriSymbolSubstituteType.esriSymbolSubstituteIndividualDominant;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.m_SymbolSubstituteType = esriSymbolSubstituteType.esriSymbolSubstituteIndividualSubordinate;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void chkUseInlineColor_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.clrInlineColor.Enabled = this.chkUseInlineColor.Checked;
|
|
|
|
|
this.m_UseInlineColor = this.chkUseInlineColor.Checked;
|
|
|
|
|
}
|
|
|
|
|
private void btnSymbolProperty_Click(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
int index = this.lvSymbolView.SelectedItems[0].Index;
|
|
|
|
|
if (this.lvSymbolView.SelectedItems[0].Tag is UCAnnotationSymbologyPropertyPage.SubstitutionSymbol)
|
|
|
|
|
{
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol substitutionSymbol = this.lvSymbolView.SelectedItems[0].Tag as UCAnnotationSymbologyPropertyPage.SubstitutionSymbol;
|
|
|
|
|
ISymbol symbol = substitutionSymbol.Symbol;
|
|
|
|
|
ISymbol symbol2 = (symbol as IClone).Clone() as ISymbol;
|
|
|
|
|
symbol2 = (RenderUtil.OpenStyleSelector(esriStyleClass.TextSymbols, symbol2) as ISymbol);
|
|
|
|
|
if (symbol2 != null)
|
|
|
|
|
{
|
|
|
|
|
substitutionSymbol.Symbol = symbol2;
|
|
|
|
|
substitutionSymbol.SubstituteState = "已替换";
|
|
|
|
|
substitutionSymbol.BeSubstituted = true;
|
|
|
|
|
this.InitView();
|
|
|
|
|
this.lvSymbolView.FocusedItem = this.lvSymbolView.Items[index];
|
|
|
|
|
this.InvokeEditValueChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void lvSymbolView_SelectedIndexChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (this.lvSymbolView.FocusedItem != null && this.lvSymbolView.FocusedItem.Tag is UCAnnotationSymbologyPropertyPage.SubstitutionSymbol)
|
|
|
|
|
{
|
|
|
|
|
this.btnSymbolProperty.Enabled = true;
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol substitutionSymbol = this.lvSymbolView.FocusedItem.Tag as UCAnnotationSymbologyPropertyPage.SubstitutionSymbol;
|
|
|
|
|
this.btnRestore.Enabled = substitutionSymbol.BeSubstituted;
|
|
|
|
|
this.btnRestoreAll.Enabled = substitutionSymbol.BeSubstituted;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void lvSymbolView_DoubleClick(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (this.btnSymbolProperty.Enabled)
|
|
|
|
|
{
|
|
|
|
|
this.btnSymbolProperty_Click(sender, e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void btnRestore_Click(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
int index = this.lvSymbolView.FocusedItem.Index;
|
|
|
|
|
if (this.lvSymbolView.FocusedItem.Tag is UCAnnotationSymbologyPropertyPage.SubstitutionSymbol)
|
|
|
|
|
{
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol substitutionSymbol = this.lvSymbolView.FocusedItem.Tag as UCAnnotationSymbologyPropertyPage.SubstitutionSymbol;
|
|
|
|
|
if (this.m_FDOGraphicsLayer != null)
|
|
|
|
|
{
|
|
|
|
|
IAnnoClass annoClass = (IAnnoClass)(this.m_FDOGraphicsLayer as IFeatureLayer).FeatureClass.Extension;
|
|
|
|
|
ISymbolCollection symbolCollection = annoClass.SymbolCollection;
|
|
|
|
|
symbolCollection.Reset();
|
|
|
|
|
substitutionSymbol.Symbol = symbolCollection.get_Symbol(substitutionSymbol.Index);
|
|
|
|
|
substitutionSymbol.SubstituteState = "未替换";
|
|
|
|
|
substitutionSymbol.BeSubstituted = false;
|
|
|
|
|
this.InvokeEditValueChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
this.InitView();
|
|
|
|
|
this.lvSymbolView.FocusedItem = this.lvSymbolView.Items[index];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void btnRestoreAll_Click(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.ReadSymbolCollection();
|
|
|
|
|
this.InvokeEditValueChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
private void chkSymbolSubstituteNone_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (this.chkSymbolSubstituteNone.Checked)
|
|
|
|
|
{
|
|
|
|
|
this.m_SymbolSubstituteType = esriSymbolSubstituteType.esriSymbolSubstituteNone;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void clrMassColor_EditValueChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
IColor color = Converter.ToRGBColor(this.clrMassColor.Color);
|
|
|
|
|
color.Transparency = this.clrMassColor.Color.A;
|
|
|
|
|
this.m_MassColor = color;
|
|
|
|
|
this.InvokeEditValueChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
private void clrInlineColor_EditValueChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
IColor color = Converter.ToRGBColor(this.clrInlineColor.Color);
|
|
|
|
|
color.Transparency = this.clrInlineColor.Color.A;
|
|
|
|
|
this.m_InlineColor = color;
|
|
|
|
|
this.InvokeEditValueChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
private void clrUnplacedAnnotationColor_EditValueChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
IColor color = Converter.ToRGBColor(this.clrUnplacedAnnotationColor.Color);
|
|
|
|
|
color.Transparency = this.clrUnplacedAnnotationColor.Color.A;
|
|
|
|
|
this.m_UnplacedAnnotationColor = color;
|
|
|
|
|
this.InvokeEditValueChanged(sender, e);
|
|
|
|
|
}
|
|
|
|
|
private void lvSymbolView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.Item != null && e.Item.Tag is UCAnnotationSymbologyPropertyPage.SubstitutionSymbol)
|
|
|
|
|
{
|
|
|
|
|
this.btnSymbolProperty.Enabled = true;
|
|
|
|
|
UCAnnotationSymbologyPropertyPage.SubstitutionSymbol substitutionSymbol = e.Item.Tag as UCAnnotationSymbologyPropertyPage.SubstitutionSymbol;
|
|
|
|
|
this.btnRestore.Enabled = substitutionSymbol.BeSubstituted;
|
|
|
|
|
this.btnRestoreAll.Enabled = substitutionSymbol.BeSubstituted;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private void chkIndividualDominant_CheckedChanged(object sender, System.EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (this.chkIndividualDominant.Checked)
|
|
|
|
|
{
|
|
|
|
|
this.m_SymbolSubstituteType = esriSymbolSubstituteType.esriSymbolSubstituteIndividualDominant;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.m_SymbolSubstituteType = esriSymbolSubstituteType.esriSymbolSubstituteIndividualSubordinate;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|