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.
401 lines
14 KiB
401 lines
14 KiB
6 months ago
|
using System;
|
||
|
using System.ComponentModel;
|
||
|
using System.Drawing;
|
||
|
using System.Windows.Forms;
|
||
|
using DevExpress.XtraEditors;
|
||
|
using DevExpress.XtraEditors.Controls;
|
||
|
using DevExpress.XtraEditors.Repository;
|
||
|
using ESRI.ArcGIS.Carto;
|
||
|
using KGIS.Plugin.LayerProperty.Interface;
|
||
|
|
||
|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls
|
||
|
{
|
||
|
internal class UCRasterLayerDispPropertyPage : XtraUserControl, IUCPropertyPageEx, IPropertyPage
|
||
|
{
|
||
|
private IContainer components;
|
||
|
private GroupControl groupControl1;
|
||
|
private TrackBarControl trackDisplayResolutionFactor;
|
||
|
private CheckEdit chkShowMapTips;
|
||
|
private SpinEdit spTransparency;
|
||
|
private SpinEdit spBrightness;
|
||
|
private LabelControl labelControl2;
|
||
|
private SpinEdit spContrast;
|
||
|
private LabelControl labelControl1;
|
||
|
private LabelControl labelControl10;
|
||
|
private LabelControl labelControl9;
|
||
|
private GroupControl groupControl2;
|
||
|
private LabelControl labelControl5;
|
||
|
private LabelControl labelControl4;
|
||
|
private LabelControl labelControl3;
|
||
|
private bool m_ShowTips;
|
||
|
private short m_ContrastValue;
|
||
|
private short m_BrightnessValue;
|
||
|
private short m_Transparency;
|
||
|
private int m_DisplayResolutionFactor;
|
||
|
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;
|
||
|
set;
|
||
|
}
|
||
|
public string Title
|
||
|
{
|
||
|
get;
|
||
|
set;
|
||
|
}
|
||
|
protected override void Dispose(bool disposing)
|
||
|
{
|
||
|
if (disposing && this.components != null)
|
||
|
{
|
||
|
this.components.Dispose();
|
||
|
}
|
||
|
base.Dispose(disposing);
|
||
|
}
|
||
|
private void InitializeComponent()
|
||
|
{
|
||
|
this.groupControl1 = new GroupControl();
|
||
|
this.chkShowMapTips = new CheckEdit();
|
||
|
this.spTransparency = new SpinEdit();
|
||
|
this.spBrightness = new SpinEdit();
|
||
|
this.labelControl2 = new LabelControl();
|
||
|
this.spContrast = new SpinEdit();
|
||
|
this.labelControl1 = new LabelControl();
|
||
|
this.labelControl10 = new LabelControl();
|
||
|
this.labelControl9 = new LabelControl();
|
||
|
this.trackDisplayResolutionFactor = new TrackBarControl();
|
||
|
this.groupControl2 = new GroupControl();
|
||
|
this.labelControl5 = new LabelControl();
|
||
|
this.labelControl4 = new LabelControl();
|
||
|
this.labelControl3 = new LabelControl();
|
||
|
((ISupportInitialize)this.groupControl1).BeginInit();
|
||
|
this.groupControl1.SuspendLayout();
|
||
|
((ISupportInitialize)this.chkShowMapTips.Properties).BeginInit();
|
||
|
((ISupportInitialize)this.spTransparency.Properties).BeginInit();
|
||
|
((ISupportInitialize)this.spBrightness.Properties).BeginInit();
|
||
|
((ISupportInitialize)this.spContrast.Properties).BeginInit();
|
||
|
((ISupportInitialize)this.trackDisplayResolutionFactor).BeginInit();
|
||
|
((ISupportInitialize)this.trackDisplayResolutionFactor.Properties).BeginInit();
|
||
|
((ISupportInitialize)this.groupControl2).BeginInit();
|
||
|
this.groupControl2.SuspendLayout();
|
||
|
base.SuspendLayout();
|
||
|
this.groupControl1.Controls.Add(this.chkShowMapTips);
|
||
|
this.groupControl1.Controls.Add(this.spTransparency);
|
||
|
this.groupControl1.Controls.Add(this.spBrightness);
|
||
|
this.groupControl1.Controls.Add(this.labelControl2);
|
||
|
this.groupControl1.Controls.Add(this.spContrast);
|
||
|
this.groupControl1.Controls.Add(this.labelControl1);
|
||
|
this.groupControl1.Controls.Add(this.labelControl10);
|
||
|
this.groupControl1.Controls.Add(this.labelControl9);
|
||
|
this.groupControl1.Location = new Point(12, 12);
|
||
|
this.groupControl1.Name = "groupControl1";
|
||
|
this.groupControl1.Size = new Size(389, 176);
|
||
|
this.groupControl1.TabIndex = 22;
|
||
|
this.groupControl1.Text = "显示设置";
|
||
|
this.chkShowMapTips.Location = new Point(15, 34);
|
||
|
this.chkShowMapTips.Name = "chkShowMapTips";
|
||
|
this.chkShowMapTips.Properties.Caption = "显示地图提示(使用主显示字段)";
|
||
|
this.chkShowMapTips.Size = new Size(222, 19);
|
||
|
this.chkShowMapTips.TabIndex = 17;
|
||
|
this.chkShowMapTips.CheckedChanged += new System.EventHandler(this.chkShowMapTips_CheckedChanged);
|
||
|
BaseEdit arg_2BE_0 = this.spTransparency;
|
||
|
int[] bits = new int[4];
|
||
|
arg_2BE_0.EditValue = new decimal(bits);
|
||
|
this.spTransparency.Location = new Point(78, 127);
|
||
|
this.spTransparency.Name = "spTransparency";
|
||
|
this.spTransparency.Properties.Buttons.AddRange(new EditorButton[]
|
||
|
{
|
||
|
new EditorButton()
|
||
|
});
|
||
|
RepositoryItemSpinEdit arg_329_0 = this.spTransparency.Properties;
|
||
|
int[] array = new int[4];
|
||
|
array[0] = 100;
|
||
|
arg_329_0.MaxValue = new decimal(array);
|
||
|
this.spTransparency.Properties.MinValue = new decimal(new int[]
|
||
|
{
|
||
|
100,
|
||
|
0,
|
||
|
0,
|
||
|
-2147483648
|
||
|
});
|
||
|
this.spTransparency.Size = new Size(144, 21);
|
||
|
this.spTransparency.TabIndex = 20;
|
||
|
this.spTransparency.EditValueChanged += new System.EventHandler(this.spTransparency_EditValueChanged);
|
||
|
BaseEdit arg_3AD_0 = this.spBrightness;
|
||
|
int[] bits2 = new int[4];
|
||
|
arg_3AD_0.EditValue = new decimal(bits2);
|
||
|
this.spBrightness.Location = new Point(78, 100);
|
||
|
this.spBrightness.Name = "spBrightness";
|
||
|
this.spBrightness.Properties.Buttons.AddRange(new EditorButton[]
|
||
|
{
|
||
|
new EditorButton()
|
||
|
});
|
||
|
RepositoryItemSpinEdit arg_41E_0 = this.spBrightness.Properties;
|
||
|
int[] array2 = new int[4];
|
||
|
array2[0] = 100;
|
||
|
arg_41E_0.MaxValue = new decimal(array2);
|
||
|
this.spBrightness.Properties.MinValue = new decimal(new int[]
|
||
|
{
|
||
|
100,
|
||
|
0,
|
||
|
0,
|
||
|
-2147483648
|
||
|
});
|
||
|
this.spBrightness.Size = new Size(144, 21);
|
||
|
this.spBrightness.TabIndex = 20;
|
||
|
this.spBrightness.EditValueChanged += new System.EventHandler(this.spBrightness_EditValueChanged);
|
||
|
this.labelControl2.Location = new Point(17, 130);
|
||
|
this.labelControl2.Name = "labelControl2";
|
||
|
this.labelControl2.Size = new Size(48, 14);
|
||
|
this.labelControl2.TabIndex = 18;
|
||
|
this.labelControl2.Text = "透明度:";
|
||
|
BaseEdit arg_4FE_0 = this.spContrast;
|
||
|
int[] bits3 = new int[4];
|
||
|
arg_4FE_0.EditValue = new decimal(bits3);
|
||
|
this.spContrast.Location = new Point(78, 73);
|
||
|
this.spContrast.Name = "spContrast";
|
||
|
this.spContrast.Properties.Buttons.AddRange(new EditorButton[]
|
||
|
{
|
||
|
new EditorButton()
|
||
|
});
|
||
|
RepositoryItemSpinEdit arg_56F_0 = this.spContrast.Properties;
|
||
|
int[] array3 = new int[4];
|
||
|
array3[0] = 100;
|
||
|
arg_56F_0.MaxValue = new decimal(array3);
|
||
|
this.spContrast.Properties.MinValue = new decimal(new int[]
|
||
|
{
|
||
|
100,
|
||
|
0,
|
||
|
0,
|
||
|
-2147483648
|
||
|
});
|
||
|
this.spContrast.Size = new Size(144, 21);
|
||
|
this.spContrast.TabIndex = 20;
|
||
|
this.spContrast.EditValueChanged += new System.EventHandler(this.spContrast_EditValueChanged);
|
||
|
this.labelControl1.Location = new Point(17, 103);
|
||
|
this.labelControl1.Name = "labelControl1";
|
||
|
this.labelControl1.Size = new Size(48, 14);
|
||
|
this.labelControl1.TabIndex = 18;
|
||
|
this.labelControl1.Text = "亮 度:";
|
||
|
this.labelControl10.Location = new Point(236, 130);
|
||
|
this.labelControl10.Name = "labelControl10";
|
||
|
this.labelControl10.Size = new Size(135, 14);
|
||
|
this.labelControl10.TabIndex = 19;
|
||
|
this.labelControl10.Text = "(0-100,0表示不透明)";
|
||
|
this.labelControl9.Location = new Point(17, 76);
|
||
|
this.labelControl9.Name = "labelControl9";
|
||
|
this.labelControl9.Size = new Size(48, 14);
|
||
|
this.labelControl9.TabIndex = 18;
|
||
|
this.labelControl9.Text = "对比度:";
|
||
|
this.trackDisplayResolutionFactor.EditValue = 100;
|
||
|
this.trackDisplayResolutionFactor.Location = new Point(34, 56);
|
||
|
this.trackDisplayResolutionFactor.Name = "trackDisplayResolutionFactor";
|
||
|
this.trackDisplayResolutionFactor.Properties.Maximum = 100;
|
||
|
this.trackDisplayResolutionFactor.Properties.TickFrequency = 10;
|
||
|
this.trackDisplayResolutionFactor.Properties.TickStyle = TickStyle.TopLeft;
|
||
|
this.trackDisplayResolutionFactor.Size = new Size(321, 45);
|
||
|
this.trackDisplayResolutionFactor.TabIndex = 21;
|
||
|
this.trackDisplayResolutionFactor.Value = 100;
|
||
|
this.trackDisplayResolutionFactor.EditValueChanged += new System.EventHandler(this.trackDisplayResolutionFactor_EditValueChanged);
|
||
|
this.groupControl2.Controls.Add(this.labelControl5);
|
||
|
this.groupControl2.Controls.Add(this.labelControl4);
|
||
|
this.groupControl2.Controls.Add(this.labelControl3);
|
||
|
this.groupControl2.Controls.Add(this.trackDisplayResolutionFactor);
|
||
|
this.groupControl2.Location = new Point(12, 194);
|
||
|
this.groupControl2.Name = "groupControl2";
|
||
|
this.groupControl2.Size = new Size(389, 123);
|
||
|
this.groupControl2.TabIndex = 23;
|
||
|
this.groupControl2.Text = "显示质量";
|
||
|
this.labelControl5.Location = new Point(331, 36);
|
||
|
this.labelControl5.Name = "labelControl5";
|
||
|
this.labelControl5.Size = new Size(24, 14);
|
||
|
this.labelControl5.TabIndex = 24;
|
||
|
this.labelControl5.Text = "一般";
|
||
|
this.labelControl4.Location = new Point(182, 36);
|
||
|
this.labelControl4.Name = "labelControl4";
|
||
|
this.labelControl4.Size = new Size(24, 14);
|
||
|
this.labelControl4.TabIndex = 23;
|
||
|
this.labelControl4.Text = "中等";
|
||
|
this.labelControl3.Location = new Point(34, 36);
|
||
|
this.labelControl3.Name = "labelControl3";
|
||
|
this.labelControl3.Size = new Size(24, 14);
|
||
|
this.labelControl3.TabIndex = 22;
|
||
|
this.labelControl3.Text = "粗糙";
|
||
|
base.AutoScaleDimensions = new SizeF(6f, 12f);
|
||
|
base.AutoScaleMode = AutoScaleMode.Font;
|
||
|
base.Controls.Add(this.groupControl2);
|
||
|
base.Controls.Add(this.groupControl1);
|
||
|
base.Name = "UCRasterLayerDispPropertyPage";
|
||
|
base.Size = new Size(416, 409);
|
||
|
((ISupportInitialize)this.groupControl1).EndInit();
|
||
|
this.groupControl1.ResumeLayout(false);
|
||
|
this.groupControl1.PerformLayout();
|
||
|
((ISupportInitialize)this.chkShowMapTips.Properties).EndInit();
|
||
|
((ISupportInitialize)this.spTransparency.Properties).EndInit();
|
||
|
((ISupportInitialize)this.spBrightness.Properties).EndInit();
|
||
|
((ISupportInitialize)this.spContrast.Properties).EndInit();
|
||
|
((ISupportInitialize)this.trackDisplayResolutionFactor.Properties).EndInit();
|
||
|
((ISupportInitialize)this.trackDisplayResolutionFactor).EndInit();
|
||
|
((ISupportInitialize)this.groupControl2).EndInit();
|
||
|
this.groupControl2.ResumeLayout(false);
|
||
|
this.groupControl2.PerformLayout();
|
||
|
base.ResumeLayout(false);
|
||
|
}
|
||
|
public UCRasterLayerDispPropertyPage()
|
||
|
{
|
||
|
this.InitializeComponent();
|
||
|
}
|
||
|
private void chkShowMapTips_CheckedChanged(object sender, System.EventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
this.m_ShowTips = this.chkShowMapTips.Checked;
|
||
|
this.InvokeEditValueChanged(sender, e);
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
//RdbUtil.AddException(ex);
|
||
|
}
|
||
|
}
|
||
|
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);
|
||
|
}
|
||
|
}
|
||
|
private void trackDisplayResolutionFactor_EditValueChanged(object sender, System.EventArgs e)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
this.m_DisplayResolutionFactor = Convert.ToInt32(this.trackDisplayResolutionFactor.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);
|
||
|
}
|
||
|
this.chkShowMapTips.Checked = this.m_Layer.ShowTips;
|
||
|
ILayerEffects layerEffects = layerProperty as ILayerEffects;
|
||
|
this.spBrightness.EditValue = layerEffects.Brightness;
|
||
|
this.spContrast.EditValue = layerEffects.Contrast;
|
||
|
this.spTransparency.EditValue = layerEffects.Transparency;
|
||
|
IRasterLayer rasterLayer = layerProperty as IRasterLayer;
|
||
|
this.trackDisplayResolutionFactor.EditValue = rasterLayer.DisplayResolutionFactor;
|
||
|
this.m_ShowTips = this.chkShowMapTips.Checked;
|
||
|
this.m_ContrastValue = Convert.ToInt16(this.spContrast.EditValue);
|
||
|
this.m_BrightnessValue = Convert.ToInt16(this.spBrightness.EditValue);
|
||
|
this.m_Transparency = Convert.ToInt16(this.spTransparency.EditValue);
|
||
|
this.m_DisplayResolutionFactor = (int)Convert.ToInt16(this.trackDisplayResolutionFactor.EditValue);
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
//RdbUtil.AddException(ex);
|
||
|
}
|
||
|
}
|
||
|
public void Write2Prop()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
this.m_Layer.ShowTips = this.m_ShowTips;
|
||
|
ILayerEffects layerEffects = this.m_Layer as ILayerEffects;
|
||
|
layerEffects.Brightness = this.m_BrightnessValue;
|
||
|
layerEffects.Contrast = this.m_ContrastValue;
|
||
|
layerEffects.Transparency = this.m_Transparency;
|
||
|
IRasterLayer rasterLayer = this.m_Layer as IRasterLayer;
|
||
|
rasterLayer.DisplayResolutionFactor = this.m_DisplayResolutionFactor;
|
||
|
this.isDirty = false;
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
///RdbUtil.AddException(ex);
|
||
|
}
|
||
|
}
|
||
|
public int Activate()
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
public void Deactivate()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
public void Cancel()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
void IUCPropertyPageEx.Hide()
|
||
|
{
|
||
|
base.Hide();
|
||
|
}
|
||
|
void IUCPropertyPageEx.Show()
|
||
|
{
|
||
|
base.Show();
|
||
|
}
|
||
|
}
|
||
|
}
|