You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							602 lines
						
					
					
						
							23 KiB
						
					
					
				
			
		
		
	
	
							602 lines
						
					
					
						
							23 KiB
						
					
					
				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.Geometry; | 
						|
using ESRI.ArcGIS.Display; | 
						|
using System.Collections; | 
						|
using KGIS.Plugin.LayerProperty.Utils; | 
						|
using DevExpress.XtraGrid.Views.Base; | 
						|
using ESRI.ArcGIS.Geodatabase; | 
						|
using DevExpress.XtraGrid.Views.Grid.ViewInfo; | 
						|
using System.Runtime.InteropServices; | 
						|
using KGIS.Framework.Utils.Helper; | 
						|
 | 
						|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls | 
						|
{ | 
						|
    public partial class UCSymbolMatch : XtraUserControl, IUCPropertyPageEx, IPropertyPage | 
						|
    { | 
						|
        private const string CONST_SYMBOL = "F_Symbol"; | 
						|
        private const string CONST_VALUE = "F_Value"; | 
						|
        private const string CONST_LABEL = "F_Label"; | 
						|
        private const string CONST_BITMAP = "F_BITMAP"; | 
						|
        private IFeatureLayer2 m_MatchLayer; | 
						|
        private DataTable m_SymbolTable; | 
						|
        private esriGeometryType GeometryType; | 
						|
        private IStyleGalleryClass m_SymbologyStyleClass; | 
						|
        private IUniqueValueRenderer m_LyrRender; | 
						|
        private ISymbol m_SelectedSymbol; | 
						|
        private DataRow m_SelectedRow; | 
						|
        private IRotationRenderer mRotationrenderer; | 
						|
        private ISymbol m_DefaultSymbol; | 
						|
        private Hashtable m_TempSymbols; | 
						|
        private IFeatureRenderer m_CurFeatureRenderer; | 
						|
        private FormPointRatation frmPointRatation; | 
						|
        private string m_ValueField; | 
						|
        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 UCSymbolMatch() | 
						|
        { | 
						|
            InitializeComponent(); | 
						|
        } | 
						|
        public void InitUC(object layerProperty) | 
						|
        { | 
						|
            if (layerProperty == null) | 
						|
            { | 
						|
                return; | 
						|
            } | 
						|
            this.m_MatchLayer = (layerProperty as IFeatureLayer2); | 
						|
            if (this.m_TempSymbols == null) | 
						|
            { | 
						|
                this.m_TempSymbols = new Hashtable(); | 
						|
            } | 
						|
            else | 
						|
            { | 
						|
                this.m_TempSymbols.Clear(); | 
						|
            } | 
						|
            this.GeometryType = this.m_MatchLayer.ShapeType; | 
						|
            switch (this.GeometryType) | 
						|
            { | 
						|
                case esriGeometryType.esriGeometryPoint: | 
						|
                    this.m_SymbologyStyleClass = new MarkerSymbolStyleGalleryClassClass(); | 
						|
                    break; | 
						|
                case esriGeometryType.esriGeometryPolyline: | 
						|
                    this.m_SymbologyStyleClass = new LineSymbolStyleGalleryClassClass(); | 
						|
                    break; | 
						|
                case esriGeometryType.esriGeometryPolygon: | 
						|
                    this.m_SymbologyStyleClass = new FillSymbolStyleGalleryClassClass(); | 
						|
                    break; | 
						|
            } | 
						|
            this.InitSymbolTable(); | 
						|
            this.BindGrid(); | 
						|
            this.m_CurFeatureRenderer = (layerProperty as IGeoFeatureLayer).Renderer; | 
						|
            this.m_LyrRender = (this.m_CurFeatureRenderer as IUniqueValueRenderer); | 
						|
            if (this.m_LyrRender == null) | 
						|
            { | 
						|
                this.m_LyrRender = new UniqueValueRendererClass(); | 
						|
                this.InitDefaultRender(); | 
						|
                Utils.Util.InitFieldList(ref this.cmbFields, this.m_MatchLayer.FeatureClass.Fields, "", false, false, true, false); | 
						|
            } | 
						|
            else | 
						|
            { | 
						|
                this.m_DefaultSymbol = this.m_LyrRender.DefaultSymbol; | 
						|
                this.m_ValueField = this.m_LyrRender.get_Field(0); | 
						|
                Utils.Util.InitFieldList(ref this.cmbFields, this.m_MatchLayer.FeatureClass.Fields, this.m_ValueField, false, false, true, false); | 
						|
                this.LoadDefaultRender(); | 
						|
            } | 
						|
            this.RefreshDefaultSymbol(); | 
						|
        } | 
						|
        public void Write2Prop() | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                (this.m_MatchLayer as IGeoFeatureLayer).Renderer = this.m_CurFeatureRenderer; | 
						|
                this.isDirty = false; | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        public bool CanWrite2Prop() | 
						|
        { | 
						|
            this.SetMatchSymbol(); | 
						|
            return this.m_CurFeatureRenderer != null && this.isDirty; | 
						|
        } | 
						|
        public void SetDefaultValue(object value) | 
						|
        { | 
						|
            this.m_LyrRender = (value as IUniqueValueRenderer); | 
						|
            this.InitSymbolTable(); | 
						|
            this.BindGrid(); | 
						|
            this.LoadDefaultRender(); | 
						|
            this.InvokeEditValueChanged(this, null); | 
						|
        } | 
						|
        private void InitSymbolTable() | 
						|
        { | 
						|
            this.m_SymbolTable = new DataTable(); | 
						|
            DataColumn dataColumn = new DataColumn(); | 
						|
            dataColumn.DataType = Type.GetType("System.Object"); | 
						|
            dataColumn.ColumnName = "F_BITMAP"; | 
						|
            dataColumn.Caption = "F_BITMAP"; | 
						|
            this.m_SymbolTable.Columns.Add(dataColumn); | 
						|
            dataColumn = new DataColumn(); | 
						|
            dataColumn.DataType = Type.GetType("System.String"); | 
						|
            dataColumn.ColumnName = "F_Value"; | 
						|
            dataColumn.Caption = "F_Value"; | 
						|
            this.m_SymbolTable.Columns.Add(dataColumn); | 
						|
            dataColumn = new DataColumn(); | 
						|
            dataColumn.DataType = Type.GetType("System.String"); | 
						|
            dataColumn.ColumnName = "F_Label"; | 
						|
            dataColumn.Caption = "F_Label"; | 
						|
            this.m_SymbolTable.Columns.Add(dataColumn); | 
						|
            dataColumn = new DataColumn(); | 
						|
            dataColumn.DataType = Type.GetType("System.Object"); | 
						|
            dataColumn.ColumnName = "F_Symbol"; | 
						|
            dataColumn.Caption = "F_Symbol"; | 
						|
            this.m_SymbolTable.Columns.Add(dataColumn); | 
						|
        } | 
						|
        private void BindGrid() | 
						|
        { | 
						|
            this.grdSymbolCtrl.BeginInit(); | 
						|
            this.grdSymbolCtrl.DataSource = this.m_SymbolTable; | 
						|
            this.colSymbol.FieldName = "F_BITMAP"; | 
						|
            this.colName.FieldName = "F_Value"; | 
						|
            this.colLabels.FieldName = "F_Label"; | 
						|
            this.grdSymbolCtrl.EndInit(); | 
						|
        } | 
						|
        private void InitDefaultRender() | 
						|
        { | 
						|
            this.m_DefaultSymbol = RenderUtil.GetDefaultSymbol(this.m_MatchLayer.FeatureClass.ShapeType); | 
						|
        } | 
						|
        private Hashtable GetAllSymbols(string path, string className) | 
						|
        { | 
						|
            IStyleGallery styleGallery = new ServerStyleGalleryClass(); | 
						|
            Hashtable hashtable = new Hashtable(); | 
						|
            IStyleGalleryStorage styleGalleryStorage = styleGallery as IStyleGalleryStorage; | 
						|
            styleGalleryStorage.AddFile(path); | 
						|
            IEnumStyleGalleryItem enumStyleGalleryItem = styleGallery.get_Items(className, path, null); | 
						|
            enumStyleGalleryItem.Reset(); | 
						|
            for (IStyleGalleryItem styleGalleryItem = enumStyleGalleryItem.Next(); styleGalleryItem != null; styleGalleryItem = enumStyleGalleryItem.Next()) | 
						|
            { | 
						|
                object item = styleGalleryItem.Item; | 
						|
                if (item is ISymbol) | 
						|
                { | 
						|
                    ISymbol value = item as ISymbol; | 
						|
                    string name = styleGalleryItem.Name; | 
						|
                    try | 
						|
                    { | 
						|
                        hashtable.Add(name, value); | 
						|
                    } | 
						|
                    catch (Exception) | 
						|
                    { | 
						|
                    } | 
						|
                } | 
						|
            } | 
						|
            return hashtable; | 
						|
        } | 
						|
        private void InitRowData(Bitmap bp, string uValue, string uLabel, ISymbol symbol, ref DataRow pRow) | 
						|
        { | 
						|
            pRow["F_BITMAP"] = bp; | 
						|
            pRow["F_Value"] = uValue; | 
						|
            pRow["F_Label"] = uLabel; | 
						|
            pRow["F_Symbol"] = symbol; | 
						|
        } | 
						|
        private void SetMatchSymbol() | 
						|
        { | 
						|
            string text = ""; | 
						|
            ItemInfo<IField, string> itemInfo = this.cmbFields.SelectedItem as ItemInfo<IField, string>; | 
						|
            if (itemInfo != null) | 
						|
            { | 
						|
                text = itemInfo.InnerValue.Name; | 
						|
            } | 
						|
            this.m_LyrRender.RemoveAllValues(); | 
						|
            this.m_LyrRender.FieldCount = 1; | 
						|
            this.m_LyrRender.set_Field(0, text); | 
						|
            if (this.m_MatchLayer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint && this.mRotationrenderer != null) | 
						|
            { | 
						|
                this.m_LyrRender = (IUniqueValueRenderer)this.mRotationrenderer; | 
						|
            } | 
						|
            if (this.chkUseDefaultSymbol.Checked) | 
						|
            { | 
						|
                this.m_LyrRender.DefaultSymbol = this.m_DefaultSymbol; | 
						|
                this.m_LyrRender.UseDefaultSymbol = this.chkUseDefaultSymbol.Checked; | 
						|
            } | 
						|
            else | 
						|
            { | 
						|
                this.m_LyrRender.DefaultSymbol = null; | 
						|
                this.m_LyrRender.UseDefaultSymbol = false; | 
						|
            } | 
						|
            this.m_LyrRender.LookupStyleset = this.txtStyleFile.Text; | 
						|
            RenderUtil.SetUniqueValuesFromTable(this.m_LyrRender, text, this.m_SymbolTable); | 
						|
            this.m_CurFeatureRenderer = (this.m_LyrRender as IFeatureRenderer); | 
						|
        } | 
						|
        private void LoadDefaultRender() | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                this.m_TempSymbols.Clear(); | 
						|
                string text = this.m_LyrRender.get_Field(0); | 
						|
                this.txtStyleFile.Text = this.m_LyrRender.LookupStyleset; | 
						|
                if (text != null) | 
						|
                { | 
						|
                    Utils.Util.InitFieldList(ref this.cmbFields, this.m_MatchLayer.FeatureClass.Fields, text, false, false, true, false); | 
						|
                } | 
						|
                this.m_DefaultSymbol = this.m_LyrRender.DefaultSymbol; | 
						|
                this.chkUseDefaultSymbol.Checked = this.m_LyrRender.UseDefaultSymbol;//是否使用默认符号库初始化    王欢 2018-12-14 | 
						|
                this.RefreshDefaultSymbol(); | 
						|
                RenderUtil.SetUniqueValuesToTable(this.m_LyrRender, this.m_SymbologyStyleClass, this.m_SymbolTable); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private string GetFileExtent(string path) | 
						|
        { | 
						|
            int num = path.LastIndexOf('.'); | 
						|
            return path.Substring(num + 1, path.Length - num - 1); | 
						|
        } | 
						|
        private void btnSelStyle_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            object obj = RenderUtil.OpenGalleryPathSelector(); | 
						|
            if (obj == null) | 
						|
            { | 
						|
                return; | 
						|
            } | 
						|
            if (obj is string) | 
						|
            { | 
						|
                this.txtStyleFile.Text = obj.ToString(); | 
						|
                return; | 
						|
            } | 
						|
            IDoStyleGalleryPath doStyleGalleryPath = obj as IDoStyleGalleryPath; | 
						|
            if (doStyleGalleryPath != null) | 
						|
            { | 
						|
                this.txtStyleFile.Text = doStyleGalleryPath.Name; | 
						|
                this.txtStyleFile.Tag = doStyleGalleryPath; | 
						|
            } | 
						|
        } | 
						|
        private void btnDefaultSymbol_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                IDoStyleGalleryItem doStyleGalleryItem = RenderUtil.OpenStyleSelector(this.GeometryType); | 
						|
                if (doStyleGalleryItem != null) | 
						|
                { | 
						|
                    this.m_DefaultSymbol = (doStyleGalleryItem.Item.Item as ISymbol); | 
						|
                    this.RefreshDefaultSymbol(); | 
						|
                } | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private void btnMatch_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            this.ControlsEnable(false); | 
						|
            try | 
						|
            { | 
						|
                if (this.m_MatchLayer == null) | 
						|
                { | 
						|
                    return; | 
						|
                } | 
						|
                if (this.m_ValueField == "") | 
						|
                { | 
						|
                    return; | 
						|
                } | 
						|
                if (this.txtStyleFile.Text.Trim().Length == 0) | 
						|
                { | 
						|
                    MessageHelper.ShowTips("请选择符号库!"); | 
						|
                    this.ControlsEnable(true); | 
						|
                    return; | 
						|
                } | 
						|
                this.m_SymbolTable.Rows.Clear(); | 
						|
                string text = this.txtStyleFile.Text; | 
						|
                DataRow row = null; | 
						|
                string text2 = null; | 
						|
                bool flag = true; | 
						|
                bool flag2 = false; | 
						|
                IDisplayTable displayTable = (IDisplayTable)this.m_MatchLayer; | 
						|
                ICursor cursor = displayTable.DisplayTable.Search(null, false); | 
						|
                IDataStatistics dataStatistics = new DataStatisticsClass(); | 
						|
                dataStatistics.Cursor = cursor; | 
						|
                dataStatistics.Field = this.m_ValueField; | 
						|
                dataStatistics.SampleRate = -1; | 
						|
                if (dataStatistics.UniqueValueCount >= 500 && !flag2) | 
						|
                { | 
						|
                    if (MessageHelper.ShowYesNoAndTips("找到的唯一值个数大于500个,是否继续生成唯一值的完整列表?这会消耗较长时间。") == DialogResult.No) | 
						|
                    { | 
						|
                        flag = false; | 
						|
                    } | 
						|
                    flag2 = true; | 
						|
                } | 
						|
                IEnumerator uniqueValues = dataStatistics.UniqueValues; | 
						|
                uniqueValues.Reset(); | 
						|
                string className = RenderUtil.GetClassName(this.m_MatchLayer); | 
						|
                if (this.txtStyleFile.Tag is IDoStyleGalleryPath) | 
						|
                { | 
						|
                    IDoStyleGalleryPath path = this.txtStyleFile.Tag as IDoStyleGalleryPath; | 
						|
                    this.m_TempSymbols = RenderUtil.GetAllSymbols(path, className); | 
						|
                } | 
						|
                else | 
						|
                { | 
						|
                    this.m_TempSymbols = RenderUtil.GetAllSymbols(text, className); | 
						|
                } | 
						|
                int num = 0; | 
						|
                while (uniqueValues.MoveNext()) | 
						|
                { | 
						|
                    row = this.m_SymbolTable.NewRow(); | 
						|
                    try | 
						|
                    { | 
						|
                        text2 = Convert.ToString(uniqueValues.Current); | 
						|
                    } | 
						|
                    catch (Exception) | 
						|
                    { | 
						|
                    } | 
						|
                    ISymbol symbol = this.m_TempSymbols[text2] as ISymbol; | 
						|
                    if (this.chkMatched.Checked) | 
						|
                    { | 
						|
                        if (symbol != null) | 
						|
                        { | 
						|
                            //只显示匹配项   王欢 2018-12-14 | 
						|
                            //LoadDefaultRender(); | 
						|
 | 
						|
                            ///默认游标本身就是只有已匹配到的符号 不需要单独处理 | 
						|
                            Bitmap symbolBitMap = RenderUtil.GetSymbolBitMap(40, 20, this.m_SymbologyStyleClass, symbol); | 
						|
                            this.InitRowData(symbolBitMap, text2, text2, symbol, ref row); | 
						|
                            this.m_SymbolTable.Rows.Add(row); | 
						|
                            if (dataStatistics.UniqueValueCount >= 500 && !flag2) | 
						|
                            { | 
						|
                                if (MessageHelper.ShowYesNoAndTips("找到的唯一值个数大于500个,是否继续生成唯一值的完整列表?这会消耗较长时间。") == DialogResult.No) | 
						|
                                { | 
						|
                                    flag = false; | 
						|
                                } | 
						|
                                flag2 = true; | 
						|
                            } | 
						|
                        } | 
						|
                    } | 
						|
                    else | 
						|
                    { | 
						|
                        if (symbol == null) | 
						|
                        { | 
						|
                            symbol = this.m_DefaultSymbol; | 
						|
                            this.m_TempSymbols.Add(text2, symbol); | 
						|
                        } | 
						|
                        Bitmap symbolBitMap = RenderUtil.GetSymbolBitMap(40, 20, this.m_SymbologyStyleClass, symbol); | 
						|
                        this.InitRowData(symbolBitMap, text2, text2, symbol, ref row); | 
						|
                        this.m_SymbolTable.Rows.Add(row); | 
						|
                        if (dataStatistics.UniqueValueCount >= 500 && !flag2) | 
						|
                        { | 
						|
                            if (MessageHelper.ShowYesNoAndTips("找到的唯一值个数大于500个,是否继续生成唯一值的完整列表?这会消耗较长时间。") == DialogResult.No) | 
						|
                            { | 
						|
                                flag = false; | 
						|
                            } | 
						|
                            flag2 = true; | 
						|
                        } | 
						|
                    } | 
						|
                    num++; | 
						|
                    if (!flag && num >= 500) | 
						|
                    { | 
						|
                        break; | 
						|
                    } | 
						|
                } | 
						|
                this.InvokeEditValueChanged(sender, e); | 
						|
                Marshal.ReleaseComObject(cursor); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
            this.ControlsEnable(true); | 
						|
        } | 
						|
        private void ControlsEnable(bool enable) | 
						|
        { | 
						|
            base.Enabled = enable; | 
						|
        } | 
						|
        private void grdSymbolView_MouseDown(object sender, MouseEventArgs e) | 
						|
        { | 
						|
            //this.m_TempSymbols如果为空 this.m_TempSymbols.count报错  王欢  2018-13-13 | 
						|
            //if (this.m_TempSymbols.Count == 0) | 
						|
            //{ | 
						|
            //	return; | 
						|
            //} | 
						|
            if (this.m_TempSymbols != null) | 
						|
            { | 
						|
                GridHitInfo gridHitInfo = this.grdSymbolView.CalcHitInfo(new System.Drawing.Point(e.X, e.Y)); | 
						|
                if (gridHitInfo.HitTest == GridHitTest.RowCell) | 
						|
                { | 
						|
                    this.m_SelectedRow = this.grdSymbolView.GetDataRow(gridHitInfo.RowHandle); | 
						|
                    this.m_SelectedSymbol = (this.m_SelectedRow["F_Symbol"] as ISymbol); | 
						|
                } | 
						|
            } | 
						|
        } | 
						|
        private void grdSymbolView_DoubleClick(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                if (this.m_SelectedSymbol != null) | 
						|
                { | 
						|
                    if (this.m_MatchLayer != null) | 
						|
                    { | 
						|
                        ISymbol symbol = this.m_SelectedSymbol; | 
						|
                        symbol = (RenderUtil.OpenStyleSelector(this.GeometryType, symbol) as ISymbol); | 
						|
                        if (symbol != null) | 
						|
                        { | 
						|
                            this.m_SelectedRow["F_BITMAP"] = RenderUtil.GetSymbolBitMap(40, 20, this.m_SymbologyStyleClass, symbol); | 
						|
                            this.m_SelectedRow["F_Symbol"] = symbol; | 
						|
                            this.m_SymbolTable.AcceptChanges(); | 
						|
                            this.InvokeEditValueChanged(sender, e); | 
						|
                        } | 
						|
                    } | 
						|
                } | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private void btnDelAll_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            this.m_SymbolTable.Rows.Clear(); | 
						|
            this.m_SymbolTable.AcceptChanges(); | 
						|
            this.InvokeEditValueChanged(sender, e); | 
						|
        } | 
						|
        private void btnDelOne_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            if (this.m_SelectedRow == null) | 
						|
            { | 
						|
                return; | 
						|
            } | 
						|
            try | 
						|
            { | 
						|
                this.m_SymbolTable.Rows.Remove(this.m_SelectedRow); | 
						|
                this.InvokeEditValueChanged(sender, e); | 
						|
            } | 
						|
            catch (Exception) | 
						|
            { | 
						|
            } | 
						|
        } | 
						|
        private void cboFieldNames_SelectedIndexChanged(object sender, System.EventArgs e) | 
						|
        { | 
						|
            ItemInfo<IField, string> itemInfo = this.cmbFields.SelectedItem as ItemInfo<IField, string>; | 
						|
            if (itemInfo != null) | 
						|
            { | 
						|
                this.m_ValueField = itemInfo.InnerValue.Name; | 
						|
            } | 
						|
            this.m_SymbolTable.Rows.Clear(); | 
						|
            this.m_SymbolTable.AcceptChanges(); | 
						|
        } | 
						|
        private void RefreshDefaultSymbol() | 
						|
        { | 
						|
            this.picDefaultSymbol.Image = RenderUtil.GetSymbolBitMap(this.picDefaultSymbol.Width - 1, this.picDefaultSymbol.Height - 1, this.m_SymbologyStyleClass, this.m_DefaultSymbol); | 
						|
        } | 
						|
        private void InvokeEditValueChanged(object sender, System.EventArgs e) | 
						|
        { | 
						|
            if (this.EditorChanged != null) | 
						|
            { | 
						|
                this.EditorChanged(sender, e); | 
						|
            } | 
						|
            this.isDirty = true; | 
						|
        } | 
						|
        private void grdSymbolView_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                this.m_SelectedRow = this.grdSymbolView.GetDataRow(e.FocusedRowHandle); | 
						|
                if (this.m_SelectedRow != null) | 
						|
                { | 
						|
                    this.btnDelOne.Enabled = true; | 
						|
                } | 
						|
                else | 
						|
                { | 
						|
                    this.btnDelOne.Enabled = false; | 
						|
                } | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private void picDefaultSymbol_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                this.Cursor = Cursors.WaitCursor; | 
						|
                this.m_DefaultSymbol = (RenderUtil.OpenStyleSelector(this.GeometryType, this.m_DefaultSymbol) as ISymbol); | 
						|
                if (this.m_DefaultSymbol == null) | 
						|
                { | 
						|
                    this.Cursor = Cursors.Default; | 
						|
                    return; | 
						|
                } | 
						|
                this.RefreshDefaultSymbol(); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
            this.Cursor = Cursors.Default; | 
						|
        } | 
						|
        private void btnRotateSet_Click(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                IGeoFeatureLayer geoFeatureLayer = this.m_MatchLayer as IGeoFeatureLayer; | 
						|
                IFeatureRenderer renderer = geoFeatureLayer.Renderer; | 
						|
                if (this.frmPointRatation == null) | 
						|
                { | 
						|
                    this.frmPointRatation = new FormPointRatation(); | 
						|
                } | 
						|
                if (this.frmPointRatation.Init(this.m_MatchLayer, renderer)) | 
						|
                { | 
						|
                    if (this.frmPointRatation.ShowDialog() == DialogResult.OK) | 
						|
                    { | 
						|
                        this.mRotationrenderer = this.frmPointRatation.RotationRenderer; | 
						|
                    } | 
						|
                    this.InvokeEditValueChanged(sender, e); | 
						|
                    this.btnRotateSet.Focus(); | 
						|
                } | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        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 grdSymbolView_RowCountChanged(object sender, System.EventArgs e) | 
						|
        { | 
						|
            this.btnDelAll.Enabled = Convert.ToBoolean(this.grdSymbolView.RowCount); | 
						|
        } | 
						|
    } | 
						|
}
 | 
						|
 |