From 22f763a6c4d2dad55ed76de29d32f1de8e4c8b76 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 5 Feb 2018 19:01:42 +0800 Subject: [PATCH] =?UTF-8?q?MOBILE-3963=209.0=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E6=96=B0=E7=95=8C=E9=9D=A2=EF=BC=88=E7=A7=BB=E5=8A=A8=E7=AB=AF?= =?UTF-8?q?=EF=BC=89=3D>=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/frpane/AbstractAttrNoScrollPane.java | 11 +++++-- .../mainframe/MobileWidgetListPane.java | 30 +++++++++---------- .../designer/mobile/BodyMobileDefinePane.java | 23 ++------------ .../mobile/ChartEditorDefinePane.java | 19 ------------ .../mobile/ElementCaseDefinePane.java | 19 ------------ .../mobile/MobileWidgetDefinePane.java | 12 ++++++++ .../designer/mobile/ParaMobileDefinePane.java | 23 ++------------ 7 files changed, 39 insertions(+), 98 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java b/designer_base/src/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java index 755d9cfaea..361a93b958 100644 --- a/designer_base/src/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java +++ b/designer_base/src/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java @@ -5,6 +5,7 @@ import com.fr.design.event.GlobalNameListener; import com.fr.design.event.GlobalNameObserver; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; +import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; @@ -132,13 +133,19 @@ public abstract class AbstractAttrNoScrollPane extends BasicPane { /** * 返回图标的路径 */ - public abstract String getIconPath(); + public String getIconPath() { + // 默认为空,子类有需要再重写 + return StringUtils.EMPTY; + } /** * 界面标题 * @return 标题 */ - public abstract String title4PopupWindow(); + public String title4PopupWindow() { + // 默认为空,子类有需要再重写 + return StringUtils.EMPTY; + } /** * 设置选中的ID, 用于双击展示界面. diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetListPane.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetListPane.java index a8796170e8..3d2c67cdaa 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetListPane.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetListPane.java @@ -5,6 +5,7 @@ import com.fr.design.gui.controlpane.UISimpleListControlPane; import com.fr.form.ui.Widget; import com.fr.form.ui.container.WSortLayout; import com.fr.general.NameObject; +import com.fr.stable.ArrayUtils; import com.fr.stable.Nameable; import java.util.ArrayList; @@ -17,12 +18,13 @@ public class MobileWidgetListPane extends UISimpleListControlPane { public static final String LIST_NAME = "Widget_List"; private FormDesigner designer; - private List widgetNameList; - private static final List EMPTY_LIST = new ArrayList(); + private WSortLayout wSortLayout; + private String[] widgetNameList; - public MobileWidgetListPane(FormDesigner designer) { + public MobileWidgetListPane(FormDesigner designer, WSortLayout wSortLayout) { super(); this.designer = designer; + this.wSortLayout = wSortLayout; widgetNameList = getData(); List nameObjectList = new ArrayList(); @@ -41,7 +43,7 @@ public class MobileWidgetListPane extends UISimpleListControlPane { for (Nameable nameable : nameableList) { newMobileWidgetList.add(nameable.getName()); } - ((WSortLayout) designer.getSelectionModel().getSelection().getSelectedCreator().toData()).updateSortedMobileWidgetList(newMobileWidgetList); + wSortLayout.updateSortedMobileWidgetList(newMobileWidgetList); } /** @@ -49,25 +51,21 @@ public class MobileWidgetListPane extends UISimpleListControlPane { * * @return List widgetNameList */ - private List getData() { + private String[] getData() { //选择的控件 XCreator selectedCreator = designer.getSelectionModel().getSelection().getSelectedCreator(); Widget selectedModel = selectedCreator != null ? selectedCreator.toData() : null; - if (selectedModel == null) { - return new ArrayList<>(); + if (selectedModel == null || !selectedModel.acceptType(WSortLayout.class)) { + return ArrayUtils.EMPTY_STRING_ARRAY; } // 选择的控件有两种类型,一种是WLayout,代表容器,一种是Widget,代表控件 - if (selectedModel.acceptType(WSortLayout.class)) { - java.util.List mobileWidgetList = ((WSortLayout) selectedModel).getOrderedMobileWidgetList(); - List widgetName = new ArrayList(); - for (int i = 0; i < mobileWidgetList.size(); i++) { - widgetName.add(mobileWidgetList.get(i)); - } - return widgetName; - } else { - return EMPTY_LIST; + java.util.List mobileWidgetList = ((WSortLayout) selectedModel).getOrderedMobileWidgetList(); + String[] widgetNames = new String[mobileWidgetList.size()]; + for (int i = 0; i < mobileWidgetList.size(); i++) { + widgetNames[i] = mobileWidgetList.get(i); } + return widgetNames; } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java index a9e34f7813..f307152849 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java @@ -9,8 +9,8 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.MobileWidgetListPane; import com.fr.design.mainframe.WidgetPropertyPane; +import com.fr.form.ui.container.WSortLayout; import com.fr.general.Inter; -import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; @@ -30,25 +30,6 @@ public class BodyMobileDefinePane extends MobileWidgetDefinePane { this.bodyCreator = xCreator; } - @Override - protected void initContentPane() {} - - @Override - protected JPanel createContentPane() { - return new JPanel(); - } - - @Override - public String getIconPath() { - return StringUtils.EMPTY; - } - - @Override - public String title4PopupWindow() { - return StringUtils.EMPTY; - } - - @Override public void initPropertyGroups(Object source) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -74,7 +55,7 @@ public class BodyMobileDefinePane extends MobileWidgetDefinePane { // 控件顺序 private UIExpandablePane getMobileWidgetListPane() { - mobileWidgetListPane = new MobileWidgetListPane(designer); + mobileWidgetListPane = new MobileWidgetListPane(designer, (WSortLayout) bodyCreator.toData()); mobileWidgetListPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 5, 0)); JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane(); panelWrapper.add(mobileWidgetListPane, BorderLayout.CENTER); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java index 477ab9aab2..240ddc3261 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java @@ -49,25 +49,6 @@ public class ChartEditorDefinePane extends MobileWidgetDefinePane{ this.xCreator = xCreator; } - @Override - protected void initContentPane() {} - - @Override - protected JPanel createContentPane() { - return new JPanel(); - } - - @Override - public String getIconPath() { - return StringUtils.EMPTY; - } - - @Override - public String title4PopupWindow() { - return StringUtils.EMPTY; - } - - @Override public void initPropertyGroups(Object source) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java index 70c3b94f63..afe9027f02 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java @@ -48,25 +48,6 @@ public class ElementCaseDefinePane extends MobileWidgetDefinePane{ this.xCreator = xCreator; } - @Override - protected void initContentPane() {} - - @Override - protected JPanel createContentPane() { - return null; - } - - @Override - public String getIconPath() { - return ""; - } - - @Override - public String title4PopupWindow() { - return "ElementCase"; - } - - @Override public void initPropertyGroups(Object source) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/mobile/MobileWidgetDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/mobile/MobileWidgetDefinePane.java index 49d0b59a52..ac4de096a6 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/mobile/MobileWidgetDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/mobile/MobileWidgetDefinePane.java @@ -3,6 +3,8 @@ package com.fr.design.widget.ui.designer.mobile; import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; import com.fr.design.mainframe.FormDesigner; +import javax.swing.*; + /** * 所有移动端需要拓展的属性面板均继承此类 * @@ -23,4 +25,14 @@ public abstract class MobileWidgetDefinePane extends AbstractAttrNoScrollPane{ * 从属性面板把数据传到后台 */ public abstract void update(); + + // 暂不需要此方法 + @Override + protected void initContentPane() {} + + // 暂不需要此方法 + @Override + protected JPanel createContentPane() { + return new JPanel(); + } } diff --git a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java index 55eeddadb4..91c26678f4 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java @@ -8,8 +8,8 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.MobileWidgetListPane; import com.fr.design.mainframe.WidgetPropertyPane; +import com.fr.form.ui.container.WSortLayout; import com.fr.general.Inter; -import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; @@ -27,25 +27,6 @@ public class ParaMobileDefinePane extends MobileWidgetDefinePane { this.paraCreator = xCreator; } - @Override - protected void initContentPane() {} - - @Override - protected JPanel createContentPane() { - return new JPanel(); - } - - @Override - public String getIconPath() { - return StringUtils.EMPTY; - } - - @Override - public String title4PopupWindow() { - return StringUtils.EMPTY; - } - - @Override public void initPropertyGroups(Object source) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -56,7 +37,7 @@ public class ParaMobileDefinePane extends MobileWidgetDefinePane { // 控件顺序 private UIExpandablePane getMobileWidgetListPane() { - mobileWidgetListPane = new MobileWidgetListPane(designer); + mobileWidgetListPane = new MobileWidgetListPane(designer, (WSortLayout) paraCreator.toData()); mobileWidgetListPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 5, 0)); JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane(); panelWrapper.add(mobileWidgetListPane, BorderLayout.CENTER);