Browse Source

Merge branch 'release/10.0' of http://cloud.finedevelop.com:2015/scm/~qinghui.liu/design into release/10.0

final/10.0
Qinghui.Liu 6 years ago
parent
commit
3164fee672
  1. 21
      designer-base/src/main/java/com/fr/env/RemoteEnvPane.java
  2. 174
      designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java
  3. 4
      designer-form/src/main/java/com/fr/design/form/mobile/FormMobileOthersPane.java
  4. 78
      designer-form/src/main/java/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java
  5. 2
      designer-realize/src/main/java/com/fr/design/report/mobile/MobileOthersPane.java

21
designer-base/src/main/java/com/fr/env/RemoteEnvPane.java vendored

@ -523,9 +523,7 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
DesignerEnvManager.getEnvManager().setCertificatePass(connection.getCertSecretKey()); DesignerEnvManager.getEnvManager().setCertificatePass(connection.getCertSecretKey());
try { try {
return WorkContext.getConnector().testConnection(connection); return WorkContext.getConnector().testConnection(connection);
} catch (AuthException e) { } catch (AuthException ignored) {
message.setText(Toolkit.i18nText("Fine-Designer_Basic_Remote_Connect_Auth_Failed"));
uiLabel.setIcon(UIManager.getIcon("OptionPane.errorIcon"));
return null; return null;
} }
} }
@ -534,13 +532,18 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
protected void done() { protected void done() {
okButton.setEnabled(true); okButton.setEnabled(true);
try { try {
if (get()) { Boolean result = get();
message.setText(Toolkit.i18nText("Fine-Designer_Basic_Remote_Connect_Successful")); if (result == null) {
uiLabel.setIcon(UIManager.getIcon("OptionPane.informationIcon")); message.setText(Toolkit.i18nText("Fine-Designer_Basic_Remote_Connect_Auth_Failed"));
} else {
message.setText(Toolkit.i18nText("Fine-Designer_Basic_Remote_Connect_Failed"));
uiLabel.setIcon(UIManager.getIcon("OptionPane.errorIcon")); uiLabel.setIcon(UIManager.getIcon("OptionPane.errorIcon"));
} else {
if (result) {
message.setText(Toolkit.i18nText("Fine-Designer_Basic_Remote_Connect_Successful"));
uiLabel.setIcon(UIManager.getIcon("OptionPane.informationIcon"));
} else {
message.setText(Toolkit.i18nText("Fine-Designer_Basic_Remote_Connect_Failed"));
uiLabel.setIcon(UIManager.getIcon("OptionPane.errorIcon"));
}
} }
} catch (InterruptedException | ExecutionException e) { } catch (InterruptedException | ExecutionException e) {
FineLoggerFactory.getLogger().error(e, e.getMessage()); FineLoggerFactory.getLogger().error(e, e.getMessage());

174
designer-form/src/main/java/com/fr/design/designer/creator/XCreatorUtils.java

@ -3,25 +3,70 @@
*/ */
package com.fr.design.designer.creator; package com.fr.design.designer.creator;
import com.fr.base.FRContext;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
import com.fr.design.designer.creator.cardlayout.*; import com.fr.design.designer.creator.cardlayout.XCardAddButton;
import com.fr.design.designer.creator.cardlayout.XCardSwitchButton;
import com.fr.design.designer.creator.cardlayout.XWCardLayout;
import com.fr.design.designer.creator.cardlayout.XWCardMainBorderLayout;
import com.fr.design.designer.creator.cardlayout.XWCardTagLayout;
import com.fr.design.designer.creator.cardlayout.XWCardTitleLayout;
import com.fr.design.designer.creator.cardlayout.XWTabFitLayout;
import com.fr.design.fun.FormWidgetOptionProvider; import com.fr.design.fun.FormWidgetOptionProvider;
import com.fr.design.fun.ParameterWidgetOptionProvider; import com.fr.design.fun.ParameterWidgetOptionProvider;
import com.fr.design.module.DesignModuleFactory; import com.fr.design.module.DesignModuleFactory;
import com.fr.design.utils.gui.LayoutUtils; import com.fr.design.utils.gui.LayoutUtils;
import com.fr.form.parameter.FormSubmitButton; import com.fr.form.parameter.FormSubmitButton;
import com.fr.form.ui.Button; import com.fr.form.ui.Button;
import com.fr.form.ui.*; import com.fr.form.ui.CardAddButton;
import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.CheckBox;
import com.fr.form.ui.CheckBoxGroup;
import com.fr.form.ui.ComboBox;
import com.fr.form.ui.ComboCheckBox;
import com.fr.form.ui.DataTable;
import com.fr.form.ui.DateEditor;
import com.fr.form.ui.EditorHolder;
import com.fr.form.ui.ElementCaseEditor;
import com.fr.form.ui.ErrorMarker;
import com.fr.form.ui.FileEditor;
import com.fr.form.ui.FreeButton;
import com.fr.form.ui.IframeEditor;
import com.fr.form.ui.Label; import com.fr.form.ui.Label;
import com.fr.form.ui.ListEditor;
import com.fr.form.ui.MultiFileEditor;
import com.fr.form.ui.NameWidget;
import com.fr.form.ui.NumberEditor;
import com.fr.form.ui.Password;
import com.fr.form.ui.Radio;
import com.fr.form.ui.RadioGroup;
import com.fr.form.ui.Table;
import com.fr.form.ui.TableTree;
import com.fr.form.ui.TextArea; import com.fr.form.ui.TextArea;
import com.fr.form.ui.container.*; import com.fr.form.ui.TextEditor;
import com.fr.form.ui.TreeComboBoxEditor;
import com.fr.form.ui.TreeEditor;
import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WAbsoluteBodyLayout;
import com.fr.form.ui.container.WAbsoluteLayout;
import com.fr.form.ui.container.WBorderLayout;
import com.fr.form.ui.container.WCardLayout;
import com.fr.form.ui.container.WFitLayout;
import com.fr.form.ui.container.WGridLayout;
import com.fr.form.ui.container.WHorizontalBoxLayout;
import com.fr.form.ui.container.WHorizontalSplitLayout;
import com.fr.form.ui.container.WParameterLayout;
import com.fr.form.ui.container.WScaleLayout;
import com.fr.form.ui.container.WTitleLayout;
import com.fr.form.ui.container.WVerticalBoxLayout;
import com.fr.form.ui.container.WVerticalSplitLayout;
import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout;
import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.form.ui.container.cardlayout.WCardTitleLayout; import com.fr.form.ui.container.cardlayout.WCardTitleLayout;
import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.general.GeneralContext; import com.fr.general.GeneralContext;
import com.fr.general.IOUtils; import com.fr.general.IOUtils;
import com.fr.invoke.Reflect;
import com.fr.log.FineLoggerFactory;
import com.fr.plugin.context.PluginContext; import com.fr.plugin.context.PluginContext;
import com.fr.plugin.injectable.PluginModule; import com.fr.plugin.injectable.PluginModule;
import com.fr.plugin.manage.PluginFilter; import com.fr.plugin.manage.PluginFilter;
@ -31,7 +76,6 @@ import com.fr.stable.StringUtils;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.lang.reflect.Constructor;
/** /**
* XCreator的相关处理 * XCreator的相关处理
@ -62,7 +106,7 @@ public class XCreatorUtils {
public boolean accept(PluginContext context) { public boolean accept(PluginContext context) {
return context.contain(PluginModule.ExtraDesign, ParameterWidgetOptionProvider.XML_TAG) return context.contain(PluginModule.ExtraDesign, ParameterWidgetOptionProvider.XML_TAG)
|| context.contain(PluginModule.ExtraDesign, FormWidgetOptionProvider.XML_TAG); || context.contain(PluginModule.ExtraDesign, FormWidgetOptionProvider.XML_TAG);
} }
}); });
} }
@ -80,7 +124,6 @@ public class XCreatorUtils {
xLayoutMap.put(WAbsoluteLayout.class, XWAbsoluteLayout.class); xLayoutMap.put(WAbsoluteLayout.class, XWAbsoluteLayout.class);
xLayoutMap.put(WParameterLayout.class, XWParameterLayout.class); xLayoutMap.put(WParameterLayout.class, XWParameterLayout.class);
xLayoutMap.put(WAbsoluteBodyLayout.class, XWAbsoluteBodyLayout.class); xLayoutMap.put(WAbsoluteBodyLayout.class, XWAbsoluteBodyLayout.class);
xLayoutMap.put(WAbsoluteLayout.class, XWAbsoluteLayout.class);
xLayoutMap.put(WHorizontalBoxLayout.class, XWHorizontalBoxLayout.class); xLayoutMap.put(WHorizontalBoxLayout.class, XWHorizontalBoxLayout.class);
xLayoutMap.put(WBorderLayout.class, XWBorderLayout.class); xLayoutMap.put(WBorderLayout.class, XWBorderLayout.class);
xLayoutMap.put(WCardLayout.class, XWCardLayout.class); xLayoutMap.put(WCardLayout.class, XWCardLayout.class);
@ -112,7 +155,6 @@ public class XCreatorUtils {
objectMap.put(FileEditor.class, XFileUploader.class); objectMap.put(FileEditor.class, XFileUploader.class);
objectMap.put(Table.class, XTableEditor.class); objectMap.put(Table.class, XTableEditor.class);
objectMap.put(IframeEditor.class, XIframeEditor.class); objectMap.put(IframeEditor.class, XIframeEditor.class);
objectMap.put(FreeButton.class, XButton.class);
objectMap.put(FormSubmitButton.class, XButton.class); objectMap.put(FormSubmitButton.class, XButton.class);
objectMap.put(Button.class, XButton.class); objectMap.put(Button.class, XButton.class);
objectMap.put(Label.class, XLabel.class); objectMap.put(Label.class, XLabel.class);
@ -160,7 +202,8 @@ public class XCreatorUtils {
} }
/** /**
*创建creator * 创建creator
*
* @param widget 控件 * @param widget 控件
* @return 返回控件的creator * @return 返回控件的creator
*/ */
@ -170,8 +213,9 @@ public class XCreatorUtils {
/** /**
* 带初始大小的Widget转化为XCreator当然XCreator也需要把大小赋值上 * 带初始大小的Widget转化为XCreator当然XCreator也需要把大小赋值上
*
* @param widget 控件 * @param widget 控件
* @param d 大小 * @param d 大小
* @return 返回控件的xcreator * @return 返回控件的xcreator
*/ */
public static XCreator createXCreator(Widget widget, Dimension d) { public static XCreator createXCreator(Widget widget, Dimension d) {
@ -184,23 +228,18 @@ public class XCreatorUtils {
widgetClass = widget.getClass(); widgetClass = widget.getClass();
clazz = XCreatorUtils.searchXCreatorClass(widgetClass); clazz = XCreatorUtils.searchXCreatorClass(widgetClass);
if (clazz == null) { if (clazz == null) {
FRContext.getLogger().error(widget + "'s" + " xcreator doesn't exsit!"); FineLoggerFactory.getLogger().error(widget + "'s" + " xcreator doesn't exsit!");
clazz = NullCreator.class; clazz = NullCreator.class;
} }
} }
XCreator creator = null; XCreator creator = null;
Constructor[] constructors = clazz.getConstructors(); try {
for (Constructor c : constructors) { creator = Reflect.on(clazz).create(widget, d).get();
try { } catch (Exception ignore) {
creator = (XCreator) c.newInstance(widget, d);
break;
} catch (Exception ignore) {
// richie:这里的错误可以忽略
// FRContext.getLogger().error(ignore.getMessage());
}
} }
if (creator == null) { if (creator == null) {
FRContext.getLogger().error("Error to create xcreator!"); FineLoggerFactory.getLogger().error("Error to create xcreator!");
creator = new NullCreator(widget, d); creator = new NullCreator(widget, d);
} }
creator.setXDescrption(widget);//设置描述信息 creator.setXDescrption(widget);//设置描述信息
@ -208,7 +247,8 @@ public class XCreatorUtils {
} }
/** /**
*刷新所有名字控件 * 刷新所有名字控件
*
* @param container 布局容器 * @param container 布局容器
*/ */
public static void refreshAllNameWidgets(XLayoutContainer container) { public static void refreshAllNameWidgets(XLayoutContainer container) {
@ -228,52 +268,52 @@ public class XCreatorUtils {
} }
/** /**
* 获取焦点组件所在的顶层容器,不包括目标本身 * 获取焦点组件所在的顶层容器,不包括目标本身
* *
* @param creator 组件 * @param creator 组件
* @return 返回父容器 * @return 返回父容器
*/ */
public static XLayoutContainer getParentXLayoutContainer(XCreator creator) { public static XLayoutContainer getParentXLayoutContainer(XCreator creator) {
Container c = creator.getParent(); Container c = creator.getParent();
while (c != null) { while (c != null) {
XCreator crea = (XCreator) c; XCreator crea = (XCreator) c;
if(crea.acceptType(XWCardTitleLayout.class)){ if (crea.acceptType(XWCardTitleLayout.class)) {
return (XLayoutContainer) c.getParent(); return (XLayoutContainer) c.getParent();
} }
if (crea.isDedicateContainer()) { if (crea.isDedicateContainer()) {
return (XLayoutContainer) c.getParent(); return (XLayoutContainer) c.getParent();
} }
if (c instanceof XLayoutContainer) { if (c instanceof XLayoutContainer) {
return (XLayoutContainer) c; return (XLayoutContainer) c;
} }
c = c.getParent(); c = c.getParent();
} }
return null; return null;
} }
/** /**
* 获取焦点组件所在的顶层容器,可能是目标本身 * 获取焦点组件所在的顶层容器,可能是目标本身
* *
* @param creator 组件 * @param creator 组件
* @return 返回顶层容器 * @return 返回顶层容器
*/ */
public static XLayoutContainer getHotspotContainer(XCreator creator) { public static XLayoutContainer getHotspotContainer(XCreator creator) {
if (creator.isDedicateContainer()) { if (creator.isDedicateContainer()) {
return (XLayoutContainer) creator.getParent(); return (XLayoutContainer) creator.getParent();
} }
if (creator instanceof XLayoutContainer) { if (creator instanceof XLayoutContainer) {
return (XLayoutContainer) creator; return (XLayoutContainer) creator;
} }
return getParentXLayoutContainer(creator); return getParentXLayoutContainer(creator);
} }
/** /**
* 返回组件的图标 * 返回组件的图标
* *
* @param creator 组件 * @param creator 组件
* @return 组件icon * @return 组件icon
*/ */
public static Icon getCreatorIcon(XCreator creator) { public static Icon getCreatorIcon(XCreator creator) {
String iconPath = creator.getIconPath(); String iconPath = creator.getIconPath();
if (StringUtils.isEmpty(iconPath)) { if (StringUtils.isEmpty(iconPath)) {

4
designer-form/src/main/java/com/fr/design/form/mobile/FormMobileOthersPane.java

@ -28,9 +28,9 @@ public class FormMobileOthersPane extends BasicBeanPane<FormMobileAttr> {
JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow());
JPanel contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L1, 0, 0)); contentPane.setBorder(BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L1, 0, 0));
appearRefreshCheckPane = new MobileRadioCheckPane(com.fr.design.i18n.Toolkit.i18nText("FR-Designer_Appear_Refresh")); appearRefreshCheckPane = new MobileRadioCheckPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Appear_Refresh"));
contentPane.add(appearRefreshCheckPane, BorderLayout.WEST); contentPane.add(appearRefreshCheckPane, BorderLayout.WEST);
promptWhenLeaveWithoutSubmitCheckPane = new MobileRadioCheckPane(com.fr.design.i18n.Toolkit.i18nText("FR-Designer_Prompt_When_Leave_Without_Submit")); promptWhenLeaveWithoutSubmitCheckPane = new MobileRadioCheckPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Prompt_When_Leave_Without_Submit"));
contentPane.add(promptWhenLeaveWithoutSubmitCheckPane, BorderLayout.CENTER); contentPane.add(promptWhenLeaveWithoutSubmitCheckPane, BorderLayout.CENTER);
borderPane.add(contentPane); borderPane.add(contentPane);
this.add(borderPane); this.add(borderPane);

78
designer-form/src/main/java/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java

@ -1,23 +1,75 @@
package com.fr.design.widget; package com.fr.design.widget;
import com.fr.base.FRContext;
import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XCreator;
import com.fr.design.gui.core.WidgetConstants; import com.fr.design.gui.core.WidgetConstants;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.widget.ui.designer.WidgetDefinePane;
import com.fr.design.parameter.RootDesignDefinePane; import com.fr.design.parameter.RootDesignDefinePane;
import com.fr.design.widget.ui.designer.*; import com.fr.design.widget.ui.designer.CheckBoxDefinePane;
import com.fr.design.widget.ui.designer.layout.*; import com.fr.design.widget.ui.designer.CheckBoxGroupDefinePane;
import com.fr.design.widget.ui.designer.ComboBoxDefinePane;
import com.fr.design.widget.ui.designer.ComboCheckBoxDefinePane;
import com.fr.design.widget.ui.designer.DateEditorDefinePane;
import com.fr.design.widget.ui.designer.FreeButtonDefinePane;
import com.fr.design.widget.ui.designer.IframeEditorDefinePane;
import com.fr.design.widget.ui.designer.LabelDefinePane;
import com.fr.design.widget.ui.designer.MultiFileEditorPane;
import com.fr.design.widget.ui.designer.NoneWidgetDefinePane;
import com.fr.design.widget.ui.designer.NumberEditorDefinePane;
import com.fr.design.widget.ui.designer.PasswordDefinePane;
import com.fr.design.widget.ui.designer.RadioDefinePane;
import com.fr.design.widget.ui.designer.RadioGroupDefinePane;
import com.fr.design.widget.ui.designer.TextAreaDefinePane;
import com.fr.design.widget.ui.designer.TextFieldEditorDefinePane;
import com.fr.design.widget.ui.designer.TreeComboBoxEditorDefinePane;
import com.fr.design.widget.ui.designer.TreeEditorDefinePane;
import com.fr.design.widget.ui.designer.UserEditorDefinePane;
import com.fr.design.widget.ui.designer.WidgetDefinePane;
import com.fr.design.widget.ui.designer.layout.BorderStyleWidgetDefinePane;
import com.fr.design.widget.ui.designer.layout.ElementEditorDefinePane;
import com.fr.design.widget.ui.designer.layout.FRAbsoluteBodyLayoutDefinePane;
import com.fr.design.widget.ui.designer.layout.FRAbsoluteLayoutDefinePane;
import com.fr.design.widget.ui.designer.layout.FRFitLayoutDefinePane;
import com.fr.design.widget.ui.designer.layout.WCardLayoutDefinePane;
import com.fr.design.widget.ui.designer.layout.WCardMainLayoutDefinePane;
import com.fr.design.widget.ui.designer.layout.WCardTagLayoutDefinePane;
import com.fr.design.widget.ui.designer.layout.WTabFitLayoutDefinePane;
import com.fr.form.parameter.FormSubmitButton; import com.fr.form.parameter.FormSubmitButton;
import com.fr.form.ui.*; import com.fr.form.ui.AbstractBorderStyleWidget;
import com.fr.form.ui.container.*; import com.fr.form.ui.Button;
import com.fr.form.ui.CheckBox;
import com.fr.form.ui.CheckBoxGroup;
import com.fr.form.ui.ComboBox;
import com.fr.form.ui.ComboCheckBox;
import com.fr.form.ui.DateEditor;
import com.fr.form.ui.ElementCaseEditor;
import com.fr.form.ui.FreeButton;
import com.fr.form.ui.IframeEditor;
import com.fr.form.ui.Label;
import com.fr.form.ui.MultiFileEditor;
import com.fr.form.ui.NameWidget;
import com.fr.form.ui.NoneWidget;
import com.fr.form.ui.NumberEditor;
import com.fr.form.ui.Password;
import com.fr.form.ui.Radio;
import com.fr.form.ui.RadioGroup;
import com.fr.form.ui.TextArea;
import com.fr.form.ui.TextEditor;
import com.fr.form.ui.TreeComboBoxEditor;
import com.fr.form.ui.TreeEditor;
import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WAbsoluteBodyLayout;
import com.fr.form.ui.container.WAbsoluteLayout;
import com.fr.form.ui.container.WCardLayout;
import com.fr.form.ui.container.WFitLayout;
import com.fr.form.ui.container.WParameterLayout;
import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout;
import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.invoke.Reflect;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.bridge.BridgeMark; import com.fr.stable.bridge.BridgeMark;
import com.fr.stable.bridge.StableFactory; import com.fr.stable.bridge.StableFactory;
import java.lang.reflect.Constructor;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -45,7 +97,6 @@ public class FormWidgetDefinePaneFactoryBase {
defineMap.put(IframeEditor.class, new Appearance(IframeEditorDefinePane.class, WidgetConstants.IFRAME + "")); defineMap.put(IframeEditor.class, new Appearance(IframeEditorDefinePane.class, WidgetConstants.IFRAME + ""));
defineMap.put(TextEditor.class, new Appearance(TextFieldEditorDefinePane.class, WidgetConstants.TEXT + "")); defineMap.put(TextEditor.class, new Appearance(TextFieldEditorDefinePane.class, WidgetConstants.TEXT + ""));
defineMap.put(NameWidget.class, new Appearance(UserEditorDefinePane.class, "UserDefine")); defineMap.put(NameWidget.class, new Appearance(UserEditorDefinePane.class, "UserDefine"));
defineMap.put(ComboCheckBox.class, new Appearance(ComboCheckBoxDefinePane.class, WidgetConstants.COMBOCHECKBOX + ""));
defineMap.put(ComboBox.class, new Appearance(ComboBoxDefinePane.class, WidgetConstants.COMBOBOX + "")); defineMap.put(ComboBox.class, new Appearance(ComboBoxDefinePane.class, WidgetConstants.COMBOBOX + ""));
defineMap.put(RadioGroup.class, new Appearance(RadioGroupDefinePane.class, WidgetConstants.RADIOGROUP + "")); defineMap.put(RadioGroup.class, new Appearance(RadioGroupDefinePane.class, WidgetConstants.RADIOGROUP + ""));
defineMap.put(CheckBoxGroup.class, new Appearance(CheckBoxGroupDefinePane.class, WidgetConstants.CHECKBOXGROUP + "")); defineMap.put(CheckBoxGroup.class, new Appearance(CheckBoxGroupDefinePane.class, WidgetConstants.CHECKBOXGROUP + ""));
@ -78,24 +129,23 @@ public class FormWidgetDefinePaneFactoryBase {
} }
public static RN createWidgetDefinePane(XCreator creator, FormDesigner designer, Widget widget, Operator operator) { public static RN createWidgetDefinePane(XCreator creator, FormDesigner designer, Widget widget, Operator operator) {
if(isExtraXWidget(widget)){ if (isExtraXWidget(widget)) {
WidgetDefinePane widgetDefinePane = new WidgetDefinePane(creator, designer); WidgetDefinePane widgetDefinePane = new WidgetDefinePane(creator, designer);
return new RN(widgetDefinePane, widgetDefinePane.title4PopupWindow()); return new RN(widgetDefinePane, widgetDefinePane.title4PopupWindow());
} }
Appearance dn = defineMap.get(widget.getClass()); Appearance dn = defineMap.get(widget.getClass());
DataModify<Widget> definePane = null; DataModify<Widget> definePane = null;
try { try {
Constructor con = dn.getDefineClass().getConstructor(XCreator.class); definePane = Reflect.on(dn.getDefineClass()).create(creator).get();
definePane = (DataModify)con.newInstance(creator);
operator.did(definePane.dataUI(), dn.getDisplayName()); operator.did(definePane.dataUI(), dn.getDisplayName());
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FineLoggerFactory.getLogger().error(e.getMessage(), e);
} }
return new RN(definePane, dn.getDisplayName()); return new RN(definePane, dn.getDisplayName());
} }
public static boolean isExtraXWidget(Widget widget){ public static boolean isExtraXWidget(Widget widget) {
return defineMap.get(widget.getClass()) == null; return defineMap.get(widget.getClass()) == null;
} }
public static class RN { public static class RN {

2
designer-realize/src/main/java/com/fr/design/report/mobile/MobileOthersPane.java

@ -27,7 +27,7 @@ public class MobileOthersPane extends BasicBeanPane<ElementCaseMobileAttr> {
JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow());
JPanel contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L1, 0, 0)); contentPane.setBorder(BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L1, 0, 0));
appearRefreshCheckPane = new MobileRadioCheckPane(com.fr.design.i18n.Toolkit.i18nText("FR-Designer_Appear_Refresh")); appearRefreshCheckPane = new MobileRadioCheckPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Appear_Refresh"));
contentPane.add(appearRefreshCheckPane, BorderLayout.WEST); contentPane.add(appearRefreshCheckPane, BorderLayout.WEST);
borderPane.add(contentPane); borderPane.add(contentPane);
this.add(borderPane); this.add(borderPane);

Loading…
Cancel
Save