Browse Source

Merge pull request #1090 in DESIGN/design from ~KERRY/design_10.0:bugfix/10.0 to bugfix/10.0

* commit 'e950feb1f5ecbaa057cc36c8bbcc56d40e15a221':
  REPORT-21202 tab块修改为菜单样式之后改不回默认了
bugfix/10.0
kerry 5 years ago
parent
commit
a085cbb1fe
  1. 47
      designer-form/src/main/java/com/fr/design/designer/beans/models/SelectionModel.java
  2. 6
      designer-form/src/main/java/com/fr/design/mainframe/FormSelection.java

47
designer-form/src/main/java/com/fr/design/designer/beans/models/SelectionModel.java

@ -18,7 +18,9 @@ import com.fr.design.utils.ComponentUtils;
import com.fr.design.utils.gui.LayoutUtils; import com.fr.design.utils.gui.LayoutUtils;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import java.awt.*; import java.awt.LayoutManager;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.util.ArrayList; import java.util.ArrayList;
@ -175,36 +177,19 @@ public class SelectionModel {
} }
private void pasteXWFitLayout() { private void pasteXWFitLayout() {
if (selection.getSelectedCreator().getClass().equals(XWTabFitLayout.class)) { //自适应布局编辑器内部左上角第一个坐标点
XLayoutContainer container = (XLayoutContainer) selection.getSelectedCreator(); int leftUpX = designer.getRootComponent().toData().getMargin().getLeft() + 1;
//tab布局编辑器内部左上角第一个坐标点 int leftUpY = designer.getRootComponent().toData().getMargin().getTop() + 1;
int leftUpX = container.toData().getMargin().getLeft() + 1; //选中第一个坐标点坐在的组件
int leftUpY = container.toData().getMargin().getTop() + 1; selection.setSelectedCreator((XCreator) designer.getRootComponent().getComponentAt(leftUpX, leftUpY));
//选中第一个坐标点坐在的组件 Rectangle rectangle = selection.getRelativeBounds();
selection.setSelectedCreator((XCreator) container.getComponentAt(leftUpX, leftUpY)); if (hasSelectedPasteSource()) {
Rectangle rectangle = selection.getRelativeBounds(); selectedPaste();
if (hasSelectedPasteSource()) {
selectedPaste();
} else {
FormSelectionUtils.paste2Container(designer, container, clipboard,
rectangle.x + rectangle.width / 2,
rectangle.y + DELTA_X_Y);
}
} else { } else {
//自适应布局编辑器内部左上角第一个坐标点 FormSelectionUtils.paste2Container(designer, designer.getRootComponent(),
int leftUpX = designer.getRootComponent().toData().getMargin().getLeft() + 1; clipboard,
int leftUpY = designer.getRootComponent().toData().getMargin().getTop() + 1; rectangle.x + rectangle.width / 2,
//选中第一个坐标点坐在的组件 rectangle.y + DELTA_X_Y);
selection.setSelectedCreator((XCreator) designer.getRootComponent().getComponentAt(leftUpX, leftUpY));
Rectangle rectangle = selection.getRelativeBounds();
if (hasSelectedPasteSource()) {
selectedPaste();
} else {
FormSelectionUtils.paste2Container(designer, designer.getRootComponent(),
clipboard,
rectangle.x + rectangle.width / 2,
rectangle.y + DELTA_X_Y);
}
} }
} }
@ -497,4 +482,4 @@ public class SelectionModel {
selection.setSelectedCreators(rebuildSelection); selection.setSelectedCreators(rebuildSelection);
fireCreatorSelected(); fireCreatorSelected();
} }
} }

6
designer-form/src/main/java/com/fr/design/mainframe/FormSelection.java

@ -11,6 +11,7 @@ import com.fr.design.designer.creator.XWAbsoluteLayout;
import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.designer.creator.XWFitLayout;
import com.fr.design.designer.creator.XWParameterLayout; import com.fr.design.designer.creator.XWParameterLayout;
import com.fr.design.designer.creator.cardlayout.XWCardTagLayout; import com.fr.design.designer.creator.cardlayout.XWCardTagLayout;
import com.fr.design.designer.creator.cardlayout.XWTabFitLayout;
import com.fr.design.utils.ComponentUtils; import com.fr.design.utils.ComponentUtils;
import com.fr.design.utils.gui.LayoutUtils; import com.fr.design.utils.gui.LayoutUtils;
import com.fr.form.ui.Widget; import com.fr.form.ui.Widget;
@ -317,6 +318,9 @@ public class FormSelection {
clipBoard.reset(); clipBoard.reset();
for (XCreator root : selection) { for (XCreator root : selection) {
if(root.acceptType(XWTabFitLayout.class)){
continue;
}
try { try {
XCreator creator = XCreatorUtils.createXCreator((Widget) root.toData().clone()); XCreator creator = XCreatorUtils.createXCreator((Widget) root.toData().clone());
creator.setBounds(root.getBounds()); creator.setBounds(root.getBounds());
@ -326,4 +330,4 @@ public class FormSelection {
} }
} }
} }
} }

Loading…
Cancel
Save