Browse Source

MOBILE-3963 9.0设计器新界面(移动端)=>代码规范

plough 7 years ago
parent
commit
22f763a6c4
  1. 11
      designer_base/src/com/fr/design/gui/frpane/AbstractAttrNoScrollPane.java
  2. 30
      designer_form/src/com/fr/design/mainframe/MobileWidgetListPane.java
  3. 23
      designer_form/src/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java
  4. 19
      designer_form/src/com/fr/design/widget/ui/designer/mobile/ChartEditorDefinePane.java
  5. 19
      designer_form/src/com/fr/design/widget/ui/designer/mobile/ElementCaseDefinePane.java
  6. 12
      designer_form/src/com/fr/design/widget/ui/designer/mobile/MobileWidgetDefinePane.java
  7. 23
      designer_form/src/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java

11
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, 用于双击展示界面.

30
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<String> widgetNameList;
private static final List<String> EMPTY_LIST = new ArrayList<String>();
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<NameObject> nameObjectList = new ArrayList<NameObject>();
@ -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<String> widgetNameList
*/
private List<String> 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<String> mobileWidgetList = ((WSortLayout) selectedModel).getOrderedMobileWidgetList();
List<String> widgetName = new ArrayList<String>();
for (int i = 0; i < mobileWidgetList.size(); i++) {
widgetName.add(mobileWidgetList.get(i));
}
return widgetName;
} else {
return EMPTY_LIST;
java.util.List<String> 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;
}
}

23
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);

19
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());

19
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());

12
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();
}
}

23
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);

Loading…
Cancel
Save