123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479 |
- 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
- {
- /// <summary>
- /// 标注列表 修改样式
- /// </summary>
- 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();
- }
- /// <summary>
- /// 关闭
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button2_Click(object sender, EventArgs e)
- {
- this.Close();
- }
-
- /// <summary>
- /// 保存,保存到标注样式配置文件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- 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<LabelStyleModel>(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();
- }
- }
- }
|