From d0b778e4e6fb63d353adcb2445952e6068a0519b Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 5 Jan 2018 11:53:15 +0800 Subject: [PATCH 01/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8=3D>1=20=E2=80=9C?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E5=B1=9E=E6=80=A7=E2=80=9D=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E7=95=8C=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/designer/IntervalConstants.java | 2 + .../dialog/mobile/MobileRadioCheckPane.java | 7 + .../com/fr/design/locale/designer.properties | 9 + .../design/locale/designer_en_US.properties | 11 +- .../design/locale/designer_ja_JP.properties | 6 + .../design/locale/designer_ko_KR.properties | 8 + .../design/locale/designer_zh_CN.properties | 11 +- .../design/locale/designer_zh_TW.properties | 9 + .../form/mobile/FormMobileAttrPane.java | 24 ++- .../FormMobileTemplateSettingsPane.java | 155 ++++++++++++++++++ 10 files changed, 234 insertions(+), 8 deletions(-) create mode 100644 designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java diff --git a/designer_base/src/com/fr/design/designer/IntervalConstants.java b/designer_base/src/com/fr/design/designer/IntervalConstants.java index 1f210c70f5..a2a2ee669e 100644 --- a/designer_base/src/com/fr/design/designer/IntervalConstants.java +++ b/designer_base/src/com/fr/design/designer/IntervalConstants.java @@ -27,4 +27,6 @@ public class IntervalConstants { public static final int INTERVAL_W3 = 49; + public static final int INTERVAL_W4 = 22; + } diff --git a/designer_base/src/com/fr/design/dialog/mobile/MobileRadioCheckPane.java b/designer_base/src/com/fr/design/dialog/mobile/MobileRadioCheckPane.java index ee38557612..70899aa4bc 100644 --- a/designer_base/src/com/fr/design/dialog/mobile/MobileRadioCheckPane.java +++ b/designer_base/src/com/fr/design/dialog/mobile/MobileRadioCheckPane.java @@ -1,6 +1,8 @@ package com.fr.design.dialog.mobile; import com.fr.design.beans.BasicBeanPane; +import com.fr.design.event.ChangeListener; +import com.fr.design.event.UIObserverListener; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; @@ -10,6 +12,7 @@ import com.fr.stable.StringUtils; import javax.swing.*; import java.awt.*; +import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; @@ -43,6 +46,10 @@ public class MobileRadioCheckPane extends BasicBeanPane { this.add(fitOpsPane); } + public void registerChangeLister(UIObserverListener listener) { + checkBoxes.get(0).registerChangeListener(listener); + } + public int getCurrentState() { return checkBoxes.get(0).isSelected() ? 0 : 1; } diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 0337a6be1f..3efb952ca0 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2167,3 +2167,12 @@ FR-Designer_Tab_Template_Four=Template Four FR-Designer_Tab_Template_Five=Template Five FR-Designer_Tab_Template_Six=Template Six FR-Designer_Tab_Display_Position=Display Position +FR-Designer_Set_Mobile_Only_Template=Set as mobile only template +FR-Designer_Set_Mobile_Canvas_Size=Set as mobile canvas size +FR-Designer_Adaptive_Property_Auto_Match=Adaptive property auto match +FR-Designer_Open_Adaptive_Property_Auto_Match=Open adpative property auto match +FR-Designer_Canvas_Size_Lock_Desc=The size of the canvas is 375*560, the width is locked, the height is customizable +FR-Designer_Mobile_Screen_Match_Desc=4.7 inch screen phone: fit +FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7 inch or more mobile phones: zooming in +FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7 inch mobile phone: zooming out +FR-Designer_Adaptive_Property_Auto_Match_Desc=In order to improve the end template effect of the mobile phone, when using the reserved layout function, the component scaling logic under the adaptive layout is set as "lateral adaptive" diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index dc16e87a27..8093b6e4ea 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2165,4 +2165,13 @@ FR-Designer_Tab_Template_Three=Template Three FR-Designer_Tab_Template_Four=Template Four FR-Designer_Tab_Template_Five=Template Five FR-Designer_Tab_Template_Six=Template Six -FR-Designer_Tab_Display_Position=Display Position \ No newline at end of file +FR-Designer_Tab_Display_Position=Display Position +FR-Designer_Set_Mobile_Only_Template=Set as mobile only template +FR-Designer_Set_Mobile_Canvas_Size=Set as mobile canvas size +FR-Designer_Adaptive_Property_Auto_Match=Adaptive property auto match +FR-Designer_Open_Adaptive_Property_Auto_Match=Open adpative property auto match +FR-Designer_Canvas_Size_Lock_Desc=The size of the canvas is 375*560, the width is locked, the height is customizable +FR-Designer_Mobile_Screen_Match_Desc=4.7 inch screen phone: fit +FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7 inch or more mobile phones: zooming in +FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7 inch mobile phone: zooming out +FR-Designer_Adaptive_Property_Auto_Match_Desc=In order to improve the end template effect of the mobile phone, when using the reserved layout function, the component scaling logic under the adaptive layout is set as "lateral adaptive" \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index 3b2c34d297..ee834b755b 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -2167,3 +2167,9 @@ FR-Designer_Tab_Template_Four= FR-Designer_Tab_Template_Five= FR-Designer_Tab_Template_Six= FR-Designer_Tab_Display_Position= +FR-Designer_Set_Mobile_Only_Template= +FR-Designer_Set_Mobile_Canvas_Size= +FR-Designer_Open_Adaptive_Property_Auto_Match= +FR-Designer_Mobile_Screen_Zoom_In= +FR-Designer_Mobile_Screen_Zoom_Out= +FR-Designer_Adaptive_Property_Auto_Match_Desc= diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index 92cc47a236..9130aa4e5a 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2167,3 +2167,11 @@ FR-Designer_Tab_Template_Four= FR-Designer_Tab_Template_Five= FR-Designer_Tab_Template_Six= FR-Designer_Tab_Display_Position= +FR-Designer_Set_Mobile_Only_Template= +FR-Designer_Set_Mobile_Canvas_Size= +FR-Designer_Adaptive_Property_Auto_Match= +FR-Designer_Open_Adaptive_Property_Auto_Match= +FR-Designer_Mobile_Screen_Zoom_In= +FR-Designer_Mobile_Screen_Zoom_Out= +FR-Designer_Mobile_Screen_Zoom_Out_Desc= +FR-Designer_Adaptive_Property_Auto_Match_Desc= diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 0e35765fd5..987929be28 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2166,4 +2166,13 @@ FR-Designer_Tab_Template_Three=\u6A21\u677F\u4E09 FR-Designer_Tab_Template_Four=\u6A21\u677F\u56DB FR-Designer_Tab_Template_Five=\u6A21\u677F\u4E94 FR-Designer_Tab_Template_Six=\u6A21\u677F\u516D -FR-Designer_Tab_Display_Position=\u663E\u793A\u4F4D\u7F6E \ No newline at end of file +FR-Designer_Tab_Display_Position=\u663E\u793A\u4F4D\u7F6E +FR-Designer_Set_Mobile_Only_Template=\u8BBE\u7F6E\u4E3A\u624B\u673A\u7AEF\u4E13\u5C5E\u6A21\u7248 +FR-Designer_Set_Mobile_Canvas_Size=\u8BBE\u7F6E\u4E3A\u624B\u673A\u6A21\u7248\u753B\u5E03\u5927\u5C0F +FR-Designer_Adaptive_Property_Auto_Match=\u81EA\u9002\u5E94\u5C5E\u6027\u81EA\u52A8\u5339\u914D +FR-Designer_Open_Adaptive_Property_Auto_Match=\u5F00\u542F\u81EA\u9002\u5E94\u5C5E\u6027\u81EA\u52A8\u5339\u914D +FR-Designer_Canvas_Size_Lock_Desc=\u753B\u5E03\u5927\u5C0F375*560\uFF0C\u5BBD\u5EA6\u9501\u5B9A\uFF0C\u9AD8\u5EA6\u53EF\u81EA\u5B9A\u4E49 +FR-Designer_Mobile_Screen_Match_Desc=4.7\u5BF8\u5C4F\u5E55\u624B\u673A\uFF1A\u9002\u914D +FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7\u5BF8\u4EE5\u4E0A\u624B\u673A\uFF1A\u653E\u5927 +FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7\u5BF8\u4EE5\u4E0B\u624B\u673A\uFF1A\u538B\u7F29 +FR-Designer_Adaptive_Property_Auto_Match_Desc=\u4E3A\u63D0\u5347\u624B\u673A\u7AEF\u6A21\u7248\u6548\u679C\uFF0C\u5728\u4F7F\u7528\u4FDD\u7559\u5E03\u5C40\u529F\u80FD\u65F6\uFF0C\u8BBE\u7F6E\u81EA\u9002\u5E94\u5E03\u5C40\u65B9\u5F0F\u4E0B\u7684\u7EC4\u4EF6\u7F29\u653E\u903B\u8F91\u4E3A"\u6A2A\u5411\u81EA\u9002\u5E94" \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 873d48f7ba..59dee09532 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2166,3 +2166,12 @@ FR-Designer_Tab_Template_Four=\u6A21\u677F\u56DB FR-Designer_Tab_Template_Five=\u6A21\u677F\u4E94 FR-Designer_Tab_Template_Six=\u6A21\u677F\u516D FR-Designer_Tab_Display_Position=\u986F\u793A\u4F4D\u7F6E +FR-Designer_Set_Mobile_Only_Template=\u8A2D\u5B9A\u70BA\u624B\u6A5F\u7AEF\u5C08\u5C6C\u6A21\u7248 +FR-Designer_Set_Mobile_Canvas_Size=\u8A2D\u5B9A\u70BA\u624B\u6A5F\u6A21\u7248\u756B\u5E03\u5927\u5C0F +FR-Designer_Adaptive_Property_Auto_Match=\u81EA\u6211\u8ABF\u6574\u5185\u5BB9\u81EA\u52D5\u5339\u914D +FR-Designer_Open_Adaptive_Property_Auto_Match=\u958B\u555F\u81EA\u6211\u8ABF\u6574\u5185\u5BB9\u81EA\u52D5\u5339\u914D +FR-Designer_Canvas_Size_Lock_Desc=\u756B\u5E03\u5927\u5C0F375*560\uFF0C\u5BEC\u5EA6\u9396\u5B9A\uFF0C\u9AD8\u5EA6\u53EF\u81EA\u5B9A\u7FA9 +FR-Designer_Mobile_Screen_Match_Desc=4.7\u5BF8\u8367\u5E55\u624B\u6A5F\uFF1A\u9069\u914D +FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7\u5BF8\u4EE5\u4E0A\u624B\u6A5F\uFF1A\u653E\u5927 +FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7\u5BF8\u4EE5\u4E0B\u624B\u6A5F\uFF1A\u58D3\u7E2E +FR-Designer_Adaptive_Property_Auto_Match_Desc=\u70BA\u63D0\u5347\u624B\u6A5F\u7AEF\u6A21\u7248\u6548\u679C\uFF0C\u5728\u4F7F\u7528\u4FDD\u7559\u4F48\u5C40\u529F\u80FD\u6642\uFF0C\u8A2D\u5B9A\u81EA\u6211\u8ABF\u6574\u4F48\u5C40\u7BA1\u9053\u4E0B\u7684\u7D44\u4EF6\u7E2E\u653E\u908F\u8F2F\u70BA\u201C\u6A6B\u5411\u81EA\u6211\u8ABF\u6574\u201D diff --git a/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java b/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java index a4d657e117..b8d1bbb3a0 100644 --- a/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java +++ b/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java @@ -15,6 +15,8 @@ import java.awt.*; public class FormMobileAttrPane extends BasicBeanPane{ //工具栏容器 private MobileToolBarPane mobileToolBarPane; + // 模版设置面板 + private FormMobileTemplateSettingsPane formMobileTemplateSettingsPane; static final int PADDINGHEIGHT = 10; @@ -25,15 +27,25 @@ public class FormMobileAttrPane extends BasicBeanPane{ //现在只有两个panel,填不满自适应对话框,只能为工具栏Panel和h5解析方式panel分别包裹上一层Panel再计算高度,不然会自动 //拉长两个Panel的高度去填满整个对话框。 private void initComponents() { - JPanel jPanel1 = new JPanel(); +// JPanel jPanel1 = new JPanel(); this.setLayout(FRGUIPaneFactory.createBorderLayout()); - jPanel1.setLayout(FRGUIPaneFactory.createBorderLayout()); - jPanel1.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); +// jPanel1.setLayout(FRGUIPaneFactory.createBorderLayout()); +// jPanel1.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + JPanel mobileToolBarPaneWrapper = new JPanel(new BorderLayout()); + mobileToolBarPaneWrapper.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10)); this.mobileToolBarPane = new MobileToolBarPane(); + mobileToolBarPaneWrapper.add(this.mobileToolBarPane, BorderLayout.NORTH); //设置一个JPanel包裹mobileToolBarPane这个Panel,让jPanel的高度等于mobileToolBarPane高度加10,再放入this中 - jPanel1.setPreferredSize(new Dimension(0, (int)this.mobileToolBarPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); - jPanel1.add("North", this.mobileToolBarPane); - this.add("North", jPanel1); +// jPanel1.setPreferredSize(new Dimension(0, (int)this.mobileToolBarPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); +// jPanel1.add("North", this.mobileToolBarPane); + + JPanel formMobileTemplateSettingsPaneWrapper = new JPanel(new BorderLayout()); + formMobileTemplateSettingsPaneWrapper.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + this.formMobileTemplateSettingsPane = new FormMobileTemplateSettingsPane(); + formMobileTemplateSettingsPaneWrapper.add(this.formMobileTemplateSettingsPane, BorderLayout.NORTH); + + this.add(formMobileTemplateSettingsPaneWrapper, BorderLayout.NORTH); + this.add(mobileToolBarPaneWrapper, BorderLayout.CENTER); } @Override diff --git a/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java b/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java new file mode 100644 index 0000000000..13e74c0873 --- /dev/null +++ b/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java @@ -0,0 +1,155 @@ +package com.fr.design.form.mobile; + +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.designer.IntervalConstants; +import com.fr.design.dialog.mobile.MobileRadioCheckPane; +import com.fr.design.event.UIObserverListener; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.layout.TableLayout; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.form.main.mobile.FormMobileAttr; +import com.fr.general.Inter; + +import javax.swing.*; +import javax.swing.border.Border; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Created by plough on 2018/1/4. + */ +public class FormMobileTemplateSettingsPane extends BasicBeanPane { + + private UICheckBox mobileOnlyCheck; // 设置为手机端专属模版 + private UICheckBox mobileCanvasSizeCheck; // 设置为手机模版画布大小 + private UICheckBox adaptivePropertyAutoMatchCheck; // 自适应属性自动匹配 + + public FormMobileTemplateSettingsPane() { + this.initComponents(); + } + + private void initComponents() { + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); + + JPanel contentPane = new JPanel(FRGUIPaneFactory.createBorderLayout()); + contentPane.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L5, IntervalConstants.INTERVAL_L2, 0)); + + JPanel mobileSettingsPane = new JPanel(FRGUIPaneFactory.createBorderLayout()); + mobileSettingsPane.setVisible(false); + mobileSettingsPane.add(getMobileCanvasSizeCheckPane(), BorderLayout.NORTH); + mobileSettingsPane.add(getAdaptivePropertyAutoMatchCheckPane(), BorderLayout.CENTER); + + + mobileOnlyCheck = new UICheckBox(Inter.getLocText("FR-Designer_Set_Mobile_Only_Template")); + mobileOnlyCheck.registerChangeListener(new UIObserverListener() { + @Override + public void doChange() { + mobileSettingsPane.setVisible(mobileOnlyCheck.isSelected()); + } + }); + + contentPane.add(mobileOnlyCheck, BorderLayout.NORTH); + contentPane.add(mobileSettingsPane, BorderLayout.CENTER); + + borderPane.add(contentPane); + this.add(borderPane); + } + + private JPanel getMobileCanvasSizeCheckPane() { + JPanel panel = new JPanel(FRGUIPaneFactory.createBorderLayout()); + mobileCanvasSizeCheck = new UICheckBox(Inter.getLocText("FR-Designer_Set_Mobile_Canvas_Size")); + // 默认勾选,不可取消 + mobileCanvasSizeCheck.setSelected(true); + mobileCanvasSizeCheck.setEnabled(false); + panel.add(mobileCanvasSizeCheck, BorderLayout.NORTH); + panel.add(getCanvasDescPane(), BorderLayout.CENTER); + panel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, 0, IntervalConstants.INTERVAL_L6, 0)); + return panel; + } + + private JPanel getAdaptivePropertyAutoMatchCheckPane() { + JPanel panel = new JPanel(FRGUIPaneFactory.createBorderLayout()); + String selectedDesc = Inter.getLocText("FR-Designer_Adaptive_Property_Auto_Match"); + String unselectedDesc = Inter.getLocText("FR-Designer_Open_Adaptive_Property_Auto_Match"); + adaptivePropertyAutoMatchCheck = new UICheckBox(); + adaptivePropertyAutoMatchCheck.registerChangeListener(new UIObserverListener() { + @Override + public void doChange() { + adaptivePropertyAutoMatchCheck.setText(adaptivePropertyAutoMatchCheck.isSelected() ? selectedDesc : unselectedDesc); + } + }); + adaptivePropertyAutoMatchCheck.setSelected(true); + panel.add(adaptivePropertyAutoMatchCheck, BorderLayout.NORTH); + panel.add(getAdaptivePropertyAutoMatchDescPane(), BorderLayout.CENTER); + return panel; + } + + private JPanel getCanvasDescPane() { + + UILabel desc1 = createDescLabel(Inter.getLocText("FR-Designer_Canvas_Size_Lock_Desc")); + UILabel desc2 = createDescLabel(Inter.getLocText("FR-Designer_Mobile_Screen_Match_Desc")); + UILabel desc3 = createDescLabel(Inter.getLocText("FR-Designer_Mobile_Screen_Zoom_In_Desc")); + UILabel desc4 = createDescLabel(Inter.getLocText("FR-Designer_Mobile_Screen_Zoom_Out_Desc")); + + double f = TableLayout.FILL; + double p = TableLayout.PREFERRED; + double[] rowSize = {p, p, p, p}; + double[] columnSize = {p, f}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}}; + Component[][] components = new Component[][]{ + new Component[]{desc1, null}, + new Component[]{desc2, null}, + new Component[]{desc3, null}, + new Component[]{desc4, null} + }; + JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, IntervalConstants.INTERVAL_W0, IntervalConstants.INTERVAL_L1); + panel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L6, IntervalConstants.INTERVAL_W4, IntervalConstants.INTERVAL_L1, 0)); + return panel; + } + + private JPanel getAdaptivePropertyAutoMatchDescPane() { + + UILabel desc1 = createDescLabel(Inter.getLocText("FR-Designer_Adaptive_Property_Auto_Match_Desc")); + + JPanel panel = new JPanel(FRGUIPaneFactory.createBorderLayout()); + panel.add(desc1, BorderLayout.CENTER); + panel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L6, IntervalConstants.INTERVAL_W4, IntervalConstants.INTERVAL_L1, 0)); + return panel; + } + + private UILabel createDescLabel(String desc) { + UILabel label = new UILabel(desc); + label.setForeground(Color.gray); + return label; + } + + @Override + public void populateBean(FormMobileAttr ob) { + if (ob == null) { + ob = new FormMobileAttr(); + } +// this.mobileOnlyCheckPane.populateBean(ob.isRefresh()); + } + + @Override + public FormMobileAttr updateBean() { + return null; + } + + @Override + public void updateBean(FormMobileAttr mobileAttr) { +// if(mobileAttr != null) { +// mobileAttr.setRefresh(this.mobileOnlyCheckPane.updateBean()); +// } + } + + @Override + protected String title4PopupWindow() { + return "模版设置"; + } + +} \ No newline at end of file From 9c4086872796f7dbdb5d53e4b48c9298eb76b7b1 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 5 Jan 2018 16:00:33 +0800 Subject: [PATCH 02/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8=3D>=E5=AD=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD1=3D>=E8=AE=BE=E5=AE=9A=E7=94=BB=E5=B8=83=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E5=B9=B6=E9=94=81=E5=AE=9A=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/locale/designer.properties | 1 + .../design/locale/designer_en_US.properties | 3 +- .../design/locale/designer_ja_JP.properties | 1 + .../design/locale/designer_ko_KR.properties | 1 + .../design/locale/designer_zh_CN.properties | 3 +- .../design/locale/designer_zh_TW.properties | 1 + .../form/mobile/FormMobileAttrPane.java | 16 +++----- .../FormMobileTemplateSettingsPane.java | 11 ++++-- .../src/com/fr/design/mainframe/FormArea.java | 37 ++++++++++++++++++- .../src/com/fr/design/mainframe/JForm.java | 2 +- 10 files changed, 57 insertions(+), 19 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 3efb952ca0..5265515263 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2176,3 +2176,4 @@ FR-Designer_Mobile_Screen_Match_Desc=4.7 inch screen phone: fit FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7 inch or more mobile phones: zooming in FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7 inch mobile phone: zooming out FR-Designer_Adaptive_Property_Auto_Match_Desc=In order to improve the end template effect of the mobile phone, when using the reserved layout function, the component scaling logic under the adaptive layout is set as "lateral adaptive" +FR-Designer_Template_Settings=Template Settings diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 8093b6e4ea..cef5d259c6 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2174,4 +2174,5 @@ FR-Designer_Canvas_Size_Lock_Desc=The size of the canvas is 375*560, the width i FR-Designer_Mobile_Screen_Match_Desc=4.7 inch screen phone: fit FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7 inch or more mobile phones: zooming in FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7 inch mobile phone: zooming out -FR-Designer_Adaptive_Property_Auto_Match_Desc=In order to improve the end template effect of the mobile phone, when using the reserved layout function, the component scaling logic under the adaptive layout is set as "lateral adaptive" \ No newline at end of file +FR-Designer_Adaptive_Property_Auto_Match_Desc=In order to improve the end template effect of the mobile phone, when using the reserved layout function, the component scaling logic under the adaptive layout is set as "lateral adaptive" +FR-Designer_Template_Settings=Template Settings \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index ee834b755b..2143be3f7a 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -2173,3 +2173,4 @@ FR-Designer_Open_Adaptive_Property_Auto_Match= FR-Designer_Mobile_Screen_Zoom_In= FR-Designer_Mobile_Screen_Zoom_Out= FR-Designer_Adaptive_Property_Auto_Match_Desc= +FR-Designer_Template_Settings= diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index 9130aa4e5a..6f81086304 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2175,3 +2175,4 @@ FR-Designer_Mobile_Screen_Zoom_In= FR-Designer_Mobile_Screen_Zoom_Out= FR-Designer_Mobile_Screen_Zoom_Out_Desc= FR-Designer_Adaptive_Property_Auto_Match_Desc= +FR-Designer_Template_Settings= diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 987929be28..5727fd3102 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2175,4 +2175,5 @@ FR-Designer_Canvas_Size_Lock_Desc=\u753B\u5E03\u5927\u5C0F375*560\uFF0C\u5BBD\u5 FR-Designer_Mobile_Screen_Match_Desc=4.7\u5BF8\u5C4F\u5E55\u624B\u673A\uFF1A\u9002\u914D FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7\u5BF8\u4EE5\u4E0A\u624B\u673A\uFF1A\u653E\u5927 FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7\u5BF8\u4EE5\u4E0B\u624B\u673A\uFF1A\u538B\u7F29 -FR-Designer_Adaptive_Property_Auto_Match_Desc=\u4E3A\u63D0\u5347\u624B\u673A\u7AEF\u6A21\u7248\u6548\u679C\uFF0C\u5728\u4F7F\u7528\u4FDD\u7559\u5E03\u5C40\u529F\u80FD\u65F6\uFF0C\u8BBE\u7F6E\u81EA\u9002\u5E94\u5E03\u5C40\u65B9\u5F0F\u4E0B\u7684\u7EC4\u4EF6\u7F29\u653E\u903B\u8F91\u4E3A"\u6A2A\u5411\u81EA\u9002\u5E94" \ No newline at end of file +FR-Designer_Adaptive_Property_Auto_Match_Desc=\u4E3A\u63D0\u5347\u624B\u673A\u7AEF\u6A21\u7248\u6548\u679C\uFF0C\u5728\u4F7F\u7528\u4FDD\u7559\u5E03\u5C40\u529F\u80FD\u65F6\uFF0C\u8BBE\u7F6E\u81EA\u9002\u5E94\u5E03\u5C40\u65B9\u5F0F\u4E0B\u7684\u7EC4\u4EF6\u7F29\u653E\u903B\u8F91\u4E3A"\u6A2A\u5411\u81EA\u9002\u5E94" +FR-Designer_Template_Settings=\u6A21\u7248\u8BBE\u7F6E \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 59dee09532..e9a8b643ad 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2175,3 +2175,4 @@ FR-Designer_Mobile_Screen_Match_Desc=4.7\u5BF8\u8367\u5E55\u624B\u6A5F\uFF1A\u90 FR-Designer_Mobile_Screen_Zoom_In_Desc=4.7\u5BF8\u4EE5\u4E0A\u624B\u6A5F\uFF1A\u653E\u5927 FR-Designer_Mobile_Screen_Zoom_Out_Desc=4.7\u5BF8\u4EE5\u4E0B\u624B\u6A5F\uFF1A\u58D3\u7E2E FR-Designer_Adaptive_Property_Auto_Match_Desc=\u70BA\u63D0\u5347\u624B\u6A5F\u7AEF\u6A21\u7248\u6548\u679C\uFF0C\u5728\u4F7F\u7528\u4FDD\u7559\u4F48\u5C40\u529F\u80FD\u6642\uFF0C\u8A2D\u5B9A\u81EA\u6211\u8ABF\u6574\u4F48\u5C40\u7BA1\u9053\u4E0B\u7684\u7D44\u4EF6\u7E2E\u653E\u908F\u8F2F\u70BA\u201C\u6A6B\u5411\u81EA\u6211\u8ABF\u6574\u201D +FR-Designer_Template_Settings=\u6A21\u7248\u8A2D\u5B9A diff --git a/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java b/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java index b8d1bbb3a0..a2650d8069 100644 --- a/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java +++ b/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java @@ -18,29 +18,21 @@ public class FormMobileAttrPane extends BasicBeanPane{ // 模版设置面板 private FormMobileTemplateSettingsPane formMobileTemplateSettingsPane; - static final int PADDINGHEIGHT = 10; + private static final int PADDING = 10; public FormMobileAttrPane() { this.initComponents(); } - //现在只有两个panel,填不满自适应对话框,只能为工具栏Panel和h5解析方式panel分别包裹上一层Panel再计算高度,不然会自动 - //拉长两个Panel的高度去填满整个对话框。 private void initComponents() { -// JPanel jPanel1 = new JPanel(); this.setLayout(FRGUIPaneFactory.createBorderLayout()); -// jPanel1.setLayout(FRGUIPaneFactory.createBorderLayout()); -// jPanel1.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); JPanel mobileToolBarPaneWrapper = new JPanel(new BorderLayout()); - mobileToolBarPaneWrapper.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10)); + mobileToolBarPaneWrapper.setBorder(BorderFactory.createEmptyBorder(PADDING, PADDING, 0, PADDING)); this.mobileToolBarPane = new MobileToolBarPane(); mobileToolBarPaneWrapper.add(this.mobileToolBarPane, BorderLayout.NORTH); - //设置一个JPanel包裹mobileToolBarPane这个Panel,让jPanel的高度等于mobileToolBarPane高度加10,再放入this中 -// jPanel1.setPreferredSize(new Dimension(0, (int)this.mobileToolBarPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); -// jPanel1.add("North", this.mobileToolBarPane); JPanel formMobileTemplateSettingsPaneWrapper = new JPanel(new BorderLayout()); - formMobileTemplateSettingsPaneWrapper.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + formMobileTemplateSettingsPaneWrapper.setBorder(BorderFactory.createEmptyBorder(PADDING, PADDING, PADDING, PADDING)); this.formMobileTemplateSettingsPane = new FormMobileTemplateSettingsPane(); formMobileTemplateSettingsPaneWrapper.add(this.formMobileTemplateSettingsPane, BorderLayout.NORTH); @@ -54,12 +46,14 @@ public class FormMobileAttrPane extends BasicBeanPane{ ob = new FormMobileAttr(); } this.mobileToolBarPane.populateBean(ob); + this.formMobileTemplateSettingsPane.populateBean(ob); } @Override public FormMobileAttr updateBean() { FormMobileAttr formMobileAttr = new FormMobileAttr(); this.mobileToolBarPane.updateBean(formMobileAttr); + this.formMobileTemplateSettingsPane.updateBean(formMobileAttr); return formMobileAttr; } diff --git a/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java b/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java index 13e74c0873..399f217f4b 100644 --- a/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java +++ b/designer_form/src/com/fr/design/form/mobile/FormMobileTemplateSettingsPane.java @@ -133,6 +133,8 @@ public class FormMobileTemplateSettingsPane extends BasicBeanPane 0.0000001) { + widthPane.setValue(MOBILE_ONLY_WIDTH); + changeWidthPaneValue(MOBILE_ONLY_WIDTH); + heightPane.setValue(MOBILE_ONLY_HEIGHT); + changeHeightPaneValue(MOBILE_ONLY_HEIGHT); + widthPane.setEnabled(false); + } else if (!formMobileAttr.isMobileOnly() && !widthPane.isEnabled()) { + widthPane.setEnabled(true); + } + } + }); } MouseWheelListener showValSpinnerMouseWheelListener = new MouseWheelListener() { diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index a754fdacf7..707356c0c4 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -236,7 +236,7 @@ public class JForm extends JTemplate implements BaseJForm { centerPane.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 0, new Color(85, 85, 85))); formDesign = new FormDesigner(this.getTarget(), new TabChangeAction(BaseJForm.ELEMENTCASE_TAB, this)); WidgetToolBarPane.getInstance(formDesign); - FormArea area = new FormArea(formDesign); + FormArea area = new FormArea(formDesign, this); JPanel areaWrapper = new JPanel(new BorderLayout()); areaWrapper.add(area, BorderLayout.CENTER); areaWrapper.setBackground(Color.white); From c09f69f7a91069aec834f8e2bdac88b51aa6f329 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 5 Jan 2018 17:44:55 +0800 Subject: [PATCH 03/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8=3D>=E5=AD=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD1=3D>=E8=AE=BE=E5=AE=9A=E7=94=BB=E5=B8=83=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E5=B9=B6=E9=94=81=E5=AE=9A=E5=AE=BD=E5=BA=A6=3D>bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_form/src/com/fr/design/mainframe/FormArea.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormArea.java b/designer_form/src/com/fr/design/mainframe/FormArea.java index c87348d71a..1786337dfe 100644 --- a/designer_form/src/com/fr/design/mainframe/FormArea.java +++ b/designer_form/src/com/fr/design/mainframe/FormArea.java @@ -116,12 +116,11 @@ public class FormArea extends JComponent implements ScrollRulerComponent { changeWidthPaneValue(MOBILE_ONLY_WIDTH); heightPane.setValue(MOBILE_ONLY_HEIGHT); changeHeightPaneValue(MOBILE_ONLY_HEIGHT); - widthPane.setEnabled(false); - } else if (!formMobileAttr.isMobileOnly() && !widthPane.isEnabled()) { - widthPane.setEnabled(true); } + widthPane.setEnabled(!formMobileAttr.isMobileOnly()); } }); + widthPane.setEnabled(!jForm.getTarget().getFormMobileAttr().isMobileOnly()); } MouseWheelListener showValSpinnerMouseWheelListener = new MouseWheelListener() { From 60ce6d9007e6af5deb78db58c8fc09719f5bd911 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 8 Jan 2018 13:56:20 +0800 Subject: [PATCH 04/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8=3D>=E5=AD=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD1=3D>=E5=9C=A8=E6=8A=A5=E8=A1=A8=E5=9D=97=E4=B8=AD?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=BB=E5=B8=83=E8=BE=B9=E7=BC=98=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/JWorkBook.java | 9 +++++++++ designer/src/com/fr/grid/GridUI.java | 3 +-- .../com/fr/design/mainframe/JTemplate.java | 11 +++++++++- .../src/com/fr/design/mainframe/JForm.java | 20 +++++++++++++++++-- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/JWorkBook.java b/designer/src/com/fr/design/mainframe/JWorkBook.java index c7996e84f9..fe7dcfc614 100644 --- a/designer/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer/src/com/fr/design/mainframe/JWorkBook.java @@ -876,6 +876,15 @@ public class JWorkBook extends JTemplate { return true; } + /** + * 是否应该画出分页线 + * + * @return 是则返回true + */ + public boolean shouldPaintPaginateLines() { + return true; + } + @Override public HyperlinkGroupPane getHyperLinkPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { return ReportHyperlinkGroupPane.getInstance(hyperlinkGroupPaneActionProvider); diff --git a/designer/src/com/fr/grid/GridUI.java b/designer/src/com/fr/grid/GridUI.java index 2215fc2b79..b14aa2cb91 100644 --- a/designer/src/com/fr/grid/GridUI.java +++ b/designer/src/com/fr/grid/GridUI.java @@ -584,8 +584,7 @@ public class GridUI extends ComponentUI { private void paintPaginateLines(Graphics g, Grid grid) { JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if(!jTemplate.isJWorkBook()){ - //报表块无分页之说 + if(!jTemplate.shouldPaintPaginateLines()){ return; } Graphics2D g2d = (Graphics2D) g; diff --git a/designer_base/src/com/fr/design/mainframe/JTemplate.java b/designer_base/src/com/fr/design/mainframe/JTemplate.java index 1da72d5f79..4492875bef 100644 --- a/designer_base/src/com/fr/design/mainframe/JTemplate.java +++ b/designer_base/src/com/fr/design/mainframe/JTemplate.java @@ -899,13 +899,22 @@ public abstract class JTemplate> ex */ public abstract boolean isJWorkBook(); + /** + * 是否应该画出分页线 + * + * @return 是则返回true + */ + public boolean shouldPaintPaginateLines() { + return false; + } + /** * 激活指定的template * */ public void activeJTemplate(int index, JTemplate jt) { DesignerContext.getDesignerFrame().activateJTemplate(this); - }; + } /** * 激活已存在的模板 diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index 707356c0c4..6586147dc9 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe; import com.fr.base.BaseUtils; +import com.fr.base.PaperSize; import com.fr.design.DesignState; import com.fr.design.actions.core.WorkBookSupportable; import com.fr.design.actions.file.WebPreviewUtils; @@ -22,7 +23,6 @@ import com.fr.design.designer.creator.XWParameterLayout; import com.fr.design.designer.properties.FormWidgetAuthorityEditPane; import com.fr.design.event.TargetModifiedEvent; import com.fr.design.event.TargetModifiedListener; -import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.frpane.HyperlinkGroupPane; import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; import com.fr.design.gui.ilable.UILabel; @@ -56,6 +56,8 @@ import com.fr.form.ui.container.WLayout; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; +import com.fr.page.PaperSettingProvider; +import com.fr.report.worksheet.FormElementCase; import com.fr.stable.ArrayUtils; import com.fr.stable.Constants; import com.fr.stable.bridge.StableFactory; @@ -165,6 +167,15 @@ public class JForm extends JTemplate implements BaseJForm { return false; } + /** + * 是否应该画出分页线 + * + * @return 是则返回true + */ + public boolean shouldPaintPaginateLines() { + return getTarget().getFormMobileAttr().isMobileOnly(); + } + /** * 返回当前支持的超链界面pane * @@ -830,7 +841,12 @@ public class JForm extends JTemplate implements BaseJForm { designerClass.put(Constants.ARG_0, FormElementCaseProvider.class); Object[] designerArg = new Object[]{formDesign.getElementCase()}; - return StableFactory.getMarkedInstanceObjectFromClass(FormECDesignerProvider.XML_TAG, designerArg, designerClass, FormECDesignerProvider.class); + FormECDesignerProvider formECDesigner = StableFactory.getMarkedInstanceObjectFromClass(FormECDesignerProvider.XML_TAG, designerArg, designerClass, FormECDesignerProvider.class); + // 如果是移动端专属模版,需要修改页面大小并显示边缘线 + PaperSettingProvider paperSetting = ((FormElementCase)formECDesigner.getEditingElementCase()).getReportSettings().getPaperSetting(); + paperSetting.setPaperSize(getTarget().getFormMobileAttr().isMobileOnly() ? PaperSize.PAPERSIZE_MOBILE : new PaperSize()); + + return formECDesigner; } /** From 945aac3275c31ae028f00db431e10691a4f70aa9 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 8 Jan 2018 14:48:48 +0800 Subject: [PATCH 05/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8=3D>=E5=AD=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD2=20=E8=87=AA=E9=80=82=E5=BA=94=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_form/src/com/fr/design/mainframe/JForm.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index 6586147dc9..7ebbbefbc0 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -815,6 +815,14 @@ public class JForm extends JTemplate implements BaseJForm { } } + /** + * 模板更新 + */ + public void fireTargetModified() { + super.fireTargetModified(); + WidgetPropertyPane.getInstance().refreshDockingView(); + } + /** * 在Form和ElementCase, 以及ElementCase和ElementCase之间切换 * From 32c9cea0597466551157c5143dbe5cf053d3ac2c Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 8 Jan 2018 15:40:20 +0800 Subject: [PATCH 06/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E6=99=AE=E9=80=9A=E6=8A=A5=E8=A1=A8=3D>1=20=E2=80=9C?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E5=B1=9E=E6=80=A7=E2=80=9D=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E7=95=8C=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/mobile/ReportMobileAttrPane.java | 10 +- .../ReportMobileTemplateSettingsPane.java | 100 ++++++++++++++++++ 2 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java diff --git a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java index 5c97dae8c7..743dd4d7fc 100644 --- a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java +++ b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java @@ -12,9 +12,8 @@ import javax.swing.*; */ public class ReportMobileAttrPane extends BasicBeanPane{ - + private ReportMobileTemplateSettingsPane reportMobileTemplateSettingsPane; // 模版设置面板 private AppFitBrowserPane appFitBrowserPane; - //工具栏容器 private MobileToolBarPane mobileToolBarPane; @@ -28,6 +27,10 @@ public class ReportMobileAttrPane extends BasicBeanPane{ JPanel jPanel = new JPanel(); jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS)); jPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + + reportMobileTemplateSettingsPane = new ReportMobileTemplateSettingsPane(); + jPanel.add(reportMobileTemplateSettingsPane); + appFitBrowserPane = new AppFitBrowserPane(); appFitBrowserPane.setAppFitPreviewPane(appFitPreviewPane); jPanel.add(appFitBrowserPane); @@ -46,13 +49,14 @@ public class ReportMobileAttrPane extends BasicBeanPane{ } appFitBrowserPane.populateBean(ob); mobileToolBarPane.populateBean(ob); - + reportMobileTemplateSettingsPane.populateBean(ob); } @Override public ElementCaseMobileAttr updateBean() { ElementCaseMobileAttr caseMobileAttr = appFitBrowserPane.updateBean(); mobileToolBarPane.updateBean(caseMobileAttr); + reportMobileTemplateSettingsPane.updateBean(caseMobileAttr); return caseMobileAttr; } diff --git a/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java b/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java new file mode 100644 index 0000000000..ce3a56383b --- /dev/null +++ b/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java @@ -0,0 +1,100 @@ +package com.fr.design.report.mobile; + +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.designer.IntervalConstants; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.layout.TableLayout; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.general.Inter; +import com.fr.report.mobile.ElementCaseMobileAttr; + +import javax.swing.*; +import java.awt.*; + +/** + * Created by plough on 2018/1/8. + */ +public class ReportMobileTemplateSettingsPane extends BasicBeanPane { + + private UICheckBox mobileCanvasSizeCheck; // 设置为手机模版画布大小 + + public ReportMobileTemplateSettingsPane() { + this.initComponents(); + } + + private void initComponents() { + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); + + JPanel contentPane = new JPanel(FRGUIPaneFactory.createBorderLayout()); + contentPane.setBorder(BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L2, 0, 0)); + + contentPane.add(getMobileCanvasSizeCheckPane(), BorderLayout.CENTER); + + borderPane.add(contentPane); + this.add(borderPane); + } + + private JPanel getMobileCanvasSizeCheckPane() { + JPanel panel = new JPanel(FRGUIPaneFactory.createBorderLayout()); + mobileCanvasSizeCheck = new UICheckBox(Inter.getLocText("FR-Designer_Set_Mobile_Canvas_Size")); + panel.add(mobileCanvasSizeCheck, BorderLayout.NORTH); + panel.add(getCanvasDescPane(), BorderLayout.CENTER); + panel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, 0, IntervalConstants.INTERVAL_L6, 0)); + return panel; + } + + private JPanel getCanvasDescPane() { + + UILabel desc1 = createDescLabel(Inter.getLocText("FR-Designer_Mobile_Screen_Match_Desc")); + UILabel desc2 = createDescLabel(Inter.getLocText("FR-Designer_Mobile_Screen_Zoom_In_Desc")); + UILabel desc3 = createDescLabel(Inter.getLocText("FR-Designer_Mobile_Screen_Zoom_Out_Desc")); + + double f = TableLayout.FILL; + double p = TableLayout.PREFERRED; + double[] rowSize = {p, p, p, p}; + double[] columnSize = {p, f}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; + Component[][] components = new Component[][]{ + new Component[]{desc1, null}, + new Component[]{desc2, null}, + new Component[]{desc3, null} + }; + JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, IntervalConstants.INTERVAL_W0, IntervalConstants.INTERVAL_L1); + panel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L7, IntervalConstants.INTERVAL_W4, IntervalConstants.INTERVAL_L1, 0)); + return panel; + } + + private UILabel createDescLabel(String desc) { + UILabel label = new UILabel(desc); + label.setForeground(Color.gray); + return label; + } + + @Override + public void populateBean(ElementCaseMobileAttr ob) { + if (ob == null) { + ob = new ElementCaseMobileAttr(); + } + mobileCanvasSizeCheck.setSelected(ob.isMobileCanvasSize()); + } + + @Override + public ElementCaseMobileAttr updateBean() { + return null; + } + + @Override + public void updateBean(ElementCaseMobileAttr mobileAttr) { + if(mobileAttr != null) { + mobileAttr.setMobileCanvasSize(mobileCanvasSizeCheck.isSelected()); + } + } + + @Override + protected String title4PopupWindow() { + return Inter.getLocText("FR-Designer_Template_Settings"); + } +} \ No newline at end of file From ff7495d418335a91dd00edb981ae4ac7dc525c6e Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 8 Jan 2018 16:25:19 +0800 Subject: [PATCH 07/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=20=E8=80=83=E5=B0=BA?= =?UTF-8?q?=E5=AF=B8=3D>=E6=99=AE=E9=80=9A=E6=8A=A5=E8=A1=A8=3D>3=20?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=AE=BE=E7=BD=AE=E2=80=94=E7=BA=B8=E5=BC=A0?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=3D>=E5=8F=96=E6=B6=88=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=9A=84=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/report/PageSetupPane.java | 102 ++---------------- 1 file changed, 6 insertions(+), 96 deletions(-) diff --git a/designer/src/com/fr/design/report/PageSetupPane.java b/designer/src/com/fr/design/report/PageSetupPane.java index 07076b1776..9e1ac363af 100644 --- a/designer/src/com/fr/design/report/PageSetupPane.java +++ b/designer/src/com/fr/design/report/PageSetupPane.java @@ -73,14 +73,6 @@ public class PageSetupPane extends BasicPane { private OtherPane otherPane; private UILabel zeroMarginWarn; - public final static PaperSize MOBILE_SMAIL_SIZE = new PaperSize(new MM(142.8f), new MM(254)); - public final static PaperSize MOBILE_LARGE_SIZE = new PaperSize(new MM(190.5f), new MM(338.7f)); - - public static final Object[][] MOBILE_NAME_SIZE_ARRAY = { - {Inter.getLocText("FR-Designer_PaperSize-Mobile-Large"),MOBILE_LARGE_SIZE}, - {Inter.getLocText("FR-Designer_PaperSize-Mobile-Small"),MOBILE_SMAIL_SIZE} - }; - public PageSetupPane() { this.initComponents(); } @@ -135,12 +127,10 @@ public class PageSetupPane extends BasicPane { private UIRadioButton landscapeRadioButton; private UIRadioButton predefinedRadioButton; - private UIRadioButton mobileRadioButton; private UIRadioButton customRadioButton; private UIComboBox predefinedComboBox; - private UIComboBox mobileComboBox; - + private UIBasicSpinner paperWidthSpinner; private UIBasicSpinner paperHeightSpinner; private UIComboBox switchInch; @@ -210,20 +200,14 @@ public class PageSetupPane extends BasicPane { predefinedRadioButton = new UIRadioButton(Inter.getLocText("PageSetup-Predefined") + ":"); predefinedRadioButton.setMnemonic('P'); predefinedRadioButton.addActionListener(previewListener); - - mobileRadioButton = new UIRadioButton(Inter.getLocText("FR-Designer_MobilePhone") + " :"); - mobileRadioButton.setMnemonic('M'); - mobileRadioButton.addActionListener(previewListener); - - + customRadioButton = new UIRadioButton(Inter.getLocText("Custom") + ":"); customRadioButton.setMnemonic('C'); customRadioButton.addActionListener(previewListener); predefinedComboBox = new UIComboBox(); - mobileComboBox = new UIComboBox(); - + paperWidthSpinner = new UIBasicSpinner(new SpinnerNumberModel(0.0, 0.0, Double.MAX_VALUE, 1.0)); ((JSpinner.DefaultEditor) paperWidthSpinner.getEditor()).getTextField().setColumns(7); paperHeightSpinner = new UIBasicSpinner(new SpinnerNumberModel(0.0, 0.0, Double.MAX_VALUE, 1.0)); @@ -239,9 +223,7 @@ public class PageSetupPane extends BasicPane { predefinedComboBox.setRenderer(paperSizeCellRenderere); predefinedComboBox.addItemListener(paperSizeItemListener); - - mobileComboBox.setRenderer(paperSizeMobileCellRenderere); - mobileComboBox.addItemListener(paperSizeItemMobileListener); + ((JSpinner.DefaultEditor) paperWidthSpinner.getEditor()).getTextField().getDocument().addDocumentListener(customTextListener); ((JSpinner.DefaultEditor) paperHeightSpinner.getEditor()).getTextField().getDocument().addDocumentListener(customTextListener); @@ -253,12 +235,6 @@ public class PageSetupPane extends BasicPane { Object[] tmpPaperSizeNameArray = ReportConstants.PaperSizeNameSizeArray[i]; predefinedComboBox.addItem(tmpPaperSizeNameArray[1]); } - - for(int i=0; i Date: Mon, 8 Jan 2018 17:35:44 +0800 Subject: [PATCH 08/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E6=99=AE=E9=80=9A=E6=8A=A5=E8=A1=A8=3D>3=20=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=AE=BE=E7=BD=AE=E2=80=94=E7=BA=B8=E5=BC=A0=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=3D>=E9=99=90=E5=88=B6=E5=AE=BD=E5=BA=A6=E8=8C=83?= =?UTF-8?q?=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/report/PageSetupPane.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/designer/src/com/fr/design/report/PageSetupPane.java b/designer/src/com/fr/design/report/PageSetupPane.java index 9e1ac363af..93460b7cc9 100644 --- a/designer/src/com/fr/design/report/PageSetupPane.java +++ b/designer/src/com/fr/design/report/PageSetupPane.java @@ -428,6 +428,23 @@ public class PageSetupPane extends BasicPane { setAndPopulate(isCustomed, unitType); populateMargin(); + + checkMobileSetting(report); + } + + private void checkMobileSetting(Report report) { + if (report.getBook().getReportMobileAttr().isMobileCanvasSize()) { + // 当勾选移动端画布大小后,自定义选项不可修改;限制宽度范围 + predefinedRadioButton.setEnabled(false); + predefinedComboBox.setEnabled(false); + double maxWidth; + if (unitType == Constants.UNIT_MM) { // 毫米 + maxWidth = PaperSize.PAPERSIZE_MOBILE.getWidth().toMMValue4Scale2(); + } else { // 英寸 + maxWidth = PaperSize.PAPERSIZE_MOBILE.getWidth().toINCHValue4Scale3(); + } + ((SpinnerNumberModel)paperWidthSpinner.getModel()).setMaximum(maxWidth); + } } private void unitSet(int unitType) { From 184616a920d2e9eedcdca985633fdb9e29db7e44 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 8 Jan 2018 19:56:11 +0800 Subject: [PATCH 09/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=3D>=E5=8A=9F=E8=83=BD=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/report/ReportMobileAttrAction.java | 12 +++++++++++- .../mainframe/actions/FormMobileAttrAction.java | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/actions/report/ReportMobileAttrAction.java b/designer/src/com/fr/design/actions/report/ReportMobileAttrAction.java index 84d1facdf4..be9421312b 100644 --- a/designer/src/com/fr/design/actions/report/ReportMobileAttrAction.java +++ b/designer/src/com/fr/design/actions/report/ReportMobileAttrAction.java @@ -11,7 +11,10 @@ import com.fr.design.report.mobile.ReportMobileAttrPane; import com.fr.general.IOUtils; import com.fr.general.Inter; import com.fr.main.TemplateWorkBook; +import com.fr.plugin.ExtraClassManager; import com.fr.report.mobile.ElementCaseMobileAttr; +import com.fr.stable.ReportFunctionProcessor; +import com.fr.stable.fun.FunctionProcessor; import javax.swing.*; import java.awt.event.ActionEvent; @@ -50,8 +53,15 @@ public class ReportMobileAttrAction extends JWorkBookAction{ BasicDialog dialog = mobileAttrPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { @Override public void doOk() { - wbTpl.setReportMobileAttr(mobileAttrPane.updateBean()); + ElementCaseMobileAttr elementCaseMobileAttr = mobileAttrPane.updateBean(); + wbTpl.setReportMobileAttr(elementCaseMobileAttr); jwb.fireTargetModified(); + if (elementCaseMobileAttr.isMobileCanvasSize()) { + FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); + if (processor != null) { + processor.recordFunction(ReportFunctionProcessor.MOBILE_TEMPLATE_CPT); + } + } } }); dialog.setVisible(true); diff --git a/designer_form/src/com/fr/design/mainframe/actions/FormMobileAttrAction.java b/designer_form/src/com/fr/design/mainframe/actions/FormMobileAttrAction.java index 4f67187085..bb5bf0ce78 100644 --- a/designer_form/src/com/fr/design/mainframe/actions/FormMobileAttrAction.java +++ b/designer_form/src/com/fr/design/mainframe/actions/FormMobileAttrAction.java @@ -11,6 +11,9 @@ import com.fr.design.menu.MenuKeySet; import com.fr.form.main.Form; import com.fr.form.main.mobile.FormMobileAttr; import com.fr.general.Inter; +import com.fr.plugin.ExtraClassManager; +import com.fr.stable.ReportFunctionProcessor; +import com.fr.stable.fun.FunctionProcessor; import javax.swing.*; import java.awt.event.ActionEvent; @@ -47,8 +50,15 @@ public class FormMobileAttrAction extends JTemplateAction { BasicDialog dialog = mobileAttrPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { @Override public void doOk() { - formTpl.setFormMobileAttr(mobileAttrPane.updateBean()); + FormMobileAttr formMobileAttr = mobileAttrPane.updateBean(); + formTpl.setFormMobileAttr(formMobileAttr); jf.fireTargetModified(); + if (formMobileAttr.isMobileOnly()) { + FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); + if (processor != null) { + processor.recordFunction(ReportFunctionProcessor.MOBILE_TEMPLATE_FRM); + } + } } }); dialog.setVisible(true); From 4f06afdd3783777193d582f6f7480315a439551a Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 10 Jan 2018 16:08:23 +0800 Subject: [PATCH 10/10] =?UTF-8?q?MOBILE-6262=20FR9.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E6=8F=90=E4=BE=9B=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=94=BB=E5=B8=83=E5=8F=82=E8=80=83=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=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 --- designer/src/com/fr/design/mainframe/JWorkBook.java | 9 --------- .../mainframe/form/FormElementCaseDesigner.java | 5 +++-- .../mainframe/form/FormElementCasePaneDelegate.java | 4 +++- .../mobile/ReportMobileTemplateSettingsPane.java | 4 +++- designer/src/com/fr/grid/GridUI.java | 4 ---- .../fr/design/dialog/mobile/MobileRadioCheckPane.java | 4 ---- .../src/com/fr/design/mainframe/JTemplate.java | 9 --------- designer_form/src/com/fr/design/mainframe/JForm.java | 11 +---------- 8 files changed, 10 insertions(+), 40 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/JWorkBook.java b/designer/src/com/fr/design/mainframe/JWorkBook.java index 8cef67169b..6320d23d2c 100644 --- a/designer/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer/src/com/fr/design/mainframe/JWorkBook.java @@ -876,15 +876,6 @@ public class JWorkBook extends JTemplate { return true; } - /** - * 是否应该画出分页线 - * - * @return 是则返回true - */ - public boolean shouldPaintPaginateLines() { - return true; - } - @Override public HyperlinkGroupPane getHyperLinkPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { return ReportHyperlinkGroupPane.getInstance(hyperlinkGroupPaneActionProvider); diff --git a/designer/src/com/fr/design/mainframe/form/FormElementCaseDesigner.java b/designer/src/com/fr/design/mainframe/form/FormElementCaseDesigner.java index 103a695113..b1f3b2e1be 100644 --- a/designer/src/com/fr/design/mainframe/form/FormElementCaseDesigner.java +++ b/designer/src/com/fr/design/mainframe/form/FormElementCaseDesigner.java @@ -30,6 +30,7 @@ import com.fr.design.menu.ShortCut; import com.fr.design.menu.ToolBarDef; import com.fr.design.present.ConditionAttributesGroupPane; import com.fr.form.FormElementCaseProvider; +import com.fr.form.main.Form; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.Selection; @@ -50,11 +51,11 @@ public class FormElementCaseDesigner{ - public FormElementCasePaneDelegate(FormElementCase sheet) { + public FormElementCasePaneDelegate(FormElementCase sheet, Form form) { super(sheet); + this.getGrid().setShowPaginateLine(form.getFormMobileAttr().isMobileOnly()); this.addSelectionChangeListener(new SelectionListener() { @Override public void selectionChanged(SelectionEvent e) { diff --git a/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java b/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java index ce3a56383b..e449091a5b 100644 --- a/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java +++ b/designer/src/com/fr/design/report/mobile/ReportMobileTemplateSettingsPane.java @@ -83,7 +83,9 @@ public class ReportMobileTemplateSettingsPane extends BasicBeanPane { this.add(fitOpsPane); } - public void registerChangeLister(UIObserverListener listener) { - checkBoxes.get(0).registerChangeListener(listener); - } - public int getCurrentState() { return checkBoxes.get(0).isSelected() ? 0 : 1; } diff --git a/designer_base/src/com/fr/design/mainframe/JTemplate.java b/designer_base/src/com/fr/design/mainframe/JTemplate.java index 000e9dbda7..faca73e836 100644 --- a/designer_base/src/com/fr/design/mainframe/JTemplate.java +++ b/designer_base/src/com/fr/design/mainframe/JTemplate.java @@ -899,15 +899,6 @@ public abstract class JTemplate> ex */ public abstract boolean isJWorkBook(); - /** - * 是否应该画出分页线 - * - * @return 是则返回true - */ - public boolean shouldPaintPaginateLines() { - return false; - } - /** * 激活指定的template * diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index d6b20aed99..97c0d6ff1f 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -154,15 +154,6 @@ public class JForm extends JTemplate implements BaseJForm { return false; } - /** - * 是否应该画出分页线 - * - * @return 是则返回true - */ - public boolean shouldPaintPaginateLines() { - return getTarget().getFormMobileAttr().isMobileOnly(); - } - /** * 返回当前支持的超链界面pane * @@ -840,7 +831,7 @@ public class JForm extends JTemplate implements BaseJForm { HashMap designerClass = new HashMap(); designerClass.put(Constants.ARG_0, FormElementCaseProvider.class); - Object[] designerArg = new Object[]{formDesign.getElementCase()}; + Object[] designerArg = new Object[]{formDesign.getElementCase(), getTarget()}; FormECDesignerProvider formECDesigner = StableFactory.getMarkedInstanceObjectFromClass(FormECDesignerProvider.XML_TAG, designerArg, designerClass, FormECDesignerProvider.class); // 如果是移动端专属模版,需要修改页面大小并显示边缘线 PaperSettingProvider paperSetting = ((FormElementCase)formECDesigner.getEditingElementCase()).getReportSettings().getPaperSetting();