Browse Source

editer:fix:箭头多边形移动后无法选中端点问题

haojianlong 4 years ago
parent
commit
a448b3c38e

+ 2 - 0
src/components/editClass/big-edit/SBaseEditScene.ts

@@ -161,6 +161,8 @@ export class SBaseEditScene extends SGraphEditScene {
         item.selectable = true;
         this.addItem(item);
         this.grabItem = item;
+        console.log(this.grabItem);
+        
         item.connect("finishCreated", this, this.finishCreated);
         item.connect("onContextMenu", this, this.getItem);
         if (this.view) {

+ 2 - 0
src/components/editClass/big-edit/items/SBaseArrowPolyEdit.ts

@@ -61,7 +61,9 @@ export class SBaseArrowPolyEdit extends SBaseLineEdit {
 		 * @param data      坐标集合|第一个点坐标
 		 */
 	constructor(parent: SGraphItem | null, data: Marker) {
+		
 		super(parent, data);
+		console.log(data);
 		this.pointChange();
 	} // Constructor
 

+ 24 - 24
src/components/editClass/edit/items/SBaseLineEdit.ts

@@ -162,31 +162,33 @@ export class SBaseLineEdit extends SGraphEdit {
         super(parent);
         this.showSelect = false;
         this.data = data;
-        if (data.style && data.style.default) {
+        if (data.style) {
             // 关于顶点
-            if (data.style.default.line) {
+            if (data.style.line) {
                 let setPointList: SPoint[];
-                setPointList = data.style.default.line.map((i: { x: number; y: number; }) => {
+                setPointList = data.style.line.map((i: { x: number; y: number; }) => {
                     return new SPoint(i.x, i.y)
                 });
                 this.line = setPointList;
             }
-            // 颜色
-            if (data.style.default.strokeColor) {
-                this.strokeColor = new SColor(data.style.default.strokeColor)
-            }
-            // 颜色
-            if (data.style.default.fillColor) {
-                this.fillColor = new SColor(data.style.default.fillColor)
-            }
-            // 线宽
-            if (data.style.default.lineWidth) {
-                this.lineWidth = data.style.default.lineWidth
-            }
-
-            // 线样式
-            if (data.style.default.lineStyle) {
-                this.lineStyle = data.style.default.lineStyle
+            if (data.style.default) {
+                // 颜色
+                if (data.style.default.strokeColor) {
+                    this.strokeColor = new SColor(data.style.default.strokeColor)
+                }
+                // 颜色
+                if (data.style.default.fillColor) {
+                    this.fillColor = new SColor(data.style.default.fillColor)
+                }
+                // 线宽
+                if (data.style.default.lineWidth) {
+                    this.lineWidth = data.style.default.lineWidth
+                }
+    
+                // 线样式
+                if (data.style.default.lineStyle) {
+                    this.lineStyle = data.style.default.lineStyle
+                }
             }
         }
     }
@@ -243,7 +245,6 @@ export class SBaseLineEdit extends SGraphEdit {
         if (event.shiftKey || this._verAndLeve) {
             event = this.compare(event);
         }
-
         if (event.buttons == SMouseButton.LeftButton) {
             if (this.status == SItemStatus.Normal) {
                 // return super.onMouseDown(event);
@@ -359,8 +360,8 @@ export class SBaseLineEdit extends SGraphEdit {
             let dis = SMathUtil.pointDistance(
                 p.x,
                 p.y,
-                this.line[i].x,
-                this.line[i].y
+                this.line[i].x + this.x,
+                this.line[i].y + this.y
             );
             if (dis < len) {
                 len = dis;
@@ -394,7 +395,6 @@ export class SBaseLineEdit extends SGraphEdit {
             t.y = t.y + this.y;
             return t;
         });
-
         this.x = 0;
         this.y = 0;
     } // Function moveToOrigin()
@@ -530,7 +530,7 @@ export class SBaseLineEdit extends SGraphEdit {
     toData(): any {
         this.moveToOrigin()
         const Line = [{ x: this.line[0].x, y: this.line[0].y }, { x: this.line[1].x, y: this.line[1].y }];
-        this.data.style.default.line = Line;
+        this.data.style.line = Line;
         this.data.style.default.lineWidth = this.lineWidth;
         this.data.style.default.lineStyle = this.lineStyle;
         this.data.style.default.strokeColor = this.strokeColor.value;

+ 0 - 1
src/components/editClass/persagy-edit/PTopoScene.ts

@@ -124,7 +124,6 @@ export class PTopoScene extends SBaseEditScene {
      * @param itemList? SGraphEdit[] 如果不传入默认使用选择器中选中得item
      */
     updateStyle(styletype: string, changestyle: any, itemList?: SGraphEdit[]): void {
-
         // 如果未传入需要修改样式的item,默认取选择器中的item
         let List = null;
         if (itemList && itemList.length) {