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.
		
		
		
		
		
			
		
			
				
					
					
						
							190 lines
						
					
					
						
							5.9 KiB
						
					
					
				
			
		
		
	
	
							190 lines
						
					
					
						
							5.9 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; | 
						|
 | 
						|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls | 
						|
{ | 
						|
    public partial class UCLayerEffectPropertyPage : XtraUserControl, IUCPropertyPageEx, IPropertyPage | 
						|
    { | 
						|
        private short m_ContrastValue; | 
						|
        private short m_BrightnessValue; | 
						|
        private short m_Transparency; | 
						|
        private ILayer m_Layer; | 
						|
        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 UCLayerEffectPropertyPage() | 
						|
        { | 
						|
            InitializeComponent(); | 
						|
        } | 
						|
        private void spContrast_EditValueChanged(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                this.m_ContrastValue = Convert.ToInt16(this.spContrast.EditValue); | 
						|
                this.InvokeEditValueChanged(sender, e); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private void spBrightness_EditValueChanged(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                this.m_BrightnessValue = Convert.ToInt16(this.spBrightness.EditValue); | 
						|
                this.InvokeEditValueChanged(sender, e); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private void spTransparency_EditValueChanged(object sender, System.EventArgs e) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                this.m_Transparency = Convert.ToInt16(this.spTransparency.EditValue); | 
						|
                this.InvokeEditValueChanged(sender, e); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        public bool CanWrite2Prop() | 
						|
        { | 
						|
            return true; | 
						|
        } | 
						|
        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 void InitUC(object layerProperty) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                if (layerProperty is ILayer) | 
						|
                { | 
						|
                    this.m_Layer = (layerProperty as ILayer); | 
						|
                } | 
						|
                ILayerEffects layerEffects = layerProperty as ILayerEffects; | 
						|
                this.InitControlEnabled(layerEffects); | 
						|
                if (this.spBrightness.Enabled) | 
						|
                { | 
						|
                    this.spBrightness.EditValue = layerEffects.Brightness; | 
						|
                } | 
						|
                if (this.spContrast.Enabled) | 
						|
                { | 
						|
                    this.spContrast.EditValue = layerEffects.Contrast; | 
						|
                } | 
						|
                if (this.spTransparency.Enabled) | 
						|
                { | 
						|
                    this.spTransparency.EditValue = layerEffects.Transparency; | 
						|
                } | 
						|
                this.m_ContrastValue = Convert.ToInt16(this.spContrast.EditValue); | 
						|
                this.m_BrightnessValue = Convert.ToInt16(this.spBrightness.EditValue); | 
						|
                this.m_Transparency = Convert.ToInt16(this.spTransparency.EditValue); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                //RdbUtil.AddException(ex); | 
						|
            } | 
						|
        } | 
						|
        private void InitControlEnabled(ILayerEffects lyrEffects) | 
						|
        { | 
						|
            if (lyrEffects == null) | 
						|
            { | 
						|
                return; | 
						|
            } | 
						|
            this.spBrightness.Enabled = lyrEffects.SupportsBrightnessChange; | 
						|
            this.spContrast.Enabled = lyrEffects.SupportsContrastChange; | 
						|
            this.spTransparency.Enabled = lyrEffects.SupportsTransparency; | 
						|
        } | 
						|
        public void Write2Prop() | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                ILayerEffects layerEffects = this.m_Layer as ILayerEffects; | 
						|
                if (layerEffects.SupportsBrightnessChange) | 
						|
                { | 
						|
                    layerEffects.Brightness = this.m_BrightnessValue; | 
						|
                } | 
						|
                if (layerEffects.SupportsContrastChange) | 
						|
                { | 
						|
                    layerEffects.Contrast = this.m_ContrastValue; | 
						|
                } | 
						|
                if (layerEffects.SupportsTransparency) | 
						|
                { | 
						|
                    layerEffects.Transparency = this.m_Transparency; | 
						|
                } | 
						|
                this.isDirty = false; | 
						|
            } | 
						|
            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."); | 
						|
        } | 
						|
    } | 
						|
}
 | 
						|
 |