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