Browse Source

REPORT-6277 绝对布局下设计器界面调整了组件上下位置后,web端预览没有相应的变化

plough 8 years ago
parent
commit
3f828e7094
  1. 5
      designer_form/src/com/fr/design/designer/beans/actions/MoveDownAction.java
  2. 5
      designer_form/src/com/fr/design/designer/beans/actions/MoveToBottomAction.java
  3. 5
      designer_form/src/com/fr/design/designer/beans/actions/MoveToTopAction.java
  4. 6
      designer_form/src/com/fr/design/designer/beans/actions/MoveUpAction.java
  5. 8
      designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java

5
designer_form/src/com/fr/design/designer/beans/actions/MoveDownAction.java

@ -3,6 +3,7 @@ package com.fr.design.designer.beans.actions;
import com.fr.base.BaseUtils;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormSelection;
import com.fr.general.Inter;
@ -37,13 +38,13 @@ public class MoveDownAction extends FormEditAction {
}
FormSelection selection = designer.getSelectionModel().getSelection();
XCreator creator = selection.getSelectedCreator();
Container container = creator.getParent();
XLayoutContainer container = (XLayoutContainer) creator.getParent();
int targetIndex = container.getComponentZOrder(creator) + 1;
if (targetIndex >= container.getComponentCount()) {
return false;
}
container.setComponentZOrder(creator, targetIndex);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_DELETED);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_SELECTED);
return true;
}

5
designer_form/src/com/fr/design/designer/beans/actions/MoveToBottomAction.java

@ -3,6 +3,7 @@ package com.fr.design.designer.beans.actions;
import com.fr.base.BaseUtils;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormSelection;
import com.fr.general.Inter;
@ -37,13 +38,13 @@ public class MoveToBottomAction extends FormEditAction {
}
FormSelection selection = designer.getSelectionModel().getSelection();
XCreator creator = selection.getSelectedCreator();
Container container = creator.getParent();
XLayoutContainer container = (XLayoutContainer) creator.getParent();
int targetIndex = container.getComponentCount() - 1;
if (container.getComponentZOrder(creator) >= targetIndex) {
return false;
}
container.setComponentZOrder(creator, targetIndex);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_DELETED);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_SELECTED);
return true;
}

5
designer_form/src/com/fr/design/designer/beans/actions/MoveToTopAction.java

@ -3,6 +3,7 @@ package com.fr.design.designer.beans.actions;
import com.fr.base.BaseUtils;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormSelection;
import com.fr.general.Inter;
@ -37,12 +38,12 @@ public class MoveToTopAction extends FormEditAction {
}
FormSelection selection = designer.getSelectionModel().getSelection();
XCreator creator = selection.getSelectedCreator();
Container container = creator.getParent();
XLayoutContainer container = (XLayoutContainer) creator.getParent();
if (container.getComponentZOrder(creator) == 0) {
return false;
}
container.setComponentZOrder(creator, 0);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_DELETED);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_SELECTED);
return true;
}

6
designer_form/src/com/fr/design/designer/beans/actions/MoveUpAction.java

@ -3,6 +3,7 @@ package com.fr.design.designer.beans.actions;
import com.fr.base.BaseUtils;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormSelection;
import com.fr.general.Inter;
@ -36,13 +37,14 @@ public class MoveUpAction extends FormEditAction {
}
FormSelection selection = designer.getSelectionModel().getSelection();
XCreator creator = selection.getSelectedCreator();
Container container = creator.getParent();
XLayoutContainer container = (XLayoutContainer) creator.getParent();
int targetIndex = container.getComponentZOrder(creator) - 1;
if (targetIndex < 0) {
return false;
}
container.setComponentZOrder(creator, targetIndex);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_DELETED);
designer.getEditListenerTable().fireCreatorModified(creator, DesignerEvent.CREATOR_SELECTED);
return true;
}

8
designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java

@ -126,6 +126,14 @@ public abstract class XLayoutContainer extends XBorderStyleWidgetCreator impleme
return this;
}
public void setComponentZOrder(XCreator creator, int targetIndex) {
super.setComponentZOrder(creator, targetIndex); // 设计器界面上更改
// 以下是数据层更改,会反映到 web 端
WLayout layout = this.toData();
String widgetName = creator.toData().getWidgetName();
layout.setWidgetIndex(layout.getWidget(widgetName), targetIndex);
}
/**
* 当前组件zorder位置替换新的控件
*

Loading…
Cancel
Save