|
|
@ -1248,7 +1248,7 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection |
|
|
|
* @param currentDragEvent |
|
|
|
* @param currentDragEvent |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void startDraggingNewWidget(XCreator xCreator, MouseEvent startDragEvent, MouseEvent currentDragEvent) { |
|
|
|
public void startDraggingNewWidget(XCreator xCreator, MouseEvent startDragEvent, MouseEvent currentDragEvent) { |
|
|
|
if (currentDragEvent == null || this.getDropTarget() != null) { |
|
|
|
if (currentDragEvent == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1270,7 +1270,7 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection |
|
|
|
* @param currentDragEvent |
|
|
|
* @param currentDragEvent |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void startDraggingFormWidget(XCreator xCreator, MouseEvent startDragEvent, MouseEvent currentDragEvent) { |
|
|
|
public void startDraggingFormWidget(XCreator xCreator, MouseEvent startDragEvent, MouseEvent currentDragEvent) { |
|
|
|
if (currentDragEvent == null || this.getDropTarget() != null) { |
|
|
|
if (currentDragEvent == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
backUpCreator(xCreator); |
|
|
|
backUpCreator(xCreator); |
|
|
@ -1318,7 +1318,14 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection |
|
|
|
DraggingModel model = this.draggingModel; |
|
|
|
DraggingModel model = this.draggingModel; |
|
|
|
MouseEvent dragEvent = model.getCurrentDragEvent(); |
|
|
|
MouseEvent dragEvent = model.getCurrentDragEvent(); |
|
|
|
XCreator hotspot = this.getComponentAt(dragEvent.getX(), dragEvent.getY()); |
|
|
|
XCreator hotspot = this.getComponentAt(dragEvent.getX(), dragEvent.getY()); |
|
|
|
return XCreatorUtils.getHotspotContainer(hotspot); |
|
|
|
XLayoutContainer container = XCreatorUtils.getHotspotContainer(hotspot); |
|
|
|
|
|
|
|
XLayoutContainer topLayout = container.getTopLayout(); |
|
|
|
|
|
|
|
// REPORT-66939 Tab比较特殊,它是又多个LayoutContainer组成,直接返回container会导致误判,需要先找到最上层topLayout,取其父layout才是正确结果
|
|
|
|
|
|
|
|
if (topLayout != null && container != topLayout) { |
|
|
|
|
|
|
|
return (XLayoutContainer) topLayout.getParent(); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return container; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|