using Resources;
using SmartCoalApplication.Annotation;
using SmartCoalApplication.Annotation.Enum;
using SmartCoalApplication.Annotation.Measure;
using SmartCoalApplication.Base.CommTool;
using SmartCoalApplication.Base.SettingModel;
using SmartCoalApplication.Core;
using SmartCoalApplication.PluginAssemblys;
using SmartCoalApplication.Resources;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SmartCoalApplication.Measure
{
internal class MeasurementPropertiesDialog : Form
{
#region 控件
private GroupBox groupBox2;
private Panel panel3;
private ComboBox comboBox4;
private Label label4;
private ComboBox comboBox3;
private Label label3;
private Panel panel2;
private ComboBox comboBox2;
private Label label2;
private NumericUpDown numericUpDown11;
private ComboBox comboBox21;
private NumericUpDown numericUpDown21;
private Label label61;
private Label label51;
private Panel linePanel;
private Label label41;
private Panel textPanel;
private Label label31;
private Label label21;
private ComboBox comboBox11;
private Label label11;
private GroupBox groupBox1;
//private Button button2;
private Button button3;
private Button button1;
ColorsForm colorsForm;
ColorsForm colorsForm1;
private DocumentWorkspaceWindow documentWorkspaceWindow;
#endregion
///
/// 主控件
///
private AppWorkspace appWorkspace;
private DrawObject drawObject;
///
/// 测量的样式
///
private MeasureStyleModel measureStyleModel = Program.instance.measureStyleModel;
///
/// 主配置文件的model
///
private ConfigModel configModel = Program.instance.configModel;
private NumericUpDown numericUpDown1;
private Label label5;
private ComboBox comboBox5;
private Label label6;
private ComboBox comboBox91;
private System.Windows.Forms.Label label91;
///
/// 字体列表
///
ArrayList fontsItems = new ArrayList();
public MeasurementPropertiesDialog(AppWorkspace appWorkspace, DrawObject drawObject,DocumentWorkspaceWindow documentWorkspaceWindow = null)
{
this.appWorkspace = appWorkspace;
this.drawObject = drawObject;
InitializeComponent();
this.documentWorkspaceWindow = documentWorkspaceWindow;
this.Icon = PdnInfo.AppIcon;
this.comboBox3.Items.AddRange(new object[] {
PdnResources.GetString("Menu.Upperleft.text"),
PdnResources.GetString("Menu.Uppermiddle.Text"),
PdnResources.GetString("Menu.Upperright.text"),
PdnResources.GetString("Menu.Lowerleft.text"),
PdnResources.GetString("Menu.Themiddleandlower.Text"),
PdnResources.GetString("Menu.Lowerright.text")});
this.comboBox91.Items.AddRange(new object[] {
"度",
"密位"});
this.comboBox4.Items.AddRange(new object[] {
PdnResources.GetString("Menu.Upperleft.text"),
PdnResources.GetString("Menu.Uppermiddle.Text"),
PdnResources.GetString("Menu.Upperright.text"),
PdnResources.GetString("Menu.Lowerleft.text"),
PdnResources.GetString("Menu.Themiddleandlower.Text"),
PdnResources.GetString("Menu.Lowerright.text")});
this.Text = PdnResources.GetString("Menu.MeasureAction." + drawObject.drawToolType.ToString() + ".Text") + "属性设置";
//绑定线样式数据
this.comboBox21.Items.AddRange(InvariantData.dashStyles);
this.colorsForm = new ColorsForm();
this.colorsForm.StartPosition = FormStartPosition.CenterScreen;
this.colorsForm.UserPrimaryColorChanged += new ColorEventHandler(this.colorsFormUserPrimaryColorChanged);
this.colorsForm1 = new ColorsForm();
this.colorsForm1.StartPosition = FormStartPosition.CenterScreen;
this.colorsForm1.UserPrimaryColorChanged += new ColorEventHandler(this.colorsFormUserPrimaryColorChanged);
this.fontsItems.Clear();
//绑定字体数据
System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
foreach (FontFamily fontFamily in fonts.Families)
{
fontsItems.Add(fontFamily.Name);
}
this.comboBox11.DataSource = fontsItems;
UpdateRightSettingUI();
}
#region 初始化
private void InitializeComponent()
{
this.comboBox91 = new System.Windows.Forms.ComboBox();
this.label91 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.comboBox5 = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.panel3 = new System.Windows.Forms.Panel();
this.comboBox4 = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.comboBox3 = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.numericUpDown11 = new System.Windows.Forms.NumericUpDown();
this.comboBox21 = new System.Windows.Forms.ComboBox();
this.numericUpDown21 = new System.Windows.Forms.NumericUpDown();
this.label61 = new System.Windows.Forms.Label();
this.label51 = new System.Windows.Forms.Label();
this.linePanel = new System.Windows.Forms.Panel();
this.label41 = new System.Windows.Forms.Label();
this.textPanel = new System.Windows.Forms.Panel();
this.label31 = new System.Windows.Forms.Label();
this.label21 = new System.Windows.Forms.Label();
this.comboBox11 = new System.Windows.Forms.ComboBox();
this.label11 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.button3 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.panel3.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown21)).BeginInit();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// comboBox91
//
this.comboBox91.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox91.FormattingEnabled = true;
this.comboBox91.Location = new System.Drawing.Point(91, 179);
this.comboBox91.Name = "comboBox91";
this.comboBox91.Size = new System.Drawing.Size(152, 20);
this.comboBox91.TabIndex = 15;
//
// label91
//
this.label91.AutoSize = true;
this.label91.Location = new System.Drawing.Point(14, 182);
this.label91.Name = "label91";
this.label91.Size = new System.Drawing.Size(65, 12);
this.label91.TabIndex = 14;
this.label91.Text = "角度单位:";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.comboBox5);
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.numericUpDown1);
this.groupBox2.Controls.Add(this.label5);
this.groupBox2.Controls.Add(this.panel3);
this.groupBox2.Controls.Add(this.panel2);
this.groupBox2.Controls.Add(this.numericUpDown11);
this.groupBox2.Controls.Add(this.comboBox21);
this.groupBox2.Controls.Add(this.numericUpDown21);
this.groupBox2.Controls.Add(this.label61);
this.groupBox2.Controls.Add(this.label51);
this.groupBox2.Controls.Add(this.linePanel);
this.groupBox2.Controls.Add(this.label41);
this.groupBox2.Controls.Add(this.textPanel);
this.groupBox2.Controls.Add(this.label31);
this.groupBox2.Controls.Add(this.label21);
this.groupBox2.Controls.Add(this.comboBox11);
this.groupBox2.Controls.Add(this.label11);
this.groupBox2.Controls.Add(this.comboBox91);
this.groupBox2.Controls.Add(this.label91);
this.groupBox2.Location = new System.Drawing.Point(10, 76);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(633, 235);
this.groupBox2.TabIndex = 8;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "设置";
//
// comboBox5
//
this.comboBox5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox5.FormattingEnabled = true;
this.comboBox5.Items.AddRange(new object[] {
"随线",
"水平"});
this.comboBox5.Location = new System.Drawing.Point(337, 46);
this.comboBox5.Name = "comboBox5";
this.comboBox5.Size = new System.Drawing.Size(122, 20);
this.comboBox5.TabIndex = 22;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(260, 50);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(65, 12);
this.label6.TabIndex = 21;
this.label6.Text = "文字方向:";
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(337, 21);
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(152, 21);
this.numericUpDown1.TabIndex = 20;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(260, 25);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 19;
this.label5.Text = "垂线长度:";
//
// panel3
//
this.panel3.Controls.Add(this.comboBox4);
this.panel3.Controls.Add(this.label4);
this.panel3.Controls.Add(this.comboBox3);
this.panel3.Controls.Add(this.label3);
this.panel3.Location = new System.Drawing.Point(9, 175);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(236, 57);
this.panel3.TabIndex = 16;
//
// comboBox4
//
this.comboBox4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox4.FormattingEnabled = true;
this.comboBox4.Location = new System.Drawing.Point(112, 30);
this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(122, 20);
this.comboBox4.TabIndex = 17;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(5, 34);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(89, 12);
this.label4.TabIndex = 16;
this.label4.Text = "文字位置(点):";
//
// comboBox3
//
this.comboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox3.FormattingEnabled = true;
this.comboBox3.Location = new System.Drawing.Point(112, 4);
this.comboBox3.Name = "comboBox3";
this.comboBox3.Size = new System.Drawing.Size(122, 20);
this.comboBox3.TabIndex = 15;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(5, 7);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(89, 12);
this.label3.TabIndex = 14;
this.label3.Text = "文字位置(线):";
//
// panel2
//
this.panel2.Controls.Add(this.comboBox2);
this.panel2.Controls.Add(this.label2);
this.panel2.Location = new System.Drawing.Point(9, 175);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(236, 57);
this.panel2.TabIndex = 15;
//
// comboBox2
//
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Location = new System.Drawing.Point(82, 3);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(152, 20);
this.comboBox2.TabIndex = 15;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(5, 7);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 14;
this.label2.Text = "文字位置:";
//
// numericUpDown11
//
this.numericUpDown11.Location = new System.Drawing.Point(91, 125);
this.numericUpDown11.Name = "numericUpDown11";
this.numericUpDown11.Size = new System.Drawing.Size(152, 21);
this.numericUpDown11.TabIndex = 14;
//
// comboBox21
//
this.comboBox21.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox21.FormattingEnabled = true;
this.comboBox21.Location = new System.Drawing.Point(91, 151);
this.comboBox21.Name = "comboBox21";
this.comboBox21.Size = new System.Drawing.Size(152, 20);
this.comboBox21.TabIndex = 13;
//
// numericUpDown21
//
this.numericUpDown21.Location = new System.Drawing.Point(91, 46);
this.numericUpDown21.Name = "numericUpDown21";
this.numericUpDown21.Size = new System.Drawing.Size(152, 21);
this.numericUpDown21.TabIndex = 12;
//
// label61
//
this.label61.AutoSize = true;
this.label61.Location = new System.Drawing.Point(13, 155);
this.label61.Name = "label61";
this.label61.Size = new System.Drawing.Size(65, 12);
this.label61.TabIndex = 9;
this.label61.Text = "线条样式:";
//
// label51
//
this.label51.AutoSize = true;
this.label51.Location = new System.Drawing.Point(13, 128);
this.label51.Name = "label51";
this.label51.Size = new System.Drawing.Size(65, 12);
this.label51.TabIndex = 8;
this.label51.Text = "线条宽度:";
//
// linePanel
//
this.linePanel.BackColor = System.Drawing.SystemColors.Window;
this.linePanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.linePanel.Location = new System.Drawing.Point(91, 99);
this.linePanel.Name = "linePanel";
this.linePanel.Size = new System.Drawing.Size(152, 20);
this.linePanel.TabIndex = 7;
this.linePanel.Click += new System.EventHandler(this.lineColorPanel_Click);
//
// label41
//
this.label41.AutoSize = true;
this.label41.Location = new System.Drawing.Point(13, 99);
this.label41.Name = "label41";
this.label41.Size = new System.Drawing.Size(65, 12);
this.label41.TabIndex = 6;
this.label41.Text = "线条颜色:";
//
// textPanel
//
this.textPanel.BackColor = System.Drawing.SystemColors.Window;
this.textPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textPanel.Location = new System.Drawing.Point(91, 73);
this.textPanel.Name = "textPanel";
this.textPanel.Size = new System.Drawing.Size(152, 20);
this.textPanel.TabIndex = 5;
this.textPanel.Click += new System.EventHandler(this.textColorPanel_Click);
//
// label31
//
this.label31.AutoSize = true;
this.label31.Location = new System.Drawing.Point(13, 76);
this.label31.Name = "label31";
this.label31.Size = new System.Drawing.Size(65, 12);
this.label31.TabIndex = 4;
this.label31.Text = "文字颜色:";
//
// label21
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(13, 50);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(65, 12);
this.label21.TabIndex = 2;
this.label21.Text = "文字字号:";
//
// comboBox11
//
this.comboBox11.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox11.FormattingEnabled = true;
this.comboBox11.Location = new System.Drawing.Point(91, 20);
this.comboBox11.Name = "comboBox11";
this.comboBox11.Size = new System.Drawing.Size(152, 20);
this.comboBox11.TabIndex = 1;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(13, 23);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(65, 12);
this.label11.TabIndex = 0;
this.label11.Text = "文字字体:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.button3);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Location = new System.Drawing.Point(12, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(633, 58);
this.groupBox1.TabIndex = 7;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "操作";
//
// button3
//
this.button3.Location = new System.Drawing.Point(541, 20);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 2;
this.button3.Text = "关闭";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(460, 20);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text = "应用";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// MeasurementPropertiesDialog
//
this.ClientSize = new System.Drawing.Size(652, 319);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.MinimizeBox = false;
this.Name = "MeasurementPropertiesDialog";
this.Text = "测量属性";
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown21)).EndInit();
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void colorsFormUserPrimaryColorChanged(object sender, ColorEventArgs ce)
{
}
private void textColorPanel_Click(object sender, EventArgs e)
{
this.colorsForm.UserPrimaryColor = ColorBgra.FromColor(this.textPanel.BackColor);
this.colorsForm.setSaveBtn_Click(new System.EventHandler(this.textColorChanged));
this.colorsForm.ShowDialog();
}
private void textColorChanged(object sender, EventArgs e)
{
this.textPanel.BackColor = this.colorsForm.UserPrimaryColor.ToColor();
//this.measureStyleModel.backColor = this.colorsForm.UserPrimaryColor.ToColor().ToArgb();
this.colorsForm.Close();
}
private void lineColorPanel_Click(object sender, EventArgs e)
{
this.colorsForm1.UserPrimaryColor = ColorBgra.FromColor(this.linePanel.BackColor);
this.colorsForm1.setSaveBtn_Click(new System.EventHandler(this.lineColorChanged));
this.colorsForm1.ShowDialog();
}
private void lineColorChanged(object sender, EventArgs e)
{
this.linePanel.BackColor = this.colorsForm1.UserPrimaryColor.ToColor();
// this.measureStyleModel.backColor = this.colorsForm.UserPrimaryColor.ToColor().ToArgb();
this.colorsForm1.Close();
}
///
/// 初始化属性画面
///
private void UpdateRightSettingUI()
{
switch (this.drawObject.drawToolType)
{
case DrawToolType.MeasureLine: //长度测量直线
MeasureStyleModel.MeasureLine measureLine = this.measureStyleModel.measureLine;
this.panel2.Visible = true;
this.panel3.Visible = false;
this.numericUpDown1.Visible = true;
this.label5.Visible = true;
this.comboBox5.Visible = true;
this.label6.Visible = true;
this.label91.Visible = false;
this.comboBox91.Visible = false;
UpdataFontPosition(false);
this.UpdateMeasureStyleData(measureLine.font, measureLine.fontSize, measureLine.textColor, measureLine.lineColor, measureLine.lineWidth, measureLine.lineStyle, measureLine.linePosition, 0, 0, measureLine.vLineLength, measureLine.followLine);
break;
case DrawToolType.MeasureDistanceLine: //长度测量距离
MeasureStyleModel.MeasureDistanceLine measureDistanceLine = this.measureStyleModel.measureDistanceLine;
this.panel2.Visible = true;
this.panel3.Visible = false;
this.numericUpDown1.Visible = false;
this.label5.Visible = false;
this.comboBox5.Visible = false;
this.label6.Visible = false;
this.label91.Visible = false;
this.comboBox91.Visible = false;
UpdataFontPosition(false);
this.UpdateMeasureStyleData(measureDistanceLine.font, measureDistanceLine.fontSize, measureDistanceLine.textColor, measureDistanceLine.lineColor, measureDistanceLine.lineWidth, measureDistanceLine.lineStyle, measureDistanceLine.linePosition, 0, 0, -1);
break;
case DrawToolType.MeasureLength: //长度测量->长度
MeasureStyleModel.MeasureLength measureLength = this.measureStyleModel.measureLength;
this.panel2.Visible = true;
this.panel3.Visible = false;
this.numericUpDown1.Visible = false;
this.label5.Visible = false;
this.comboBox5.Visible = false;
this.label6.Visible = false;
this.label91.Visible = false;
this.comboBox91.Visible = false;
UpdataFontPosition(false);
this.UpdateMeasureStyleData(measureLength.font, measureLength.fontSize, measureLength.textColor, measureLength.lineColor, measureLength.lineWidth, measureLength.lineStyle, measureLength.linePosition, 0, 0, -1);
break;
case DrawToolType.MeasureHLine: //长度测量->水平线
MeasureStyleModel.MeasureHLine measureHLine = this.measureStyleModel.measureHLine;
this.panel2.Visible = true;
this.panel3.Visible = false;
this.numericUpDown1.Visible = true;
this.label5.Visible = true;
this.comboBox5.Visible = false;
this.label6.Visible = false;
this.label91.Visible = false;
this.comboBox91.Visible = false;
UpdataFontPosition(false);
this.UpdateMeasureStyleData(measureHLine.font, measureHLine.fontSize, measureHLine.textColor, measureHLine.lineColor, measureHLine.lineWidth, measureHLine.lineStyle, measureHLine.linePosition, 0, 0, measureHLine.vLineLength);
break;
case DrawToolType.MeasureVLine: //长度测量->垂线
MeasureStyleModel.MeasureVLine measureVLine = this.measureStyleModel.measureVLine;
this.panel2.Visible = true;
this.panel3.Visible = false;
this.numericUpDown1.Visible = true;
this.label5.Visible = true;
this.comboBox5.Visible = true;
this.label6.Visible = true;
this.label91.Visible = false;
this.comboBox91.Visible = false;
UpdataFontPosition(false);
this.UpdateMeasureStyleData(measureVLine.font, measureVLine.fontSize, measureVLine.textColor, measureVLine.lineColor, measureVLine.lineWidth, measureVLine.lineStyle, measureVLine.linePosition, 0, 0, measureVLine.vLineLength, measureVLine.followLine);
break;
}
}
private void UpdataFontPosition(bool curve)
{
List position = new List { PdnResources.GetString("Menu.Upperleft.text")
, PdnResources.GetString("Menu.Uppermiddle.Text")
, PdnResources.GetString("Menu.Upperright.text")
, PdnResources.GetString("Menu.Lowerleft.text")
, PdnResources.GetString("Menu.Themiddleandlower.Text")
, PdnResources.GetString("Menu.Lowerright.text")};
List position1 = new List { PdnResources.GetString("Menu.hestartingpoint.Text")
, PdnResources.GetString("Menu.Theendpoint.Text")
};
this.comboBox2.DataSource = null;
if (curve)
this.comboBox2.DataSource = position1;
else
this.comboBox2.DataSource = position;
}
///
/// 更新显示区域控件的数值
///
///
///
///
///
///
///
private void UpdateMeasureStyleData(string font, int fontSize, int textColor, int lineColor, int lineWidth, int lineStyle, int linePosition, int linePositionL, int linePositionP, int vLineLength, bool followLine = false, bool isAngle = false)
{
//绑定样式默认数据
this.comboBox11.Text = font;
this.numericUpDown21.Value = fontSize;
this.textPanel.BackColor = Color.FromArgb(textColor);
this.linePanel.BackColor = Color.FromArgb(lineColor);
this.numericUpDown11.Value = lineWidth;
this.comboBox21.SelectedIndex = lineStyle;
if (this.comboBox2.Items.Count > 0)
this.comboBox2.SelectedIndex = linePosition;
if (this.comboBox3.Items.Count > 0)
this.comboBox3.SelectedIndex = linePositionL;
if (this.comboBox4.Items.Count > 0)
this.comboBox4.SelectedIndex = linePositionP;
if (vLineLength > -1)
this.numericUpDown1.Value = vLineLength;
if (followLine)
{
this.comboBox5.SelectedIndex = 0;
}
else
{
this.comboBox5.SelectedIndex = 1;
}
this.comboBox91.SelectedIndex = isAngle ? 1 : 0;
}
///
/// 保存
///
private void button2_Click()
{
//调用检查类型
this.checkSaveModel();
//以下保存xml文件信息
string stageModelXml = XmlSerializeHelper.XmlSerialize(this.measureStyleModel);
string filePath = Application.StartupPath + "\\Config\\" + Program.instance.SettingPrefix + "\\Measure\\" + "Default" + ".xml";
FileOperationHelper.WriteStringToFile(stageModelXml, filePath, FileMode.Create);
}
///
/// 检查保存类型
///
private void checkSaveModel()
{
string font = comboBox11.Text;
int fontSize = Convert.ToInt32(numericUpDown21.Value);
int textColor = Convert.ToInt32(this.textPanel.BackColor.ToArgb());
int lineColor = Convert.ToInt32(this.linePanel.BackColor.ToArgb());
int lineWidth = Convert.ToInt32(numericUpDown11.Value);
int lineStyle = this.comboBox21.SelectedIndex;
int linePosition = this.comboBox2.SelectedIndex;
int linePositionL = this.comboBox3.SelectedIndex;
int linePositionP = this.comboBox4.SelectedIndex;
int vLineLength = Convert.ToInt32(this.numericUpDown1.Value);
bool isAngle = comboBox91.SelectedIndex == 0 ? false : true;
switch (this.drawObject.drawToolType)
{
case DrawToolType.MeasureLine: //长度测量直线
this.measureStyleModel.measureLine.font = font;
this.measureStyleModel.measureLine.fontSize = fontSize;
this.measureStyleModel.measureLine.textColor = textColor;
this.measureStyleModel.measureLine.lineColor = lineColor;
this.measureStyleModel.measureLine.lineWidth = lineWidth;
this.measureStyleModel.measureLine.lineStyle = lineStyle;
this.measureStyleModel.measureLine.linePosition = linePosition;
this.measureStyleModel.measureLine.vLineLength = vLineLength;
this.measureStyleModel.measureLine.followLine = this.comboBox5.SelectedIndex == 0 ? true : false;
break;
case DrawToolType.MeasureDistanceLine: //长度测量距离
this.measureStyleModel.measureDistanceLine.font = font;
this.measureStyleModel.measureDistanceLine.fontSize = fontSize;
this.measureStyleModel.measureDistanceLine.textColor = textColor;
this.measureStyleModel.measureDistanceLine.lineColor = lineColor;
this.measureStyleModel.measureDistanceLine.lineWidth = lineWidth;
this.measureStyleModel.measureDistanceLine.lineStyle = lineStyle;
this.measureStyleModel.measureDistanceLine.linePosition = linePosition;
break;
case DrawToolType.MeasureLength: //长度测量->长度
this.measureStyleModel.measureLength.font = font;
this.measureStyleModel.measureLength.fontSize = fontSize;
this.measureStyleModel.measureLength.textColor = textColor;
this.measureStyleModel.measureLength.lineColor = lineColor;
this.measureStyleModel.measureLength.lineWidth = lineWidth;
this.measureStyleModel.measureLength.lineStyle = lineStyle;
this.measureStyleModel.measureLength.linePosition = linePosition;
break;
case DrawToolType.MeasureHLine: //长度测量->水平线
this.measureStyleModel.measureHLine.font = font;
this.measureStyleModel.measureHLine.fontSize = fontSize;
this.measureStyleModel.measureHLine.textColor = textColor;
this.measureStyleModel.measureHLine.lineColor = lineColor;
this.measureStyleModel.measureHLine.lineWidth = lineWidth;
this.measureStyleModel.measureHLine.lineStyle = lineStyle;
this.measureStyleModel.measureHLine.linePosition = linePosition;
this.measureStyleModel.measureHLine.vLineLength = vLineLength;
break;
case DrawToolType.MeasureVLine: //长度测量->垂线
this.measureStyleModel.measureVLine.font = font;
this.measureStyleModel.measureVLine.fontSize = fontSize;
this.measureStyleModel.measureVLine.textColor = textColor;
this.measureStyleModel.measureVLine.lineColor = lineColor;
this.measureStyleModel.measureVLine.lineWidth = lineWidth;
this.measureStyleModel.measureVLine.lineStyle = lineStyle;
this.measureStyleModel.measureVLine.linePosition = linePosition;
this.measureStyleModel.measureVLine.vLineLength = vLineLength;
this.measureStyleModel.measureVLine.followLine = this.comboBox5.SelectedIndex == 0 ? true : false;
break;
}
}
///
/// 应用
///
///
///
private void button1_Click(object sender, EventArgs e)
{
button2_Click();
//修改缓存中的样式数据
Program.instance.measureStyleModel = this.measureStyleModel;
//修改主配置文件中的值
configModel.MeasurementStyle = "Default.xml";
//修改主配置文件的xml
string configModelXml = XmlSerializeHelper.XmlSerialize(this.configModel);
string filePath = Application.StartupPath + "\\Config\\" + Program.instance.SettingPrefix + "\\Config.xml";
FileOperationHelper.WriteStringToFile(configModelXml, filePath, FileMode.Create);
MessageBox.Show(PdnResources.GetString("Menu.Applicationsuccessfully.Text"));
((MeasureDrawObject)(this.drawObject)).mouseUpAttribute = true;
if (this.appWorkspace.ActiveDocumentWorkspace != null) {
this.appWorkspace.ActiveDocumentWorkspace.Refresh();
}
if (documentWorkspaceWindow != null)
{
documentWorkspaceWindow.Refresh();
}
this.appWorkspace.RefreshListView();
this.Close();
}
///
/// 关闭
///
///
///
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}