Browse Source

无任务 调整代码

master
yaoh.wu 8 years ago
parent
commit
32ea80b862
  1. 110
      designer_form/src/com/fr/design/mainframe/FormSelectionUtils.java

110
designer_form/src/com/fr/design/mainframe/FormSelectionUtils.java

@ -33,63 +33,87 @@ public class FormSelectionUtils {
/** /**
* @param designer 编辑器 * @param designer 编辑器
* @param parent 粘贴依据的组件 * @param parent 粘贴依据的组件
* @param clipBoard 剪贴板内容 * @param clipboard 剪贴板内容
* @param x x * @param x x
* @param y y * @param y y
*/ */
public static void paste2Container(FormDesigner designer, XLayoutContainer parent, public static void paste2Container(FormDesigner designer, XLayoutContainer parent,
FormSelection clipBoard, int x, int y) { FormSelection clipboard, int x, int y) {
LayoutAdapter adapter = parent.getLayoutAdapter(); LayoutAdapter adapter = parent.getLayoutAdapter();
if (parent instanceof XWAbsoluteLayout) { if (parent instanceof XWAbsoluteLayout) {
//绝对布局 //绝对布局
designer.getSelectionModel().getSelection().reset(); absolutePaste(designer, clipboard, adapter, x, y);
Rectangle rec = clipBoard.getSelctionBounds();
for (XCreator creator : clipBoard.getSelectedCreators()) {
try {
Widget copied = copyWidget(designer, creator);
XCreator copiedCreator = XCreatorUtils.createXCreator(copied, creator.getSize());
// 获取位置
Point point = getPasteLocation((AbstractLayoutAdapter) adapter,
copiedCreator,
x + creator.getX() - rec.x + copiedCreator.getWidth() / 2,
y + creator.getY() - rec.y + copiedCreator.getHeight() / 2);
boolean addSuccess = adapter.addBean(copiedCreator, point.x, point.y);
if (addSuccess) {
designer.getSelectionModel().getSelection().addSelectedCreator(copiedCreator);
}
} catch (CloneNotSupportedException e) {
FRContext.getLogger().error(e.getMessage(), e);
}
}
rebuildSelection(designer);
designer.getEditListenerTable().fireCreatorModified(
designer.getSelectionModel().getSelection().getSelectedCreator(), DesignerEvent.CREATOR_PASTED);
return; return;
} else if (parent instanceof XWFitLayout) { } else if (parent instanceof XWFitLayout) {
//相对布局 //相对布局
designer.getSelectionModel().getSelection().reset(); relativePaste(designer, clipboard, adapter, x, y);
for (XCreator creator : clipBoard.getSelectedCreators()) { return;
try { }
Widget copied = copyWidget(designer, creator); Toolkit.getDefaultToolkit().beep();
XCreator copiedCreator = XCreatorUtils.createXCreator(copied, creator.getSize()); }
boolean addSuccess = adapter.addBean(copiedCreator, x, y);
/**
if (addSuccess) { * 绝对布局粘贴
designer.getSelectionModel().getSelection().addSelectedCreator(copiedCreator); *
} * @param designer
* @param clipboard
* @param adapter
* @param x
* @param y
*/
private static void absolutePaste(FormDesigner designer, FormSelection clipboard, LayoutAdapter adapter, int x, int y) {
} catch (CloneNotSupportedException e) { designer.getSelectionModel().getSelection().reset();
FRContext.getLogger().error(e.getMessage(), e); Rectangle rec = clipboard.getSelctionBounds();
for (XCreator creator : clipboard.getSelectedCreators()) {
try {
Widget copied = copyWidget(designer, creator);
XCreator copiedCreator = XCreatorUtils.createXCreator(copied, creator.getSize());
// 获取位置
Point point = getPasteLocation((AbstractLayoutAdapter) adapter,
copiedCreator,
x + creator.getX() - rec.x + copiedCreator.getWidth() / 2,
y + creator.getY() - rec.y + copiedCreator.getHeight() / 2);
boolean addSuccess = adapter.addBean(copiedCreator, point.x, point.y);
if (addSuccess) {
designer.getSelectionModel().getSelection().addSelectedCreator(copiedCreator);
} }
} catch (CloneNotSupportedException e) {
FRContext.getLogger().error(e.getMessage(), e);
} }
rebuildSelection(designer);
designer.getEditListenerTable().fireCreatorModified(
designer.getSelectionModel().getSelection().getSelectedCreator(), DesignerEvent.CREATOR_PASTED);
return;
} }
Toolkit.getDefaultToolkit().beep(); rebuildSelection(designer);
designer.getEditListenerTable().fireCreatorModified(
designer.getSelectionModel().getSelection().getSelectedCreator(), DesignerEvent.CREATOR_PASTED);
}
/**
* 相对布局粘贴
*
* @param designer
* @param clipboard
* @param adapter
* @param x
* @param y
*/
private static void relativePaste(FormDesigner designer, FormSelection clipboard, LayoutAdapter adapter, int x, int y) {
designer.getSelectionModel().getSelection().reset();
for (XCreator creator : clipboard.getSelectedCreators()) {
try {
Widget copied = copyWidget(designer, creator);
XCreator copiedCreator = XCreatorUtils.createXCreator(copied, creator.getSize());
boolean addSuccess = adapter.addBean(copiedCreator, x, y);
if (addSuccess) {
designer.getSelectionModel().getSelection().addSelectedCreator(copiedCreator);
}
} catch (CloneNotSupportedException e) {
FRContext.getLogger().error(e.getMessage(), e);
}
}
rebuildSelection(designer);
designer.getEditListenerTable().fireCreatorModified(
designer.getSelectionModel().getSelection().getSelectedCreator(), DesignerEvent.CREATOR_PASTED);
} }
/** /**

Loading…
Cancel
Save