using PaintDotNet.Annotation;
using PaintDotNet.Annotation.Enum;
using PaintDotNet.Annotation.Label;
using PaintDotNet.Base.CommTool;
using PaintDotNet.Base.SettingModel;
using PaintDotNet.Setting.LabelComponent;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PaintDotNet.ImageLabel
{
///
/// 标注列表 修改样式
///
internal class LabelStyleChangeDialog : PdnBaseForm
{
private GroupBox groupBox1;
private GroupBox groupBox2;
private LabelTextControl textControl;
private LabelMarkDateControl dateMarkControl;
private LabelMarkTimeControl timeMarkControl;
private LabelMarkPointControl pointMarkControl;
private LabelMarkNumberControl numberMarkControl;
private LabelMarkGainNumberControl gainNumberControl;
private LabelStraightLineControl straightLineControl;
private LabelStraightLineSegmentControl segmentLineControl;
private LabelCurvePencilControl pencilControl;
private LabelCurvePolylineControl polylineControl;
private LabelCurveControl curveControl;
private LabelCurveClosedControl closedCurveControl;
private LabelArrowOneWayControl oneWayArrowControl;
private LabelArrowTwoWayControl twoWayArrowControl;
private LabelCircleControl circleControl;
private LabelCircleOvalControl ovalControl;
private LabelPolygonRectangleControl polygonRectangleControl;
private LabelPolygonControl polygonControl;
private LabelPolygonRoundedControl roundedRectangleControl;
private DrawObject drawObject;
private ParentStyleModel parentStyleModel;
private Button button2;
private Button button1;
private Button button3;
private AppWorkspace appWorkspace;
public LabelStyleChangeDialog(AppWorkspace appWorkspace, DrawObject drawObject)
{
this.drawObject = drawObject;
this.parentStyleModel = DrawRulerHelper.DeepCopyByReflect(this.drawObject.GetStyle());
this.appWorkspace = appWorkspace;
InitializeComponent();
InitializeLanguageText();
InitStyleControl(this.drawObject.drawToolType);
}
private void InitStyleControl(DrawToolType drawToolType)
{
this.groupBox2.Controls.Clear();
switch (drawToolType)
{
case DrawToolType.DrawTextString: //文本
textControl = new LabelTextControl((LabelStyleModel.Text)this.parentStyleModel);
textControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(textControl);
break;
case DrawToolType.DrawDateMark: //标记-日期
dateMarkControl = new LabelMarkDateControl((LabelStyleModel.DateMark)this.parentStyleModel);
dateMarkControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(dateMarkControl);
break;
case DrawToolType.DrawTimeMark: //标记-时间
timeMarkControl = new LabelMarkTimeControl((LabelStyleModel.TimeMark)this.parentStyleModel);
timeMarkControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(timeMarkControl);
break;
case DrawToolType.DrawPointMark: //标记-点标记
pointMarkControl = new LabelMarkPointControl((LabelStyleModel.PointMark)this.parentStyleModel);
pointMarkControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(pointMarkControl);
break;
case DrawToolType.DrawNumberMark: //标记-数字标记
numberMarkControl = new LabelMarkNumberControl((LabelStyleModel.NumberMark)this.parentStyleModel);
numberMarkControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(numberMarkControl);
break;
case DrawToolType.DrawGainNumber: //标记-放大倍数
gainNumberControl = new LabelMarkGainNumberControl((LabelStyleModel.GainNumber)this.parentStyleModel);
gainNumberControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(gainNumberControl);
break;
case DrawToolType.DrawLine: //直线->直线
straightLineControl = new LabelStraightLineControl((LabelStyleModel.LineChildLine)this.parentStyleModel);
straightLineControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(straightLineControl);
break;
case DrawToolType.DrawLineSegment: //直线->线段
segmentLineControl = new LabelStraightLineSegmentControl((LabelStyleModel.LineChildLineSegment)this.parentStyleModel);
segmentLineControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(segmentLineControl);
break;
case DrawToolType.DrawPencil: //曲线->铅笔
pencilControl = new LabelCurvePencilControl((LabelStyleModel.Pencil)this.parentStyleModel);
pencilControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(pencilControl);
break;
case DrawToolType.DrawPolygonLine: //曲线->折线
polylineControl = new LabelCurvePolylineControl((LabelStyleModel.Polyline)this.parentStyleModel);
polylineControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(polylineControl);
break;
case DrawToolType.DrawCurve: //曲线->曲线
curveControl = new LabelCurveControl((LabelStyleModel.CurveModel)this.parentStyleModel);
curveControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(curveControl);
break;
case DrawToolType.DrawClosedCurve: //曲线->闭合曲线
closedCurveControl = new LabelCurveClosedControl((LabelStyleModel.ClosedCurve)this.parentStyleModel);
closedCurveControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(closedCurveControl);
break;
case DrawToolType.DrawOneArrowLine: //箭头->单向箭头
oneWayArrowControl = new LabelArrowOneWayControl((LabelStyleModel.OneWayArrow)this.parentStyleModel);
oneWayArrowControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(oneWayArrowControl);
break;
case DrawToolType.DrawTwoArrowLine: //箭头->双向箭头
twoWayArrowControl = new LabelArrowTwoWayControl((LabelStyleModel.TwoWayArrow)this.parentStyleModel);
twoWayArrowControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(twoWayArrowControl);
break;
case DrawToolType.DrawCircle: //圆->圆
circleControl = new LabelCircleControl((LabelStyleModel.CircleModel)this.parentStyleModel);
circleControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(circleControl);
break;
case DrawToolType.DrawEllipse: //圆->椭圆
ovalControl = new LabelCircleOvalControl((LabelStyleModel.Oval)this.parentStyleModel);
ovalControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(ovalControl);
break;
case DrawToolType.DrawRectangle: //多边形->矩形
polygonRectangleControl = new LabelPolygonRectangleControl((LabelStyleModel.PolygonRectangle)this.parentStyleModel);
polygonRectangleControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(polygonRectangleControl);
break;
case DrawToolType.DrawPolygon: //多边形->多边形
polygonControl = new LabelPolygonControl((LabelStyleModel.PolygonPolygon)this.parentStyleModel);
polygonControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(polygonControl);
break;
case DrawToolType.DrawRoundRectangle: //多边形->圆角矩形
roundedRectangleControl = new LabelPolygonRoundedControl((LabelStyleModel.RoundedRectangle)this.parentStyleModel);
roundedRectangleControl.Location = new Point(10, 15);
this.groupBox2.Controls.Add(roundedRectangleControl);
break;
}
}
private void InitializeLanguageText()
{
this.groupBox1.Text = PdnResources.GetString("Menu.operation.text");
this.button2.Text = PdnResources.GetString("Menu.File.Close.Text");
this.button1.Text = PdnResources.GetString("Menu.application.text");
this.groupBox2.Text = PdnResources.GetString("Menu.style.text");
this.button3.Text = PdnResources.GetString("Menu.File.Save.Text");
this.Text = PdnResources.GetString("Menu.Stylechanges.Text");
}
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.button3);
this.groupBox1.Controls.Add(this.button2);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Location = new System.Drawing.Point(13, 13);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(502, 52);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "操作";
//
// button3
//
this.button3.Location = new System.Drawing.Point(259, 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);
//
// button2
//
this.button2.Location = new System.Drawing.Point(421, 20);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 1;
this.button2.Text = "关闭";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(340, 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);
//
// groupBox2
//
this.groupBox2.Location = new System.Drawing.Point(13, 72);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(502, 186);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "样式";
//
// LabelStyleChangeDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.ClientSize = new System.Drawing.Size(530, 270);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "LabelStyleChangeDialog";
this.Text = "样式修改";
this.Controls.SetChildIndex(this.groupBox1, 0);
this.Controls.SetChildIndex(this.groupBox2, 0);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
private void button1_Click(object sender, EventArgs e)
{
switch (this.drawObject.drawToolType)
{
case DrawToolType.DrawTextString: //文本
DrawTextString drawTextString = (DrawTextString)this.drawObject;
drawTextString.labelTextModel = textControl.getNowModel((LabelStyleModel.Text)this.parentStyleModel);
drawTextString.isFirstClick = true;
break;
case DrawToolType.DrawDateMark: //标记-日期
DrawDateMark drawDateMark = (DrawDateMark)this.drawObject;
drawDateMark.labelDateMarkStyleModel = dateMarkControl.getNowModel((LabelStyleModel.DateMark)this.parentStyleModel);
drawDateMark.isFirstClick = true;
break;
case DrawToolType.DrawTimeMark: //标记-时间
DrawTimeMark drawTimeMark = (DrawTimeMark)this.drawObject;
drawTimeMark.labelTimeMarkStyleModel = timeMarkControl.getNowModel((LabelStyleModel.TimeMark)this.parentStyleModel);
drawTimeMark.isFirstClick = true;
break;
case DrawToolType.DrawPointMark: //标记-点标记
DrawPointMark drawPointMark = (DrawPointMark)this.drawObject;
drawPointMark.labelPointMarkStyleModel = pointMarkControl.getNowModel((LabelStyleModel.PointMark)this.parentStyleModel);
break;
case DrawToolType.DrawNumberMark: //标记-数字标记
DrawNumberMark drawNumberMark = (DrawNumberMark)this.drawObject;
drawNumberMark.labelNumberMarkStyleModel = numberMarkControl.getNowModel((LabelStyleModel.NumberMark)this.parentStyleModel);
break;
case DrawToolType.DrawGainNumber: //标记-放大倍数
DrawGainNumber drawGainNumber = (DrawGainNumber)this.drawObject;
drawGainNumber.labelGainNumberStyleModel = gainNumberControl.getNowModel((LabelStyleModel.GainNumber)this.parentStyleModel);
drawGainNumber.isFirstClick = true;
break;
case DrawToolType.DrawLine: //直线->直线
DrawLine drawLine = (DrawLine)this.drawObject;
drawLine.labelLineStyleModel = straightLineControl.getNowModel((LabelStyleModel.LineChildLine)this.parentStyleModel);
break;
case DrawToolType.DrawLineSegment: //直线->线段
DrawLineSegment drawLineSegment = (DrawLineSegment)this.drawObject;
drawLineSegment.LabelLineSegment = segmentLineControl.getNowModel((LabelStyleModel.LineChildLineSegment)this.parentStyleModel);
break;
case DrawToolType.DrawPencil: //曲线->铅笔
DrawPencil drawPencil = (DrawPencil)this.drawObject;
drawPencil.LabelStyleModel = pencilControl.getNowModel((LabelStyleModel.Pencil)this.parentStyleModel);
break;
case DrawToolType.DrawPolygonLine: //曲线->折线
DrawPolygonLine drawPolygonLine = (DrawPolygonLine)this.drawObject;
drawPolygonLine.LabelPolylineStyleModel = polylineControl.getNowModel((LabelStyleModel.Polyline)this.parentStyleModel);
break;
case DrawToolType.DrawCurve: //曲线->曲线
DrawCurve drawCurve = (DrawCurve)this.drawObject;
drawCurve.LabelCurveModelStyleModel = curveControl.getNowModel((LabelStyleModel.CurveModel)this.parentStyleModel);
break;
case DrawToolType.DrawClosedCurve: //曲线->闭合曲线
DrawClosedCurve drawClosedCurve = (DrawClosedCurve)this.drawObject;
drawClosedCurve.labelClosedCurveStyleModel = closedCurveControl.getNowModel((LabelStyleModel.ClosedCurve)this.parentStyleModel);
break;
case DrawToolType.DrawOneArrowLine: //箭头->单向箭头
DrawOneArrowLine drawOneArrowLine = (DrawOneArrowLine)this.drawObject;
drawOneArrowLine.LabelOneArrowStyleModel = oneWayArrowControl.getNowModel((LabelStyleModel.OneWayArrow)this.parentStyleModel);
break;
case DrawToolType.DrawTwoArrowLine: //箭头->双向箭头
DrawTwoArrowLine drawTwoArrowLine = (DrawTwoArrowLine)this.drawObject;
drawTwoArrowLine.LabelTwoArrowStyleModel = twoWayArrowControl.getNowModel((LabelStyleModel.TwoWayArrow)this.parentStyleModel);
break;
case DrawToolType.DrawCircle: //圆->圆
DrawCircle drawCircle = (DrawCircle)this.drawObject;
drawCircle.labelCircleStyleModel = circleControl.getNowModel((LabelStyleModel.CircleModel)this.parentStyleModel);
break;
case DrawToolType.DrawEllipse: //圆->椭圆
DrawEllipse drawEllipse = (DrawEllipse)this.drawObject;
drawEllipse.labelOvalStyleModel = ovalControl.getNowModel((LabelStyleModel.Oval)this.parentStyleModel);
break;
case DrawToolType.DrawRectangle: //多边形->矩形
DrawRectangle drawRectangle = (DrawRectangle)this.drawObject;
drawRectangle.labelRectStyleModel = polygonRectangleControl.getNowModel((LabelStyleModel.PolygonRectangle)this.parentStyleModel);
break;
case DrawToolType.DrawPolygon: //多边形->多边形
DrawPolygon drawPolygon = (DrawPolygon)this.drawObject;
drawPolygon.polygonStyle = polygonControl.getNowModel((LabelStyleModel.PolygonPolygon)this.parentStyleModel);
break;
case DrawToolType.DrawRoundRectangle: //多边形->圆角矩形
DrawRoundRectangle drawRoundRectangle = (DrawRoundRectangle)this.drawObject;
drawRoundRectangle.labelRoundedRectStyleModel = roundedRectangleControl.getNowModel((LabelStyleModel.RoundedRectangle)this.parentStyleModel);
break;
}
this.appWorkspace.ActiveDocumentWorkspace.Refresh();
this.Close();
}
///
/// 关闭
///
///
///
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// 保存,保存到标注样式配置文件
///
///
///
private void button3_Click(object sender, EventArgs e)
{
switch (this.drawObject.drawToolType)
{
case DrawToolType.DrawTextString: //文本
DrawTextString drawTextString = (DrawTextString)this.drawObject;
drawTextString.labelTextModel = textControl.getNowModel((LabelStyleModel.Text)this.parentStyleModel);
drawTextString.isFirstClick = true;
Startup.instance.labelStyleModel.text = textControl.getNowModel((LabelStyleModel.Text)this.parentStyleModel);
break;
case DrawToolType.DrawDateMark: //标记-日期
DrawDateMark drawDateMark = (DrawDateMark)this.drawObject;
drawDateMark.labelDateMarkStyleModel = dateMarkControl.getNowModel((LabelStyleModel.DateMark)this.parentStyleModel);
drawDateMark.isFirstClick = true;
Startup.instance.labelStyleModel.dateMark = dateMarkControl.getNowModel((LabelStyleModel.DateMark)this.parentStyleModel);
break;
case DrawToolType.DrawTimeMark: //标记-时间
DrawTimeMark drawTimeMark = (DrawTimeMark)this.drawObject;
drawTimeMark.labelTimeMarkStyleModel = timeMarkControl.getNowModel((LabelStyleModel.TimeMark)this.parentStyleModel);
drawTimeMark.isFirstClick = true;
Startup.instance.labelStyleModel.timeMark = timeMarkControl.getNowModel((LabelStyleModel.TimeMark)this.parentStyleModel);
break;
case DrawToolType.DrawPointMark: //标记-点标记
DrawPointMark drawPointMark = (DrawPointMark)this.drawObject;
drawPointMark.labelPointMarkStyleModel = pointMarkControl.getNowModel((LabelStyleModel.PointMark)this.parentStyleModel);
Startup.instance.labelStyleModel.pointMark = pointMarkControl.getNowModel((LabelStyleModel.PointMark)this.parentStyleModel);
break;
case DrawToolType.DrawNumberMark: //标记-数字标记
DrawNumberMark drawNumberMark = (DrawNumberMark)this.drawObject;
drawNumberMark.labelNumberMarkStyleModel = numberMarkControl.getNowModel((LabelStyleModel.NumberMark)this.parentStyleModel);
Startup.instance.labelStyleModel.numberMark = numberMarkControl.getNowModel((LabelStyleModel.NumberMark)this.parentStyleModel);
break;
case DrawToolType.DrawGainNumber: //标记-放大倍数
DrawGainNumber drawGainNumber = (DrawGainNumber)this.drawObject;
drawGainNumber.labelGainNumberStyleModel = gainNumberControl.getNowModel((LabelStyleModel.GainNumber)this.parentStyleModel);
drawGainNumber.isFirstClick = true;
Startup.instance.labelStyleModel.gainNumber = gainNumberControl.getNowModel((LabelStyleModel.GainNumber)this.parentStyleModel);
break;
case DrawToolType.DrawLine: //直线->直线
DrawLine drawLine = (DrawLine)this.drawObject;
drawLine.labelLineStyleModel = straightLineControl.getNowModel((LabelStyleModel.LineChildLine)this.parentStyleModel);
Startup.instance.labelStyleModel.lineChildLine = straightLineControl.getNowModel((LabelStyleModel.LineChildLine)this.parentStyleModel);
break;
case DrawToolType.DrawLineSegment: //直线->线段
DrawLineSegment drawLineSegment = (DrawLineSegment)this.drawObject;
drawLineSegment.LabelLineSegment = segmentLineControl.getNowModel((LabelStyleModel.LineChildLineSegment)this.parentStyleModel);
Startup.instance.labelStyleModel.lineChildLineSegment = segmentLineControl.getNowModel((LabelStyleModel.LineChildLineSegment)this.parentStyleModel);
break;
case DrawToolType.DrawPencil: //曲线->铅笔
DrawPencil drawPencil = (DrawPencil)this.drawObject;
drawPencil.LabelStyleModel = pencilControl.getNowModel((LabelStyleModel.Pencil)this.parentStyleModel);
Startup.instance.labelStyleModel.pencilModel = pencilControl.getNowModel((LabelStyleModel.Pencil)this.parentStyleModel);
break;
case DrawToolType.DrawPolygonLine: //曲线->折线
DrawPolygonLine drawPolygonLine = (DrawPolygonLine)this.drawObject;
drawPolygonLine.LabelPolylineStyleModel = polylineControl.getNowModel((LabelStyleModel.Polyline)this.parentStyleModel);
break;
case DrawToolType.DrawCurve: //曲线->曲线
DrawCurve drawCurve = (DrawCurve)this.drawObject;
drawCurve.LabelCurveModelStyleModel = curveControl.getNowModel((LabelStyleModel.CurveModel)this.parentStyleModel);
Startup.instance.labelStyleModel.curveModel = curveControl.getNowModel((LabelStyleModel.CurveModel)this.parentStyleModel);
break;
case DrawToolType.DrawClosedCurve: //曲线->闭合曲线
DrawClosedCurve drawClosedCurve = (DrawClosedCurve)this.drawObject;
drawClosedCurve.labelClosedCurveStyleModel = closedCurveControl.getNowModel((LabelStyleModel.ClosedCurve)this.parentStyleModel);
Startup.instance.labelStyleModel.closedCurveModel = closedCurveControl.getNowModel((LabelStyleModel.ClosedCurve)this.parentStyleModel);
break;
case DrawToolType.DrawOneArrowLine: //箭头->单向箭头
DrawOneArrowLine drawOneArrowLine = (DrawOneArrowLine)this.drawObject;
drawOneArrowLine.LabelOneArrowStyleModel = oneWayArrowControl.getNowModel((LabelStyleModel.OneWayArrow)this.parentStyleModel);
Startup.instance.labelStyleModel.oneWayArrowModel = oneWayArrowControl.getNowModel((LabelStyleModel.OneWayArrow)this.parentStyleModel);
break;
case DrawToolType.DrawTwoArrowLine: //箭头->双向箭头
DrawTwoArrowLine drawTwoArrowLine = (DrawTwoArrowLine)this.drawObject;
drawTwoArrowLine.LabelTwoArrowStyleModel = twoWayArrowControl.getNowModel((LabelStyleModel.TwoWayArrow)this.parentStyleModel);
Startup.instance.labelStyleModel.twoWayArrowModel = twoWayArrowControl.getNowModel((LabelStyleModel.TwoWayArrow)this.parentStyleModel);
break;
case DrawToolType.DrawCircle: //圆->圆
DrawCircle drawCircle = (DrawCircle)this.drawObject;
drawCircle.labelCircleStyleModel = circleControl.getNowModel((LabelStyleModel.CircleModel)this.parentStyleModel);
Startup.instance.labelStyleModel.circleModel = circleControl.getNowModel((LabelStyleModel.CircleModel)this.parentStyleModel);
break;
case DrawToolType.DrawEllipse: //圆->椭圆
DrawEllipse drawEllipse = (DrawEllipse)this.drawObject;
drawEllipse.labelOvalStyleModel = ovalControl.getNowModel((LabelStyleModel.Oval)this.parentStyleModel);
Startup.instance.labelStyleModel.ovalModel = ovalControl.getNowModel((LabelStyleModel.Oval)this.parentStyleModel);
break;
case DrawToolType.DrawRectangle: //多边形->矩形
DrawRectangle drawRectangle = (DrawRectangle)this.drawObject;
drawRectangle.labelRectStyleModel = polygonRectangleControl.getNowModel((LabelStyleModel.PolygonRectangle)this.parentStyleModel);
Startup.instance.labelStyleModel.polygonRectangle = polygonRectangleControl.getNowModel((LabelStyleModel.PolygonRectangle)this.parentStyleModel);
break;
case DrawToolType.DrawPolygon: //多边形->多边形
DrawPolygon drawPolygon = (DrawPolygon)this.drawObject;
drawPolygon.polygonStyle = polygonControl.getNowModel((LabelStyleModel.PolygonPolygon)this.parentStyleModel);
Startup.instance.labelStyleModel.polygonPolygon = polygonControl.getNowModel((LabelStyleModel.PolygonPolygon)this.parentStyleModel);
break;
case DrawToolType.DrawRoundRectangle: //多边形->圆角矩形
DrawRoundRectangle drawRoundRectangle = (DrawRoundRectangle)this.drawObject;
drawRoundRectangle.labelRoundedRectStyleModel = roundedRectangleControl.getNowModel((LabelStyleModel.RoundedRectangle)this.parentStyleModel);
Startup.instance.labelStyleModel.roundedRectangle = roundedRectangleControl.getNowModel((LabelStyleModel.RoundedRectangle)this.parentStyleModel);
break;
}
//以下保存xml文件信息
string stageModelXml = XmlSerializeHelper.XmlSerialize(Startup.instance.labelStyleModel);
string filePath = Application.StartupPath + "\\Config\\" + Startup.instance.SettingPrefix + "\\Label\\" + Startup.instance.configModel.LabelStyle;
FileOperationHelper.WriteStringToFile(stageModelXml, filePath, FileMode.Create);
this.appWorkspace.ActiveDocumentWorkspace.Refresh();
this.Close();
}
}
}