年度变更建库软件5.0版本
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.
 
 

127 lines
4.0 KiB

using DevExpress.XtraEditors;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
using KGIS.Plugin.LayerProperty.Utils;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace KGIS.Plugin.LayerProperty.View
{
public partial class FormPointLabelRatation : XtraForm
{
private string selectedField;
private esriLabelRotationType labelRotationType;
private bool perpendicularToAngle;
public string RotationField
{
get
{
return this.selectedField;
}
set
{
this.selectedField = value;
}
}
public esriLabelRotationType LabelRotationType
{
get
{
return this.labelRotationType;
}
set
{
this.labelRotationType = value;
}
}
public bool PerpendicularToAngle
{
get
{
return this.perpendicularToAngle;
}
set
{
this.perpendicularToAngle = value;
this.chkPerpendicularAngle.Checked = value;
}
}
public FormPointLabelRatation()
{
InitializeComponent();
}
public bool Init(IFields fields, string defaultField, bool perpendicularToAngle, esriLabelRotationType rotationType)
{
try
{
this.labelRotationType = rotationType;
this.selectedField = defaultField;
this.perpendicularToAngle = perpendicularToAngle;
this.chkPerpendicularAngle.Checked = perpendicularToAngle;
Utils.Util.InitFieldList(ref this.cmbFields, fields, defaultField, false, true);
if (rotationType == esriLabelRotationType.esriRotateLabelGeographic)
{
this.chkGeographic.Checked = true;
this.chkArithmetic.Checked = false;
}
else
{
if (rotationType == esriLabelRotationType.esriRotateLabelArithmetic)
{
this.chkArithmetic.Checked = true;
this.chkGeographic.Checked = false;
}
}
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
return false;
}
private void btnOk_Click(object sender, System.EventArgs e)
{
try
{
base.DialogResult = DialogResult.OK;
base.Close();
}
catch (Exception ex)
{
//RdbUtil.AddException(ex);
}
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
base.DialogResult = DialogResult.Cancel;
base.Close();
}
private void chkPerpendicularAngle_CheckedChanged(object sender, System.EventArgs e)
{
this.perpendicularToAngle = this.chkPerpendicularAngle.Checked;
}
private void cmbFields_SelectedIndexChanged(object sender, System.EventArgs e)
{
ItemInfo<IField, string> itemInfo = this.cmbFields.SelectedItem as ItemInfo<IField, string>;
if (itemInfo != null)
{
this.selectedField = itemInfo.InnerValue.Name;
}
}
private void chkGeographic_CheckedChanged(object sender, System.EventArgs e)
{
this.labelRotationType = esriLabelRotationType.esriRotateLabelGeographic;
}
private void chkArithmetic_CheckedChanged(object sender, System.EventArgs e)
{
this.labelRotationType = esriLabelRotationType.esriRotateLabelArithmetic;
}
}
}