From 2c371d74c40cf79e6ab2bd308ff7067a9ee9d9c5 Mon Sep 17 00:00:00 2001 From: neil Date: Wed, 14 Dec 2016 11:32:40 +0800 Subject: [PATCH 001/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=20=E4=B8=8D=E5=85=BC=E5=AE=B9=E7=9A=84API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/fun/ConnectionProvider.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/fun/ConnectionProvider.java b/designer_base/src/com/fr/design/fun/ConnectionProvider.java index c6bd2fca24..766f7d4147 100644 --- a/designer_base/src/com/fr/design/fun/ConnectionProvider.java +++ b/designer_base/src/com/fr/design/fun/ConnectionProvider.java @@ -12,7 +12,8 @@ public interface ConnectionProvider extends Mutable { public static final String XML_TAG = "ConnectionProvider"; - int CURRENT_LEVEL = 1; + // 2016-12-14 1 -> 2 , 增加connection.feature方法导致不兼容. + int CURRENT_LEVEL = 2; /** * 数据连接弹出菜单的名字 From 4491ba813d030f06ad52c17d1403503d92c29372 Mon Sep 17 00:00:00 2001 From: fr_shine Date: Wed, 14 Dec 2016 11:44:41 +0800 Subject: [PATCH 002/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/chart/report/GisMapTableDataContentPane.java | 2 +- .../design/chart/report/GisMapTableDataContentPane4Chart.java | 2 +- .../src/com/fr/design/chart/report/MapCubeLayerPane.java | 4 ++-- .../chart/gui/data/table/BubblePlotTableDataContentPane.java | 2 +- .../gui/data/table/CategoryPlotTableDataContentPane.java | 2 +- .../gui/data/table/XYScatterPlotTableDataContentPane.java | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane.java b/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane.java index 4e0443c9ff..5a2f3a4b93 100644 --- a/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane.java +++ b/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane.java @@ -245,7 +245,7 @@ public class GisMapTableDataContentPane extends FurtherBasicBeanPane{ while(names.hasNext()) { Object name = names.next(); String layName = editingAttr.getLayerTo(Utils.objectToString(name)); - if(ArrayUtils.contains(ChartConstants.NONE_KEYS, layName)) {// kunsnat: 考虑切换设计器语言. + if(ArrayUtils.contains(ChartConstants.getNoneKeys(), layName)) {// kunsnat: 考虑切换设计器语言. layName = StringUtils.EMPTY; } list.add(new Object[]{name, layName}); @@ -230,7 +230,7 @@ public class MapCubeLayerPane extends BasicBeanPane{ while(names.hasNext()) { Object name = names.next(); String layName = editingAttr.getLayerTo(Utils.objectToString(name)); - if(ArrayUtils.contains(ChartConstants.NONE_KEYS, layName)) {// kunsnat: 考虑切换设计器语言. + if(ArrayUtils.contains(ChartConstants.getNoneKeys(), layName)) {// kunsnat: 考虑切换设计器语言. layName = StringUtils.EMPTY; } list.add(new Object[]{name, layName}); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/BubblePlotTableDataContentPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/BubblePlotTableDataContentPane.java index 73c5f1b180..2d404196c8 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/BubblePlotTableDataContentPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/BubblePlotTableDataContentPane.java @@ -137,7 +137,7 @@ public class BubblePlotTableDataContentPane extends AbstractTableDataContentPane Object resultY = yCombox.getSelectedItem(); Object resultSize = bubbleSize.getSelectedItem(); - if(resultName == null || ArrayUtils.contains(ChartConstants.NONE_KEYS, resultName)) { + if(resultName == null || ArrayUtils.contains(ChartConstants.getNoneKeys(), resultName)) { definition.setSeriesName(StringUtils.EMPTY); } else { definition.setSeriesName(resultName.toString()); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotTableDataContentPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotTableDataContentPane.java index a8c1bc1f87..6de692f6f0 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotTableDataContentPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/CategoryPlotTableDataContentPane.java @@ -113,7 +113,7 @@ public class CategoryPlotTableDataContentPane extends AbstractTableDataContentPa } Object categoryName = categoryCombox.getSelectedItem(); - if(ArrayUtils.contains(ChartConstants.NONE_KEYS, categoryName)) { + if(ArrayUtils.contains(ChartConstants.getNoneKeys(), categoryName)) { dataDefinition.setCategoryName(StringUtils.EMPTY); } else { dataDefinition.setCategoryName(categoryName == null ? null : categoryName.toString()); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/XYScatterPlotTableDataContentPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/XYScatterPlotTableDataContentPane.java index c27b4322c5..8abb46bf5b 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/XYScatterPlotTableDataContentPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/XYScatterPlotTableDataContentPane.java @@ -107,7 +107,7 @@ public class XYScatterPlotTableDataContentPane extends AbstractTableDataContentP Object resultX = xCombox.getSelectedItem(); Object resultY = yCombox.getSelectedItem(); - if(resultName == null || ArrayUtils.contains(ChartConstants.NONE_KEYS, resultName)) { + if(resultName == null || ArrayUtils.contains(ChartConstants.getNoneKeys(), resultName)) { definition.setSeriesName(StringUtils.EMPTY); } else { definition.setSeriesName(resultName.toString()); From df55f1e33f7aaf6fe99affa4417cd18cf491ff2a Mon Sep 17 00:00:00 2001 From: plough Date: Thu, 15 Dec 2016 16:42:55 +0800 Subject: [PATCH 003/104] =?UTF-8?q?REPORT-1178=20=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E2=80=94=E2=80=941/23?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/design/mainframe/JWorkBook.java | 2 +- .../src/com/fr/design/locale/designer.properties | 1 + .../src/com/fr/design/locale/designer_en_US.properties | 2 ++ .../src/com/fr/design/locale/designer_ja_JP.properties | 8 ++++---- .../src/com/fr/design/locale/designer_ko_KR.properties | 5 +++-- .../src/com/fr/design/locale/designer_zh_CN.properties | 1 + .../src/com/fr/design/locale/designer_zh_TW.properties | 1 + 7 files changed, 13 insertions(+), 7 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/JWorkBook.java b/designer/src/com/fr/design/mainframe/JWorkBook.java index f3722c4ac2..c46f97f5da 100644 --- a/designer/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer/src/com/fr/design/mainframe/JWorkBook.java @@ -463,7 +463,7 @@ public class JWorkBook extends JTemplate { */ public ShortCut[] shortCuts4Authority() { return new ShortCut[]{ - new NameSeparator(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})), + new NameSeparator(Inter.getLocText("FR-Designer_Permissions_Edition")), BaseUtils.isAuthorityEditing() ? new ExitAuthorityEditAction(this) : new AllowAuthorityEditAction(this), }; diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 80f966919d..9a0b410eed 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -488,3 +488,4 @@ FR-Designer-LayerPageReport_PageQuery= FR-Designer-LayerPageReport_Define_PageQuerySQL= FR-Designer_Event= FR-Designer_Properties= +FR-Designer_Permissions_Edition=Permissions Edition 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 f2738c38e3..d1f92857a4 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 @@ -487,3 +487,5 @@ FR-Designer-DS-Database_Query=DB Query FR-Designer_Is_Share_DBTableData=Shared data set FR-Designer_Event=Event FR-Designer_Properties=Properties +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Permission_Edition=Permissions Edition 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 4ab48d0e6b..c4166911a1 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 @@ -432,7 +432,7 @@ FR-Designer_Attention=\u6CE8\u610F\u3057\u307E\u3059 FR-Designer_Forbid_Widgets_Intersects=\u7981\u6B62\u90E8\u54C1\u3092\u91CD\u306D\u3066 FR-Designer_Widget_Scaling_Mode_Fit=\u9069\u5FDC\u533A\u57DF FR-Designer_Widget_Scaling_Mode_Fixed=\u56FA\u5B9A\u30B5\u30A4\u30BA -FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2\ +FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2 FR-Designer-QQLogin-Determine=\u6C7A\u5B9A\u3057\u307E\u3059 FR-Designer-QQLogin-Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB FR-Designer-Reuse_Manager= @@ -463,6 +463,6 @@ FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 -FR-Designer_Event=\ -FR-Designer_Properties=FR-Designer_Properties=\ -\ +FR-Designer_Event= +FR-Designer_Properties= +FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 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 64bee79036..ced78b1cfd 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 @@ -459,5 +459,6 @@ FR-Designer-DS-Database_Query=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uCC3E\uC544\u FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql -FR-Designer_Event=\ -FR-Designer_Properties=\ \ No newline at end of file +FR-Designer_Event= +FR-Designer_Properties= +FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 \ No newline at end of file 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 47ab967f1c..53186b075d 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 @@ -491,3 +491,4 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u4E49\u5206\u9875\u67E5\u FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 +FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 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 01a04e850d..e4a2718a48 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 @@ -479,3 +479,4 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u5206\u9801\u67E5\u FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 +FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F From 2a79bb30daf5633d856f0c7b2cf4afd591e2bb61 Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 16 Dec 2016 09:59:49 +0800 Subject: [PATCH 004/104] =?UTF-8?q?REPORT-1220=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E7=95=8C=E9=9D=A2=E7=9A=84=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E5=92=8C=E6=8E=A7=E4=BB=B6=E6=82=AC=E6=B5=AE=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E5=85=B6=E4=BB=96=E4=BD=8D=E7=BD=AE=E4=B8=8D?= =?UTF-8?q?=E6=B6=88=E5=A4=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/FormParaWidgetPane.java | 297 +++++++++--------- 1 file changed, 147 insertions(+), 150 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java index cb111bb929..3423c54cd2 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java @@ -18,7 +18,6 @@ import com.fr.form.ui.*; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; -import com.fr.stable.OperatingSystem; import javax.swing.*; import java.awt.*; @@ -27,14 +26,14 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -public class FormParaWidgetPane extends JPanel{ - private static FormParaWidgetPane THIS; - private List predifinedwidgeList = new ArrayList(); +public class FormParaWidgetPane extends JPanel { + private static FormParaWidgetPane THIS; + private List predifinedwidgeList = new ArrayList(); private JWindow chartTypeWindow; private JWindow widgetTypeWindow; private WidgetOption[] widgetOptions = null; - private WidgetOption[] chartOptions = null; + private WidgetOption[] chartOptions = null; private WidgetOption[] layoutOptions = null; private int widgetButtonWidth = 22; private int widgetButtonHeight = 20; @@ -53,42 +52,42 @@ public class FormParaWidgetPane extends JPanel{ private JSeparator jSeparatorChart; private JSeparator jSeparatorLayout; - private UILabel paraLabel ; - - private FormDesigner designer; - - public static final FormParaWidgetPane getInstance(FormDesigner designer) { - if(THIS == null) { - THIS = new FormParaWidgetPane(); - } - THIS.designer = designer; - THIS.setTarget(designer); - return THIS; - } - - public FormParaWidgetPane() { - setLayout(new FlowLayout(FlowLayout.LEFT)); + private UILabel paraLabel; + + private FormDesigner designer; + + public static final FormParaWidgetPane getInstance(FormDesigner designer) { + if (THIS == null) { + THIS = new FormParaWidgetPane(); + } + THIS.designer = designer; + THIS.setTarget(designer); + return THIS; + } + + public FormParaWidgetPane() { + setLayout(new FlowLayout(FlowLayout.LEFT)); DesignerContext.getDesignerFrame().getCenterTemplateCardPane().addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { - if (FormParaWidgetPane.this.getParent() != null) { - JPanel fother = (JPanel)FormParaWidgetPane.this.getParent(); + if (FormParaWidgetPane.this.getParent() != null) { + JPanel fother = (JPanel) FormParaWidgetPane.this.getParent(); int delta_wdith = 0; - for (int i = 0; i < fother.getComponentCount() - 1; i ++) { + for (int i = 0; i < fother.getComponentCount() - 1; i++) { delta_wdith += fother.getComponent(i).getWidth(); } - - if(delta_wdith == 0){ - return; + + if (delta_wdith == 0) { + return; } - + Dimension d = fother.getSize(); - setPreferredSize(new Dimension(d.width - delta_wdith, d.height)); - LayoutUtils.layoutContainer(fother); - } + setPreferredSize(new Dimension(d.width - delta_wdith, d.height)); + LayoutUtils.layoutContainer(fother); + } } }); initFormParaComponent(); - } + } private void initFormParaComponent() { @@ -97,16 +96,16 @@ public class FormParaWidgetPane extends JPanel{ JPanel paraPane = new JPanel(new FlowLayout()); ToolBarButton paraButton = new paraButton(FormWidgetOption.PARAMETERCONTAINER); paraPane.add(paraButton); - add(createNormalCombinationPane(paraPane,Inter.getLocText("FR-Designer_Parameter"))); + add(createNormalCombinationPane(paraPane, Inter.getLocText("FR-Designer_Parameter"))); jSeparatorPara = createJSeparator(); add(jSeparatorPara); - + JPanel layoutPane = new JPanel(new FlowLayout()); - for(WidgetOption option : loadLayoutOptions()){ + for (WidgetOption option : loadLayoutOptions()) { layoutPane.add(new ToolBarButton(option)); } layoutPane.add(new ToolBarButton(FormWidgetOption.ELEMENTCASE)); - add(createNormalCombinationPane(layoutPane,Inter.getLocText("FR-Designer_Layout_Block_Blank"))); + add(createNormalCombinationPane(layoutPane, Inter.getLocText("FR-Designer_Layout_Block_Blank"))); jSeparatorLayout = createJSeparator(); add(jSeparatorLayout); @@ -114,8 +113,8 @@ public class FormParaWidgetPane extends JPanel{ int totalChartNums = loadChartOptions().length; if (totalChartNums > 0) { JPanel chartTypePane = new JPanel(new FlowLayout()); - for (int i = 0;i < commonChartNum ;i++) { - chartTypePane.add( new ToolBarButton(loadChartOptions()[i])); + for (int i = 0; i < commonChartNum; i++) { + chartTypePane.add(new ToolBarButton(loadChartOptions()[i])); } add(createChartCombinationPane(chartTypePane, Inter.getLocText("FR-Designer-Form-ToolBar_Chart"))); jSeparatorChart = createJSeparator(); @@ -123,115 +122,115 @@ public class FormParaWidgetPane extends JPanel{ } JPanel widgetPane = new JPanel(new FlowLayout()); - for (int i = 0;i < commonWidgetNum;i++) { + for (int i = 0; i < commonWidgetNum; i++) { widgetPane.add(new ToolBarButton(loadWidgetOptions()[i])); } widgetPane.add(createJSeparator(20)); loadPredefinedWidget(); - int num = Math.min(predifinedwidgeList.size(),preWidgetShowMaxNum); - for (int i = 0 ;i < num ;i++) { + int num = Math.min(predifinedwidgeList.size(), preWidgetShowMaxNum); + for (int i = 0; i < num; i++) { widgetPane.add(new ToolBarButton(predifinedwidgeList.get(i))); } add(createWidgetCombinationPane(widgetPane, Inter.getLocText("FR-Designer-Form-ToolBar_Widget"))); add(createJSeparator()); } - - private void loadPredefinedWidget() { - predifinedwidgeList.clear(); - if(designer != null) { - WidgetOption[] designerPre = designer.getDesignerMode().getPredefinedWidgetOptions(); - for(int i = 0; i < designerPre.length; i++) { - predifinedwidgeList.add(designerPre[i]); - } - } - WidgetManagerProvider mgr = WidgetManager.getProviderInstance(); - Iterator nameIt = mgr.getWidgetConfigNameIterator(); - while (nameIt.hasNext()) { - String name = nameIt.next(); - WidgetConfig widgetConfig = mgr.getWidgetConfig(name); - if (widgetConfig instanceof UserDefinedWidgetConfig) { - Widget widget = ((UserDefinedWidgetConfig) widgetConfig).getWidget(); - String widgetClassName = widget.getClass().getName(); - if (isButtonWidget(widgetClassName)) { - // ... - continue; - } - if (!XCreatorUtils.createXCreator(widget).canEnterIntoParaPane()){ + + private void loadPredefinedWidget() { + predifinedwidgeList.clear(); + if (designer != null) { + WidgetOption[] designerPre = designer.getDesignerMode().getPredefinedWidgetOptions(); + for (int i = 0; i < designerPre.length; i++) { + predifinedwidgeList.add(designerPre[i]); + } + } + WidgetManagerProvider mgr = WidgetManager.getProviderInstance(); + Iterator nameIt = mgr.getWidgetConfigNameIterator(); + while (nameIt.hasNext()) { + String name = nameIt.next(); + WidgetConfig widgetConfig = mgr.getWidgetConfig(name); + if (widgetConfig instanceof UserDefinedWidgetConfig) { + Widget widget = ((UserDefinedWidgetConfig) widgetConfig).getWidget(); + String widgetClassName = widget.getClass().getName(); + if (isButtonWidget(widgetClassName)) { + // ... + continue; + } + if (!XCreatorUtils.createXCreator(widget).canEnterIntoParaPane()) { //预定义控件工具栏这儿不显示工具栏中没有的预定义控件 continue; } - predifinedwidgeList.add(new UserDefinedWidgetOption(name)); - } - } - } + predifinedwidgeList.add(new UserDefinedWidgetOption(name)); + } + } + } private boolean isButtonWidget(String widgetClassName) { return widgetClassName.endsWith("DeleteRowButton") || widgetClassName.endsWith("AppendRowButton") || widgetClassName.endsWith("TreeNodeToogleButton"); } - private void setTarget(FormDesigner designer) { - if (designer == null) { - return; - } + private void setTarget(FormDesigner designer) { + if (designer == null) { + return; + } initFormParaComponent(); - } + } - private JPanel createNormalCombinationPane(JComponent jComponent,String typeName){ - JPanel reportPane = new JPanel(new BorderLayout(17,5)); - reportPane.add(jComponent,BorderLayout.CENTER); + private JPanel createNormalCombinationPane(JComponent jComponent, String typeName) { + JPanel reportPane = new JPanel(new BorderLayout(17, 5)); + reportPane.add(jComponent, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - UILabel label = new UILabel(typeName,UILabel.CENTER); - if(ComparatorUtils.equals(Inter.getLocText("FR-Designer_Parameter"),typeName )){ + UILabel label = new UILabel(typeName, UILabel.CENTER); + if (ComparatorUtils.equals(Inter.getLocText("FR-Designer_Parameter"), typeName)) { paraLabel = label; } - labelPane.add(label,BorderLayout.CENTER); - reportPane.add(labelPane,BorderLayout.SOUTH); - reportPane.setPreferredSize(new Dimension((int)reportPane.getPreferredSize().getWidth(),(int)reportPane.getPreferredSize().getHeight())); + labelPane.add(label, BorderLayout.CENTER); + reportPane.add(labelPane, BorderLayout.SOUTH); + reportPane.setPreferredSize(new Dimension((int) reportPane.getPreferredSize().getWidth(), (int) reportPane.getPreferredSize().getHeight())); return reportPane; } - private JPanel createChartCombinationPane(JComponent jComponent,String typeName){ - JPanel chartPane = new JPanel(new BorderLayout(17,5)); + private JPanel createChartCombinationPane(JComponent jComponent, String typeName) { + JPanel chartPane = new JPanel(new BorderLayout(17, 5)); chartPane.add(jComponent, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - labelPane.add(new UILabel(typeName,UILabel.CENTER),BorderLayout.CENTER); + labelPane.add(new UILabel(typeName, UILabel.CENTER), BorderLayout.CENTER); UIButton chartPopUpButton = createPopUpButton(); chartPopUpButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if(chartTypeWindow == null) { + if (chartTypeWindow == null) { JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT)); WidgetOption[] chartOptions = loadChartOptions(); for (WidgetOption chartOption : chartOptions) { - componentsPara.add( new ToolBarButton(chartOption)); + componentsPara.add(new ToolBarButton(chartOption)); } int x = commonChartNum * (widgetButtonWidth + smallGAP); - int y = (int)Math.ceil(chartOptions.length/((double)commonChartNum)) * (widgetButtonHeight + smallGAP); - componentsPara.setPreferredSize(new Dimension(x,y)); + int y = (int) Math.ceil(chartOptions.length / ((double) commonChartNum)) * (widgetButtonHeight + smallGAP); + componentsPara.setPreferredSize(new Dimension(x, y)); chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); - chartTypeWindow.setLocation((int)jSeparatorLayout.getLocationOnScreen().getX() + 1, (int)jSeparatorLayout.getLocationOnScreen().getY()); + chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); chartTypeWindow.setSize(chartTypeWindow.getPreferredSize()); } chartTypeWindow.setVisible(true); } }); - labelPane.add(chartPopUpButton,BorderLayout.EAST); - chartPane.add(labelPane,BorderLayout.SOUTH); + labelPane.add(chartPopUpButton, BorderLayout.EAST); + chartPane.add(labelPane, BorderLayout.SOUTH); return chartPane; } - private JPanel createWidgetCombinationPane(JComponent jComponent,String typeName){ - JPanel widgetPane = new JPanel(new BorderLayout(17,5)); - widgetPane.add(jComponent,BorderLayout.CENTER); + private JPanel createWidgetCombinationPane(JComponent jComponent, String typeName) { + JPanel widgetPane = new JPanel(new BorderLayout(17, 5)); + widgetPane.add(jComponent, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - labelPane.add(new UILabel(typeName,UILabel.CENTER),BorderLayout.CENTER); + labelPane.add(new UILabel(typeName, UILabel.CENTER), BorderLayout.CENTER); UIButton chartPopUpButton = createPopUpButton(); chartPopUpButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - JPanel widgetPane = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0)); + JPanel widgetPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)); loadPredefinedWidget(); int rowNum = calculateWidgetWindowRowNum(); JPanel westPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); @@ -239,27 +238,27 @@ public class FormParaWidgetPane extends JPanel{ westPanel.add(new ToolBarButton(o)); } int x = commonWidgetNum * (widgetButtonWidth + smallGAP); - westPanel.setPreferredSize(new Dimension(x,(int)(rowNum * westPanel.getPreferredSize().getHeight()))); + westPanel.setPreferredSize(new Dimension(x, (int) (rowNum * westPanel.getPreferredSize().getHeight()))); JPanel eastPane = new JPanel(new FlowLayout(FlowLayout.LEFT)); for (WidgetOption no : predifinedwidgeList) { eastPane.add(new ToolBarButton(no)); } int maxWidth = preWidgetShowMaxNum * (widgetButtonWidth + smallGAP); - int width = predifinedwidgeList.size() >= preWidgetShowMaxNum ? maxWidth:(int)eastPane.getPreferredSize().getWidth(); - eastPane.setPreferredSize(new Dimension(width,(int)(rowNum*eastPane.getPreferredSize().getHeight()))); + int width = predifinedwidgeList.size() >= preWidgetShowMaxNum ? maxWidth : (int) eastPane.getPreferredSize().getWidth(); + eastPane.setPreferredSize(new Dimension(width, (int) (rowNum * eastPane.getPreferredSize().getHeight()))); UIScrollPane eastScrollPane = new UIScrollPane(eastPane); eastScrollPane.setBorder(null); int maxHeight = preWidgetShowMaxRow * (widgetButtonHeight + smallGAP); - int height = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? maxHeight : (int)eastPane.getPreferredSize().getHeight(); - width = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? (int)eastPane.getPreferredSize().getWidth() + smallGAP + jsparatorWidth : (int)eastPane.getPreferredSize().getWidth(); - eastScrollPane.setPreferredSize(new Dimension(width,height)); + int height = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? maxHeight : (int) eastPane.getPreferredSize().getHeight(); + width = predifinedwidgeList.size() >= preWidgetShowMaxNum * preWidgetShowMaxRow ? (int) eastPane.getPreferredSize().getWidth() + smallGAP + jsparatorWidth : (int) eastPane.getPreferredSize().getWidth(); + eastScrollPane.setPreferredSize(new Dimension(width, height)); widgetPane.add(westPanel); widgetPane.add(createJSeparator(height)); widgetPane.add(eastScrollPane); - widgetTypeWindow = new PopUpWindow( widgetPane, Inter.getLocText("FR-Designer-Form-ToolBar_Widget")); + widgetTypeWindow = new PopUpWindow(widgetPane, Inter.getLocText("FR-Designer-Form-ToolBar_Widget")); widgetTypeWindow.setSize(widgetTypeWindow.getPreferredSize()); if (jSeparatorChart != null) { widgetTypeWindow.setLocation((int) jSeparatorChart.getLocationOnScreen().getX() + 1, (int) jSeparatorChart.getLocationOnScreen().getY()); @@ -268,59 +267,60 @@ public class FormParaWidgetPane extends JPanel{ } }); - labelPane.add(chartPopUpButton,BorderLayout.EAST); - widgetPane.add(labelPane,BorderLayout.SOUTH); + labelPane.add(chartPopUpButton, BorderLayout.EAST); + widgetPane.add(labelPane, BorderLayout.SOUTH); return widgetPane; } - private int calculateWidgetWindowRowNum(){ + private int calculateWidgetWindowRowNum() { //向上取整 - int rowNum = (int)Math.ceil((double)predifinedwidgeList.size()/(double)preWidgetShowMaxNum); - rowNum = Math.max(rowNum,2); - rowNum = Math.min(rowNum,preWidgetShowMaxRow); + int rowNum = (int) Math.ceil((double) predifinedwidgeList.size() / (double) preWidgetShowMaxNum); + rowNum = Math.max(rowNum, 2); + rowNum = Math.min(rowNum, preWidgetShowMaxRow); return rowNum; } - private JSeparator createJSeparator(){ - JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL ); - jSeparator.setPreferredSize(new Dimension(jsparatorWidth,jsparatorHeight)); - return jSeparator; + private JSeparator createJSeparator() { + JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL); + jSeparator.setPreferredSize(new Dimension(jsparatorWidth, jsparatorHeight)); + return jSeparator; } - private JSeparator createJSeparator(double height){ - JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL ); - jSeparator.setPreferredSize(new Dimension(jsparatorWidth,(int)height)); - return jSeparator; + private JSeparator createJSeparator(double height) { + JSeparator jSeparator = new JSeparator(SwingConstants.VERTICAL); + jSeparator.setPreferredSize(new Dimension(jsparatorWidth, (int) height)); + return jSeparator; } - private UIButton createPopUpButton(){ + private UIButton createPopUpButton() { UIButton popUpButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/buttonicon/arrowdown.png")); popUpButton.set4ToolbarButton(); return popUpButton; } - private UIButton createPopDownButton(){ + private UIButton createPopDownButton() { UIButton popUpButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/buttonicon/arrowup.png")); popUpButton.set4ToolbarButton(); return popUpButton; } - private class paraButton extends ToolBarButton{ - public paraButton(WidgetOption no){ + private class paraButton extends ToolBarButton { + public paraButton(WidgetOption no) { super(no); this.setDisabledIcon(BaseUtils.readIcon("/com/fr/web/images/form/resources/layout_parameter2.png")); - if(designer != null){ + if (designer != null) { this.setEnabled(designer.getParaComponent() == null); } } + public void mouseDragged(MouseEvent e) { - if (designer.getParaComponent() != null){ - return; + if (designer.getParaComponent() != null) { + return; } designer.addParaComponent(); - JPanel pane =FormWidgetDetailPane.getInstance(designer); + JPanel pane = FormWidgetDetailPane.getInstance(designer); EastRegionContainerPane.getInstance().replaceDownPane(pane); this.setEnabled(false); @@ -334,7 +334,7 @@ public class FormParaWidgetPane extends JPanel{ public void setEnabled(boolean b) { super.setEnabled(b); - paraLabel.setForeground(b ? Color.BLACK : new Color(198,198,198)); + paraLabel.setForeground(b ? Color.BLACK : new Color(198, 198, 198)); } } @@ -347,8 +347,9 @@ public class FormParaWidgetPane extends JPanel{ } /** - * 响应界面改变事件 - * @param evt 事件 + * 响应界面改变事件 + * + * @param evt 事件 */ public void fireCreatorModified(DesignerEvent evt) { button.setEnabled(designer.getParaComponent() == null); @@ -356,14 +357,13 @@ public class FormParaWidgetPane extends JPanel{ } - private class PopUpWindow extends JWindow { private JPanel northPane; private String typeName; private int LineWidth = 5; private int BarWidth = 10; - public PopUpWindow(JPanel northPane,String typeName){ + public PopUpWindow(JPanel northPane, String typeName) { super(); this.northPane = northPane; this.typeName = typeName; @@ -376,17 +376,14 @@ public class FormParaWidgetPane extends JPanel{ public void eventDispatched(AWTEvent event) { if (event instanceof MouseEvent) { MouseEvent mv = (MouseEvent) event; - Point point = mv.getLocationOnScreen(); - double endX = PopUpWindow.this.getX() + northPane.getWidth() + LineWidth; - double startX = endX - BarWidth; - double startY = PopUpWindow.this.getY() + northPane.getY(); - double endY = startY + northPane.getHeight(); - boolean dragBar = startX < point.getX() && endX > point.getX() && endY > point.getY(); - if (!dragBar && mv.getClickCount() > 0 && mv.getID() != MouseEvent.MOUSE_RELEASED) { - if(!ComparatorUtils.equals(mv.getSource(), PopUpWindow.this)) { - if (!OperatingSystem.isMacOS()) { - PopUpWindow.this.setVisible(false); - } + if (mv.getClickCount() > 0) { + Point point = new Point((int) (mv.getLocationOnScreen().getX()), (int) mv.getLocationOnScreen().getY()); + // 直接contains在mac下,点击内部也会消失 + Dimension d = PopUpWindow.this.getSize(); + Point p = PopUpWindow.this.getLocation(); + Rectangle rect = new Rectangle(p, d); + if (!rect.contains(point)) { + PopUpWindow.this.setVisible(false); } } } @@ -398,9 +395,9 @@ public class FormParaWidgetPane extends JPanel{ JPanel rootPane = new EditorChoosePane(); JPanel contentPane = new JPanel(); contentPane.setLayout(new BorderLayout(17, 0)); - contentPane.add(northPane,BorderLayout.CENTER); + contentPane.add(northPane, BorderLayout.CENTER); JPanel labelPane = new JPanel(new BorderLayout()); - labelPane.add(new UILabel(typeName,UILabel.CENTER),BorderLayout.CENTER); + labelPane.add(new UILabel(typeName, UILabel.CENTER), BorderLayout.CENTER); JButton popUpButton = createPopDownButton(); popUpButton.addMouseListener(new MouseAdapter() { @Override @@ -409,8 +406,8 @@ public class FormParaWidgetPane extends JPanel{ } }); labelPane.add(popUpButton, BorderLayout.EAST); - contentPane.add(labelPane,BorderLayout.SOUTH); - rootPane.add(contentPane,BorderLayout.CENTER); + contentPane.add(labelPane, BorderLayout.SOUTH); + rootPane.add(contentPane, BorderLayout.CENTER); return rootPane; } @@ -421,31 +418,31 @@ public class FormParaWidgetPane extends JPanel{ private class EditorChoosePane extends JPanel { public EditorChoosePane() { super(); - ((FlowLayout)this.getLayout()).setVgap(1); + ((FlowLayout) this.getLayout()).setVgap(1); } @Override public void paintComponent(Graphics g) { Rectangle r = this.getBounds(); g.setColor(UIConstants.NORMAL_BACKGROUND); - g.fillRoundRect(r.x, r.y, r.width, r.height,0,0); + g.fillRoundRect(r.x, r.y, r.width, r.height, 0, 0); g.setColor(UIConstants.LINE_COLOR); - g.drawLine(r.x, r.y, r.x, r.y+r.height); - g.drawLine(r.x, r.y+r.height-1, r.x+r.width-1, r.y+r.height-1); - g.drawLine(r.x+r.width-1, r.y, r.x+r.width-1, r.y+r.height-1); + g.drawLine(r.x, r.y, r.x, r.y + r.height); + g.drawLine(r.x, r.y + r.height - 1, r.x + r.width - 1, r.y + r.height - 1); + g.drawLine(r.x + r.width - 1, r.y, r.x + r.width - 1, r.y + r.height - 1); } } private WidgetOption[] loadWidgetOptions() { if (widgetOptions == null) { - widgetOptions = (WidgetOption[])ArrayUtils.addAll(WidgetOption.getFormWidgetIntance(), ExtraDesignClassManager.getInstance().getFormWidgetOptions()); + widgetOptions = (WidgetOption[]) ArrayUtils.addAll(WidgetOption.getFormWidgetIntance(), ExtraDesignClassManager.getInstance().getFormWidgetOptions()); } return widgetOptions; } private WidgetOption[] loadLayoutOptions() { if (layoutOptions == null) { - layoutOptions = (WidgetOption[])ArrayUtils.addAll(FormWidgetOption.getFormLayoutInstance(), ExtraDesignClassManager.getInstance().getFormWidgetContainerOptions()); + layoutOptions = (WidgetOption[]) ArrayUtils.addAll(FormWidgetOption.getFormLayoutInstance(), ExtraDesignClassManager.getInstance().getFormWidgetContainerOptions()); } return layoutOptions; } From 51c7715dc123f523f4ba1822d96ff1262018960c Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 16 Dec 2016 10:02:14 +0800 Subject: [PATCH 005/104] pmd --- .../src/com/fr/design/mainframe/FormParaWidgetPane.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java index 3423c54cd2..58db063bc6 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java @@ -45,7 +45,7 @@ public class FormParaWidgetPane extends JPanel { //预定义控件最多显示20行 private int preWidgetShowMaxRow = 20; //显示8个图表组件 - private static final int commonChartNum = 8; + private static final int COMMON_CHAR_NUM = 8; //显示10个普通控件 private int commonWidgetNum = 10; private JSeparator jSeparatorPara; @@ -113,7 +113,7 @@ public class FormParaWidgetPane extends JPanel { int totalChartNums = loadChartOptions().length; if (totalChartNums > 0) { JPanel chartTypePane = new JPanel(new FlowLayout()); - for (int i = 0; i < commonChartNum; i++) { + for (int i = 0; i < COMMON_CHAR_NUM; i++) { chartTypePane.add(new ToolBarButton(loadChartOptions()[i])); } add(createChartCombinationPane(chartTypePane, Inter.getLocText("FR-Designer-Form-ToolBar_Chart"))); @@ -206,8 +206,8 @@ public class FormParaWidgetPane extends JPanel { for (WidgetOption chartOption : chartOptions) { componentsPara.add(new ToolBarButton(chartOption)); } - int x = commonChartNum * (widgetButtonWidth + smallGAP); - int y = (int) Math.ceil(chartOptions.length / ((double) commonChartNum)) * (widgetButtonHeight + smallGAP); + int x = COMMON_CHAR_NUM * (widgetButtonWidth + smallGAP); + int y = (int) Math.ceil(chartOptions.length / ((double) COMMON_CHAR_NUM)) * (widgetButtonHeight + smallGAP); componentsPara.setPreferredSize(new Dimension(x, y)); chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); From 96f01dc0b733ad07d973d921d26824730bffc573 Mon Sep 17 00:00:00 2001 From: vito Date: Fri, 16 Dec 2016 10:18:02 +0800 Subject: [PATCH 006/104] =?UTF-8?q?REPORT-1222=20-=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=9B=BE=E8=A1=A8=E6=B5=AE=E5=8A=A8=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E4=B8=8D=E9=9A=8F=E4=B8=BB=E7=AA=97=E5=8F=A3=E5=8F=98?= =?UTF-8?q?=E5=8C=96=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/FormParaWidgetPane.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java index 58db063bc6..6187bbd486 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java @@ -200,19 +200,17 @@ public class FormParaWidgetPane extends JPanel { chartPopUpButton.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if (chartTypeWindow == null) { - JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT)); - WidgetOption[] chartOptions = loadChartOptions(); - for (WidgetOption chartOption : chartOptions) { - componentsPara.add(new ToolBarButton(chartOption)); - } - int x = COMMON_CHAR_NUM * (widgetButtonWidth + smallGAP); - int y = (int) Math.ceil(chartOptions.length / ((double) COMMON_CHAR_NUM)) * (widgetButtonHeight + smallGAP); - componentsPara.setPreferredSize(new Dimension(x, y)); - chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); - chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); - chartTypeWindow.setSize(chartTypeWindow.getPreferredSize()); + JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT)); + WidgetOption[] chartOptions = loadChartOptions(); + for (WidgetOption chartOption : chartOptions) { + componentsPara.add(new ToolBarButton(chartOption)); } + int x = COMMON_CHAR_NUM * (widgetButtonWidth + smallGAP); + int y = (int) Math.ceil(chartOptions.length / ((double) COMMON_CHAR_NUM)) * (widgetButtonHeight + smallGAP); + componentsPara.setPreferredSize(new Dimension(x, y)); + chartTypeWindow = new PopUpWindow(componentsPara, Inter.getLocText("FR-Designer-Form-ToolBar_Chart")); + chartTypeWindow.setLocation((int) jSeparatorLayout.getLocationOnScreen().getX() + 1, (int) jSeparatorLayout.getLocationOnScreen().getY()); + chartTypeWindow.setSize(chartTypeWindow.getPreferredSize()); chartTypeWindow.setVisible(true); } }); From b146c1d20c2afa38e99f67a20bd46c4d3b307577 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Fri, 23 Dec 2016 14:51:07 +0800 Subject: [PATCH 007/104] =?UTF-8?q?REPORT-1287=20=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=95=B0=E7=BB=84=E4=BB=A3=E7=A0=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rt,修复了。 --- .../src/com/fr/design/designer/creator/XElementCase.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XElementCase.java b/designer_form/src/com/fr/design/designer/creator/XElementCase.java index 543762ba21..a932548cc5 100644 --- a/designer_form/src/com/fr/design/designer/creator/XElementCase.java +++ b/designer_form/src/com/fr/design/designer/creator/XElementCase.java @@ -100,7 +100,7 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme .setI18NName(Inter.getLocText("Form-EC_toolbar")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") }; - resolveCompatible(propertyTableEditor); + propertyTableEditor = resolveCompatible(propertyTableEditor); FormElementCaseEditorProcessor processor = ExtraDesignClassManager.getInstance().getSingle(FormElementCaseEditorProcessor.MARK_STRING); if (processor == null) { return propertyTableEditor; @@ -122,7 +122,7 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme } - private void resolveCompatible (CRPropertyDescriptor[] propertyTableEditor) { + private CRPropertyDescriptor[] resolveCompatible (CRPropertyDescriptor[] propertyTableEditor) { //这边有个插件兼容问题,之后还是要改回process才行 Set set = ExtraDesignClassManager.getInstance().getArray(AbstractFormElementCaseEditorProvider.MARK_STRING); for (FormElementCaseEditorProvider provider : set) { @@ -135,6 +135,7 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme PropertyDescriptor[] extraEditor = provider.createPropertyDescriptor(this.data.getClass(), formProvider, elementCaseEditorProvider); propertyTableEditor = (CRPropertyDescriptor[]) ArrayUtils.addAll(propertyTableEditor, extraEditor); } + return propertyTableEditor; } @Override From 1eddab8678cb6af5cf1be9afd4eb51646ff65465 Mon Sep 17 00:00:00 2001 From: frharry Date: Mon, 26 Dec 2016 09:49:11 +0800 Subject: [PATCH 008/104] add interface --- .../com/fr/design/webattr/EditToolBar.java | 22 +++++++++- .../fun/ExtraButtonToolBarProvider.java | 44 +++++++++++++++++++ .../AbstractExtraButtonToolBarProvider.java | 19 ++++++++ 3 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java create mode 100644 designer_base/src/com/fr/design/fun/impl/AbstractExtraButtonToolBarProvider.java diff --git a/designer/src/com/fr/design/webattr/EditToolBar.java b/designer/src/com/fr/design/webattr/EditToolBar.java index 58f4558704..712278f628 100644 --- a/designer/src/com/fr/design/webattr/EditToolBar.java +++ b/designer/src/com/fr/design/webattr/EditToolBar.java @@ -7,6 +7,7 @@ import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.fun.ExportToolBarProvider; +import com.fr.design.fun.ExtraButtonToolBarProvider; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; @@ -29,6 +30,7 @@ import com.fr.form.ui.Widget; import com.fr.form.ui.WidgetManager; import com.fr.general.Background; import com.fr.general.Inter; +import com.fr.plugin.weixin.send.SendWeixinButton; import com.fr.report.web.button.Export; import com.fr.report.web.button.PDFPrint; import com.fr.report.web.button.Print; @@ -326,7 +328,9 @@ public class EditToolBar extends BasicPane { private IconDefinePane iconPane; private UIButton button; private JavaScriptActionPane javaScriptPane; - private ExportToolBarProvider[] exportToolBarProviders; + private ExportToolBarProvider[] exportToolBarProviders; + + private ExtraButtonToolBarProvider[] extraButtonToolBarProviders; private ChangeListener changeListener = new ChangeListener() { public void stateChanged(ChangeEvent e) { @@ -386,6 +390,12 @@ public class EditToolBar extends BasicPane { centerPane.add(getCpane(), "appendcount"); centerPane.add(getSubmitPane(), "submit"); + Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); + extraButtonToolBarProviders = extraButtonSet.toArray(new ExtraButtonToolBarProvider[set.size()]); + for(int i=0; i Date: Mon, 26 Dec 2016 10:01:34 +0800 Subject: [PATCH 009/104] update EditToolBar --- designer/src/com/fr/design/webattr/EditToolBar.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer/src/com/fr/design/webattr/EditToolBar.java b/designer/src/com/fr/design/webattr/EditToolBar.java index 712278f628..848e768bb1 100644 --- a/designer/src/com/fr/design/webattr/EditToolBar.java +++ b/designer/src/com/fr/design/webattr/EditToolBar.java @@ -30,7 +30,6 @@ import com.fr.form.ui.Widget; import com.fr.form.ui.WidgetManager; import com.fr.general.Background; import com.fr.general.Inter; -import com.fr.plugin.weixin.send.SendWeixinButton; import com.fr.report.web.button.Export; import com.fr.report.web.button.PDFPrint; import com.fr.report.web.button.Print; From 947f14e5ea0c9e2d44939fad024d35198ad8bcd6 Mon Sep 17 00:00:00 2001 From: frharry Date: Mon, 26 Dec 2016 10:05:33 +0800 Subject: [PATCH 010/104] update interface.xml_tag --- .../src/com/fr/design/fun/ExtraButtonToolBarProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java b/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java index 6e503b2ec8..160dfa2033 100644 --- a/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java +++ b/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java @@ -13,7 +13,7 @@ import java.awt.*; */ public interface ExtraButtonToolBarProvider extends Mutable { - String XML_TAG = "ButtonToolBarProvider"; + String XML_TAG = "ExtraButtonToolBarProvider"; int CURRENT_LEVEL = 1; From e1842c3665e2ee28a9e6f2dd5f5b0ba39b978d11 Mon Sep 17 00:00:00 2001 From: frharry Date: Mon, 26 Dec 2016 10:30:47 +0800 Subject: [PATCH 011/104] remove extraButtonPorviders --- .../src/com/fr/design/webattr/EditToolBar.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/designer/src/com/fr/design/webattr/EditToolBar.java b/designer/src/com/fr/design/webattr/EditToolBar.java index 848e768bb1..b9ce178faa 100644 --- a/designer/src/com/fr/design/webattr/EditToolBar.java +++ b/designer/src/com/fr/design/webattr/EditToolBar.java @@ -329,8 +329,6 @@ public class EditToolBar extends BasicPane { private JavaScriptActionPane javaScriptPane; private ExportToolBarProvider[] exportToolBarProviders; - private ExtraButtonToolBarProvider[] extraButtonToolBarProviders; - private ChangeListener changeListener = new ChangeListener() { public void stateChanged(ChangeEvent e) { if (isVerify.isSelected()) { @@ -390,9 +388,8 @@ public class EditToolBar extends BasicPane { centerPane.add(getSubmitPane(), "submit"); Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); - extraButtonToolBarProviders = extraButtonSet.toArray(new ExtraButtonToolBarProvider[set.size()]); - for(int i=0; i extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); + for(ExtraButtonToolBarProvider provider : extraButtonSet){ + provider.populate(widget, card, centerPane); } } @@ -626,8 +624,9 @@ public class EditToolBar extends BasicPane { updateDefault(); } - for(int i=0; i extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); + for(ExtraButtonToolBarProvider provider : extraButtonSet){ + provider.update(widget); } return widget; From 1731abb03a8af5a7f78a0eef20e7d56c7ef953d1 Mon Sep 17 00:00:00 2001 From: frharry Date: Mon, 26 Dec 2016 11:17:00 +0800 Subject: [PATCH 012/104] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/webattr/EditToolBar.java | 50 +++++++++---------- .../fun/ExtraButtonToolBarProvider.java | 7 +-- 2 files changed, 27 insertions(+), 30 deletions(-) diff --git a/designer/src/com/fr/design/webattr/EditToolBar.java b/designer/src/com/fr/design/webattr/EditToolBar.java index b9ce178faa..c3ed3b1502 100644 --- a/designer/src/com/fr/design/webattr/EditToolBar.java +++ b/designer/src/com/fr/design/webattr/EditToolBar.java @@ -387,10 +387,10 @@ public class EditToolBar extends BasicPane { centerPane.add(getCpane(), "appendcount"); centerPane.add(getSubmitPane(), "submit"); - Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); - for(ExtraButtonToolBarProvider provider : extraButtonSet){ - provider.updateCenterPane(centerPane); - } + Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); + for (ExtraButtonToolBarProvider provider : extraButtonSet) { + provider.updateCenterPane(centerPane); + } this.add(centerPane, BorderLayout.CENTER); } @@ -534,17 +534,17 @@ public class EditToolBar extends BasicPane { populateCustomToolBarButton(); } - Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); - for(ExtraButtonToolBarProvider provider : extraButtonSet){ - provider.populate(widget, card, centerPane); - } - } - + Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); + for (ExtraButtonToolBarProvider provider : extraButtonSet) { + provider.populate(widget, card, centerPane); + } + } + private void populateAppendColumnRow(){ card.show(centerPane, "appendcount"); count.setValue(((AppendColumnRow) widget).getCount()); } - + private void populateExport(){ card.show(centerPane, "export"); Export export = (Export) widget; @@ -560,7 +560,7 @@ public class EditToolBar extends BasicPane { } } } - + private void populateCustomToolBarButton(){ card.show(centerPane, "custom"); CustomToolBarButton customToolBarButton = (CustomToolBarButton) widget; @@ -568,7 +568,7 @@ public class EditToolBar extends BasicPane { this.javaScriptPane.populateBean(customToolBarButton.getJSImpl()); } } - + private void populateSubmit(){ card.show(centerPane, "submit"); Submit submit = ((Submit) widget); @@ -576,13 +576,13 @@ public class EditToolBar extends BasicPane { this.failSubmit.setSelected(submit.isFailVerifySubmit()); this.isCurSheet.setSelected(submit.isOnlySubmitSelect()); } - + private void populatePDFPrint(){ card.show(centerPane, "pdfprint"); PDFPrint pdfPrint = (PDFPrint) widget; this.isPopup.setSelected(pdfPrint.isPopup()); } - + private void populatePrint(){ card.show(centerPane, "print"); Print print = (Print) widget; @@ -591,7 +591,7 @@ public class EditToolBar extends BasicPane { this.flashPrint.setSelected(print.isFlashPrint()); this.serverPrint.setSelected(print.isServerPrint()); } - + private void populateDefault(){ Button button = (Button) widget; this.icon.setSelected(button.isShowIcon()); @@ -602,7 +602,7 @@ public class EditToolBar extends BasicPane { /** * 更新 - * + * * @return 对应组件 */ public Widget update() { @@ -624,28 +624,28 @@ public class EditToolBar extends BasicPane { updateDefault(); } - Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); - for(ExtraButtonToolBarProvider provider : extraButtonSet){ - provider.update(widget); - } + Set extraButtonSet = ExtraDesignClassManager.getInstance().getArray(ExtraButtonToolBarProvider.XML_TAG); + for (ExtraButtonToolBarProvider provider : extraButtonSet) { + provider.update(widget); + } return widget; } - + private void updateDefault(){ ((Button) widget).setShowIcon(this.icon.isSelected()); ((Button) widget).setShowText(this.text.isSelected()); ((Button) widget).setText(this.nameField.getText()); ((Button) widget).setIconName(this.iconPane.update()); } - + private void updateSubmit(){ Submit submit = ((Submit) widget); submit.setVerify(this.isVerify.isSelected()); submit.setFailVerifySubmit(this.failSubmit.isSelected()); submit.setOnlySubmitSelect(this.isCurSheet.isSelected()); } - + private void updatePrint(){ Print print = (Print) widget; print.setAppletPrint(this.appletPrint.isSelected()); @@ -653,7 +653,7 @@ public class EditToolBar extends BasicPane { print.setPDFPrint(this.pdfPrint.isSelected()); print.setServerPrint(this.serverPrint.isSelected()); } - + private void updateExport(){ Export export = (Export) widget; export.setPdfAvailable(this.pdf.isSelected()); diff --git a/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java b/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java index 160dfa2033..09bff1f1a6 100644 --- a/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java +++ b/designer_base/src/com/fr/design/fun/ExtraButtonToolBarProvider.java @@ -8,7 +8,6 @@ import java.awt.*; /** * 报表工具栏设计器端拓展,用于配置按钮额外属性 - * * Created by harry on 2016-12-23. */ public interface ExtraButtonToolBarProvider extends Mutable { @@ -18,7 +17,6 @@ public interface ExtraButtonToolBarProvider extends Mutable { int CURRENT_LEVEL = 1; /** - * * 用于添加属性面板 * * @param centerPane 面板 @@ -26,11 +24,10 @@ public interface ExtraButtonToolBarProvider extends Mutable { void updateCenterPane(JPanel centerPane); /** - * * 更新界面 * - * @param widget 控件 - * @param card 卡片布局 + * @param widget 控件 + * @param card 卡片布局 * @param centerPane 面板 */ void populate(Widget widget, CardLayout card, JPanel centerPane); From 94812bbd237a643e296a77ff4ce039947be99716 Mon Sep 17 00:00:00 2001 From: frharry Date: Mon, 26 Dec 2016 14:36:56 +0800 Subject: [PATCH 013/104] =?UTF-8?q?=E8=B0=83=C3=A6=C2=95update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/design/webattr/EditToolBar.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/webattr/EditToolBar.java b/designer/src/com/fr/design/webattr/EditToolBar.java index c3ed3b1502..ac12959345 100644 --- a/designer/src/com/fr/design/webattr/EditToolBar.java +++ b/designer/src/com/fr/design/webattr/EditToolBar.java @@ -200,7 +200,7 @@ public class EditToolBar extends BasicPane { toolBarButton.setWidget(widget); if (widget instanceof Button) { String iconname = ((Button) widget).getIconName(); - if (!StringUtils.isBlank(iconname)) { + if (StringUtils.isNotBlank(iconname)) { Image iimage = WidgetManager.getProviderInstance().getIconManager().getIconImage(iconname); toolBarButton.setIcon(new ImageIcon(iimage)); } From c52ea2a287b4c21c4ea322643960a909210d236d Mon Sep 17 00:00:00 2001 From: kerry Date: Wed, 28 Dec 2016 14:25:09 +0800 Subject: [PATCH 014/104] =?UTF-8?q?REPORT-979=20=E6=97=A5=E6=96=87?= =?UTF-8?q?=E7=A4=BE=E5=8C=BA=EF=BC=8C=E9=A1=B6=E9=83=A8=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F=E5=88=A0=E9=99=A4=E7=A4=BE=E5=8C=BA=E4=B8=80=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index a5a3b94994..b0a9ba1669 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -148,7 +148,7 @@ public abstract class ToolBarMenuDock { public void addCommunityMenuDef(java.util.List menuList){ Locale locale = FRContext.getLocale(); - Locale [] locales =supportCommunityLocales(); + Locale [] locales = supportCommunityLocales(); for(int i = 0; i < locales.length; i++) { if(locale.equals(locales[i])){ menuList.add(createCommunityMenuDef()); @@ -160,9 +160,8 @@ public abstract class ToolBarMenuDock { public Locale[] supportCommunityLocales() { return new Locale[]{ Locale.CHINA, - Locale.JAPAN, Locale.TAIWAN, - Locale.US, + Locale.US }; } From b6463754caec344f98f488d15ec9b22e2e2d7df6 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 28 Dec 2016 20:14:14 +0800 Subject: [PATCH 015/104] =?UTF-8?q?REPORT-1298=20=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E5=9B=BD=E9=99=85=E5=8C=96bug=E5=BE=85?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8850=E5=A4=84=EF=BC=89=3D=E3=80=8B?= =?UTF-8?q?=E7=AC=AC69?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/webattr/ReportWebWidgetConstants.java | 6 +++--- designer_base/src/com/fr/design/locale/designer.properties | 3 +++ .../src/com/fr/design/locale/designer_en_US.properties | 3 +++ .../src/com/fr/design/locale/designer_ja_JP.properties | 5 ++++- .../src/com/fr/design/locale/designer_ko_KR.properties | 5 ++++- .../src/com/fr/design/locale/designer_zh_CN.properties | 3 +++ .../src/com/fr/design/locale/designer_zh_TW.properties | 3 +++ 7 files changed, 23 insertions(+), 5 deletions(-) diff --git a/designer/src/com/fr/design/webattr/ReportWebWidgetConstants.java b/designer/src/com/fr/design/webattr/ReportWebWidgetConstants.java index 2e01bac09b..22d398d3e7 100644 --- a/designer/src/com/fr/design/webattr/ReportWebWidgetConstants.java +++ b/designer/src/com/fr/design/webattr/ReportWebWidgetConstants.java @@ -78,13 +78,13 @@ public class ReportWebWidgetConstants { public static final WidgetOption EDIT = WidgetOptionFactory.createByWidgetClass("Edit", Edit.class); // 导出成Excel 分页导出 - public static final WidgetOption EXCELP = WidgetOptionFactory.createByWidgetClass(Inter.getLocText(new String[]{"Excel", "Export-Excel-Page"}, new String[]{"(", ")"}), + public static final WidgetOption EXCELP = WidgetOptionFactory.createByWidgetClass(Inter.getLocText(new String[]{"Excel", "FR-Designer_Export_Excel_Page"}, new String[]{"(", ")"}), BaseUtils.readIcon("/com/fr/web/images/excel.png"), ExcelP.class); // 导出成Excel 原样导出 - public static final WidgetOption EXCELO = WidgetOptionFactory.createByWidgetClass(Inter.getLocText(new String[]{"Excel", "Export-Excel-Simple"}, new String[]{"(", ")"}), + public static final WidgetOption EXCELO = WidgetOptionFactory.createByWidgetClass(Inter.getLocText(new String[]{"Excel", "FR-Designer_Export_Excel_Simple"}, new String[]{"(", ")"}), BaseUtils.readIcon("/com/fr/web/images/excel.png"), ExcelO.class); // 导出成Excel 分页分Sheet导出 - public static final WidgetOption EXCELS = WidgetOptionFactory.createByWidgetClass(Inter.getLocText(new String[]{"Excel", "Export-Excel-PageToSheet"}, new String[]{"(", ")"}), + public static final WidgetOption EXCELS = WidgetOptionFactory.createByWidgetClass(Inter.getLocText(new String[]{"Excel", "FR-Designer_Export_Excel_PageToSheet"}, new String[]{"(", ")"}), BaseUtils.readIcon("/com/fr/web/images/excel.png"), ExcelS.class); // 导出成Word diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 9a0b410eed..1b9e5506d2 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -489,3 +489,6 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL= FR-Designer_Event= FR-Designer_Properties= FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page +FR-Designer_Export_Excel_Simple=Simple +FR-Designer_Export_Excel_PageToSheet=Page To Sheet 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 d1f92857a4..9628555144 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 @@ -489,3 +489,6 @@ FR-Designer_Event=Event FR-Designer_Properties=Properties FR-Designer_Permissions_Edition=Permissions Edition FR-Designer_Permission_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page Break +FR-Designer_Export_Excel_Simple=Original +FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet 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 c4166911a1..ec280ecaf6 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 @@ -320,7 +320,7 @@ FR-Designer_Show_Text=\u30DC\u30BF\u30F3\u540D\u524D\u3092\u8868\u793A FR-Designer_User_Defined_Event=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u4E8B\u4EF6 FR-Designer_Output_PDF=PDF\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8 FR-Designer_Output_Word=Word\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8 -FR-Designer_Image=\u30A4\u30E1\u30FC\u30B8 +FR-Designer_Image=\u753B\u50CF\uFF08PNG\uFF09 FR-Designer_Flash_Print=Flash\u30D7\u30EA\u30F3\u30C8 FR-Designer_PDF_Print=PDF\u30D7\u30EA\u30F3\u30C8 FR-Designer_Applet_Print=\u30A2\u30D7\u30EC\u30C3\u30C8\u5370\u5237 @@ -466,3 +466,6 @@ FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C FR-Designer_Event= FR-Designer_Properties= FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 +FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B +FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B +FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 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 ced78b1cfd..99ed34dc57 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 @@ -461,4 +461,7 @@ FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql FR-Designer_Event= FR-Designer_Properties= -FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 \ No newline at end of file +FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 +FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 \ No newline at end of file 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 53186b075d..584ea5a776 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 @@ -492,3 +492,6 @@ FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 +FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA 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 e4a2718a48..c46b4f83d5 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 @@ -480,3 +480,6 @@ FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F +FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA From d16badad3b09ef058abd6efbdde067ec7a7bd55c Mon Sep 17 00:00:00 2001 From: Fangjie Hu Date: Fri, 30 Dec 2016 11:52:10 +0800 Subject: [PATCH 016/104] =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E6=97=B6=EF=BC=8C=E4=B8=8D=E8=83=BD=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/chart/gui/ChartTypePane.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java index a3a028ef89..172d040f3f 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypePane.java @@ -206,6 +206,8 @@ public class ChartTypePane extends AbstractChartAttrPane{ } //第一步就是重构cardNames cardNames = ChartTypeInterfaceManager.getInstance().getTitle4PopupWindow(chartID); + //下拉框重构开始。为了防止重构是触发update + ((FlexibleComboBox)jcb).setItemEvenType(ItemEventType.REACTOR); //重构下拉框选项 reactorComboBox(); //重新选择选中的下拉项 @@ -213,6 +215,8 @@ public class ChartTypePane extends AbstractChartAttrPane{ String plotID = chart.getPlot().getPlotID(); Object item = ChartTypeInterfaceManager.getInstance().getTitle4PopupWindow(chartID, plotID); jcb.setSelectedItem(item); + //下拉框重构结束 + ((FlexibleComboBox)jcb).setItemEvenType(ItemEventType.DEFAULT); //重新选中 checkPlotPane(); } @@ -223,13 +227,10 @@ public class ChartTypePane extends AbstractChartAttrPane{ } private void reactorComboBox() { - FlexibleComboBox fcb = (FlexibleComboBox)jcb; - fcb.setItemEvenType(ItemEventType.REACTOR); - fcb.removeAllItems(); + jcb.removeAllItems(); for (int i = 0; i < this.cardNames.length; i++) { - fcb.addItem(cardNames[i]); + jcb.addItem(cardNames[i]); } - fcb.setItemEvenType(ItemEventType.DEFAULT); } @Override From a6cc41ac3084b2de6273380dabfd489815a69791 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 30 Dec 2016 16:37:16 +0800 Subject: [PATCH 017/104] =?UTF-8?q?REPORT-1096=20=E5=8F=96=E8=89=B2?= =?UTF-8?q?=E6=9D=BF=3D=E3=80=8B=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9Bbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/ReportBackgroundAction.java | 6 +-- .../fr/design/style/color/ColorPicker.java | 41 ++++++++++++++++--- .../design/style/color/ColorSelectDialog.java | 2 +- .../style/color/PickColorButtonFactory.java | 10 ++--- 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/designer/src/com/fr/design/actions/report/ReportBackgroundAction.java b/designer/src/com/fr/design/actions/report/ReportBackgroundAction.java index 3c3940ddad..4a381d4d08 100644 --- a/designer/src/com/fr/design/actions/report/ReportBackgroundAction.java +++ b/designer/src/com/fr/design/actions/report/ReportBackgroundAction.java @@ -37,16 +37,14 @@ public class ReportBackgroundAction extends ReportComponentAction Date: Tue, 3 Jan 2017 14:50:16 +0800 Subject: [PATCH 018/104] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=97=B6=EF=BC=8C=E4=B9=9F=E8=A6=81=E8=80=83?= =?UTF-8?q?=E8=99=91=E9=87=8D=E6=96=B0=E6=9B=B4=E6=96=B0=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/design/mainframe/ElementCasePane.java | 2 +- .../src/com/fr/design/style/color/ColorSelectDialog.java | 2 +- .../fr/design/mainframe/chart/gui/ChartTypeButtonPane.java | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/ElementCasePane.java b/designer/src/com/fr/design/mainframe/ElementCasePane.java index dcc68ab81a..edeb8fb76f 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePane.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePane.java @@ -851,7 +851,7 @@ public abstract class ElementCasePane extends Tar */ protected void initInputActionMap() { InputMap inputMapAncestor = this.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - ActionMap actionMap = this.getActionMap(); + ActionMap actionMap = this.getActionMap() ; // clearReportPage old values. inputMapAncestor.clear(); actionMap.clear(); diff --git a/designer_base/src/com/fr/design/style/color/ColorSelectDialog.java b/designer_base/src/com/fr/design/style/color/ColorSelectDialog.java index a26bc10c26..11a243b6cd 100644 --- a/designer_base/src/com/fr/design/style/color/ColorSelectDialog.java +++ b/designer_base/src/com/fr/design/style/color/ColorSelectDialog.java @@ -137,7 +137,7 @@ public class ColorSelectDialog extends MiddleChartDialog{ public static void showDialog(Frame owner,ColorSelectDetailPane pane,Color initialColor,ColorSelectable selectePane){ ColorTracker okListener = new ColorTracker(pane); ColorSelectDialog dialog = new ColorSelectDialog(owner,pane,initialColor,okListener,selectePane); -// dialog.setModal(true); + dialog.setModal(true); dialog.show(); } diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java index 91b6bba3c1..4a18611fa4 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java @@ -425,6 +425,8 @@ public class ChartTypeButtonPane extends BasicBeanPane implemen private void deleteAButton() { //先重构属性,在重构面板,否则面板在重构过程中,会重新将属性中的切换图表加到indexList中,导致面板无法删除 + //记录改变前的plotID + String lastPlotID = editingCollection == null ? StringUtils.EMPTY : editingCollection.getSelectedChart().getPlot().getPlotID(); if (editingCollection != null) { int count = editingCollection.getChartCount(); for (int i = 0; i < count; i++) { @@ -447,6 +449,11 @@ public class ChartTypeButtonPane extends BasicBeanPane implemen checkoutChange(); relayoutPane(); + + //重构面板 + if (parent != null ){ + parent.reLayoutEditPane(lastPlotID, editingCollection); + } } private void relayoutPane() { From f8a6f64b3912a1e5c17fefbe86e2b8ec5e052708 Mon Sep 17 00:00:00 2001 From: Fangjie Hu Date: Tue, 3 Jan 2017 14:53:04 +0800 Subject: [PATCH 019/104] update --- designer/src/com/fr/design/mainframe/ElementCasePane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/ElementCasePane.java b/designer/src/com/fr/design/mainframe/ElementCasePane.java index edeb8fb76f..dcc68ab81a 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePane.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePane.java @@ -851,7 +851,7 @@ public abstract class ElementCasePane extends Tar */ protected void initInputActionMap() { InputMap inputMapAncestor = this.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - ActionMap actionMap = this.getActionMap() ; + ActionMap actionMap = this.getActionMap(); // clearReportPage old values. inputMapAncestor.clear(); actionMap.clear(); From 50f28fc95e35f3f61c61a7e03d7b205654b985ad Mon Sep 17 00:00:00 2001 From: Fangjie Hu Date: Tue, 3 Jan 2017 16:37:06 +0800 Subject: [PATCH 020/104] =?UTF-8?q?populate=E4=B9=8B=E5=89=8D=EF=BC=8C?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=8E=A7=E4=BB=B6=E6=9C=AC=E8=BA=AB=E7=9A=84?= =?UTF-8?q?listener?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/gui/icombobox/UIComboBox.java | 4 ++++ .../design/mainframe/chart/gui/style/ChartTextAttrPane.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java b/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java index d6d1496746..4840121b8b 100644 --- a/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java +++ b/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java @@ -160,6 +160,10 @@ public class UIComboBox extends JComboBox implements UIObserver, GlobalNameObser uiObserverListener = listener; } + public void removeChangeListener(){ + uiObserverListener = null; + } + /** * @return */ diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java index a52fe010d8..1e383dede6 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java @@ -71,6 +71,7 @@ public class ChartTextAttrPane extends BasicPane { } public void populate(FRFont frFont) { + removeAllComboBoxListener(); if (frFont == null) { return; } @@ -85,6 +86,11 @@ public class ChartTextAttrPane extends BasicPane { } } + private void removeAllComboBoxListener() { + fontNameComboBox.removeChangeListener(); + fontSizeComboBox.removeChangeListener(); + } + /** * 更新字 * @return 更新字 From 54bf5da257119cf2f2be2b2712f580c82d6d08f4 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 3 Jan 2017 18:42:05 +0800 Subject: [PATCH 021/104] =?UTF-8?q?REPORT-1096=20=E5=8F=96=E8=89=B2?= =?UTF-8?q?=E6=9D=BF=3D=E3=80=8B=E4=BF=AE=E5=A4=8D=E5=9C=A8=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E6=A8=A1=E5=BC=8F=E4=B8=8B=EF=BC=8C=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E9=A2=9C=E8=89=B2=E6=8B=BE=E5=8F=96=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/style/color/ColorPicker.java | 4 ++++ .../src/com/fr/design/style/color/ColorSelectBox.java | 1 + 2 files changed, 5 insertions(+) diff --git a/designer_base/src/com/fr/design/style/color/ColorPicker.java b/designer_base/src/com/fr/design/style/color/ColorPicker.java index 6fc5706037..c103e84371 100644 --- a/designer_base/src/com/fr/design/style/color/ColorPicker.java +++ b/designer_base/src/com/fr/design/style/color/ColorPicker.java @@ -32,6 +32,7 @@ public class ColorPicker extends JDialog implements ActionListener private ColorSelectable colorSelectable; private Point mousePos; // 鼠标的绝对坐标 private Color colorToSet; // 暂存要设置的颜色值 + private Color initColor; // 保存初始颜色。实时模式下,如果取消取色操作,则重设为初始颜色 private Boolean setColorRealTime; // 实时设定颜色值 @@ -66,6 +67,7 @@ public class ColorPicker extends JDialog implements ActionListener // 如果要求实时变化,确保先关闭弹窗,再截屏 // 主要针对"图案"选项卡中的"前景"、"背景" if (this.setColorRealTime) { + initColor = colorSelectable.getColor(); colorSelectable.setColor(Color.WHITE); // setColor 可以关闭弹窗 try { Thread.sleep(100); // 等待弹窗关闭 @@ -114,6 +116,8 @@ public class ColorPicker extends JDialog implements ActionListener timer.stop(); if (setColor) { colorSelectable.setColor(colorToSet); + } else if (setColorRealTime) { + colorSelectable.setColor(initColor); } this.dispose(); } diff --git a/designer_base/src/com/fr/design/style/color/ColorSelectBox.java b/designer_base/src/com/fr/design/style/color/ColorSelectBox.java index f926775ee1..2dd5d51c39 100644 --- a/designer_base/src/com/fr/design/style/color/ColorSelectBox.java +++ b/designer_base/src/com/fr/design/style/color/ColorSelectBox.java @@ -63,6 +63,7 @@ public class ColorSelectBox extends AbstractSelectBox implements UIObserv fireDisplayComponent(ColorBackground.getInstance(color)); } }); + colorPane.setColor(color); return colorPane; } From e596f2aca760cd2f7c700c00d603c7861aaa8571 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 3 Jan 2017 19:43:51 +0800 Subject: [PATCH 022/104] =?UTF-8?q?REPORT-1096=20=E5=8F=96=E8=89=B2?= =?UTF-8?q?=E6=9D=BF=3D=E3=80=8B=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/style/color/ColorPicker.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/designer_base/src/com/fr/design/style/color/ColorPicker.java b/designer_base/src/com/fr/design/style/color/ColorPicker.java index c103e84371..e616e08af7 100644 --- a/designer_base/src/com/fr/design/style/color/ColorPicker.java +++ b/designer_base/src/com/fr/design/style/color/ColorPicker.java @@ -112,12 +112,10 @@ public class ColorPicker extends JDialog implements ActionListener validate(); // 更新所有子控件 } - public void pickComplete(Boolean setColor) { + public void pickComplete(Color color) { timer.stop(); - if (setColor) { - colorSelectable.setColor(colorToSet); - } else if (setColorRealTime) { - colorSelectable.setColor(initColor); + if (color != null) { + colorSelectable.setColor(color); } this.dispose(); } @@ -134,9 +132,9 @@ public class ColorPicker extends JDialog implements ActionListener public void mousePressed(MouseEvent e) { if (e.getButton() == e.BUTTON1) { // 左键确定 - pickComplete(true); + pickComplete(colorToSet); } else { - pickComplete(false); + pickComplete(setColorRealTime ? initColor : null); } } } From 96519eca895b24cc8a0b945c5aec98ec61197345 Mon Sep 17 00:00:00 2001 From: neil Date: Thu, 5 Jan 2017 11:20:06 +0800 Subject: [PATCH 023/104] ct --- .../widget/ui/TextFieldEditorDefinePane.java | 6 +- .../fr/design/actions/file/LocalePane.java | 62 ++++++++++++------- .../com/fr/design/locale/designer.properties | 7 ++- .../design/locale/designer_en_US.properties | 9 ++- .../design/locale/designer_ja_JP.properties | 16 ++--- .../design/locale/designer_ko_KR.properties | 10 +-- .../design/locale/designer_zh_CN.properties | 10 +-- .../design/locale/designer_zh_TW.properties | 8 ++- 8 files changed, 77 insertions(+), 51 deletions(-) diff --git a/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java index 1c11aad2e4..c9128627cc 100644 --- a/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java @@ -61,11 +61,7 @@ public class TextFieldEditorDefinePane extends FieldEditorDefinePane regPane.getRegComboBox().addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { RegExp regExp = (RegExp) regPane.getRegComboBox().getSelectedItem(); - if (!StringUtils.isNotEmpty(regExp.toRegText())) { - getRegErrorMsgTextField().setEnabled(false); - } else { - getRegErrorMsgTextField().setEnabled(true); - } + getRegErrorMsgTextField().setEnabled(regExp.errorMessageEditable()); } }); diff --git a/designer_base/src/com/fr/design/actions/file/LocalePane.java b/designer_base/src/com/fr/design/actions/file/LocalePane.java index 3356fa70af..4dd25c5048 100644 --- a/designer_base/src/com/fr/design/actions/file/LocalePane.java +++ b/designer_base/src/com/fr/design/actions/file/LocalePane.java @@ -27,6 +27,8 @@ import com.fr.design.dialog.BasicPane; import com.fr.file.filetree.FileNode; import com.fr.general.*; import com.fr.stable.ArrayUtils; +import com.fr.stable.StringUtils; +import com.fr.stable.bridge.StableFactory; import com.fr.stable.project.ProjectConstants; /** @@ -51,8 +53,8 @@ public class LocalePane extends BasicPane { add(tabbedPane, BorderLayout.CENTER); predefineTableModel = new DefaultTableModel() { - public boolean isCellEditable(int col, int row) { - return false; + public boolean isCellEditable(int row, int column) { + return column == 0; } }; @@ -109,23 +111,39 @@ public class LocalePane extends BasicPane { } private void initPredefinedProperties() { - Map map = Inter.getPredefinedPackageMap(); - LocalePackage chinese = map.get(Locale.SIMPLIFIED_CHINESE); + + Map supportLocaleMap = Inter.getSupportLocaleMap(); + + String[] localeFiles = StableFactory.getLocaleFiles(); + + List sortKeys = new ArrayList(); - Set bundles = chinese.getKindsOfResourceBundle(); - for (ResourceBundle bundle : bundles) { - sortKeys.addAll(bundle.keySet()); + for (String path : localeFiles) { + ResourceBundle chineseBundle = loadResourceBundle(path, Locale.SIMPLIFIED_CHINESE); + sortKeys.addAll(chineseBundle.keySet()); } Collections.sort(sortKeys); + Map> localeResourceBundleMap = new HashMap>(); + for (Map.Entry entry : supportLocaleMap.entrySet()) { + Locale locale = entry.getKey(); + List list = new ArrayList<>(); + for (String path : localeFiles) { + ResourceBundle chineseBundle = loadResourceBundle(path, locale); + list.add(chineseBundle); + } + localeResourceBundleMap.put(locale, list); + } + Map> data = new HashMap>(); - for (Map.Entry entry : map.entrySet()) { + for (Map.Entry> entry : localeResourceBundleMap.entrySet()) { Vector column = new Vector(); + List rbs = entry.getValue(); for (String key : sortKeys) { - column.add(entry.getValue().getLocText(key)); + column.add(readText(rbs, key)); } data.put(entry.getKey(), column); } @@ -140,6 +158,19 @@ public class LocalePane extends BasicPane { } } + private String readText(List rbs, String key) { + for (ResourceBundle rb : rbs) { + if (rb.containsKey(key)) { + return rb.getString(key); + } + } + return null; + } + + private ResourceBundle loadResourceBundle(String dir, Locale locale) { + return ResourceBundle.getBundle(dir, locale, Inter.class.getClassLoader()); + } + private void initCustomProperties() throws Exception { Env env = FRContext.getCurrentEnv(); if (env == null) { @@ -176,22 +207,9 @@ public class LocalePane extends BasicPane { } } - private Properties loadLocaleProperties(String name) { - Properties properties = new Properties(); - InputStream inputStream = IOUtils.readResource("/com/fr/general/locale/" + name); - try { - properties.load(inputStream); - } catch (IOException e) { - FRLogger.getLogger().error(e.getMessage()); - } - return properties; - } - /** * 保存当前编辑的国际化 * - * - * @date 2014-9-30-下午3:10:30 */ public void save() { Env env = FRContext.getCurrentEnv(); diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 66464c8895..1b9e5506d2 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -357,6 +357,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar= +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=Database FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -487,5 +488,7 @@ FR-Designer-LayerPageReport_PageQuery= FR-Designer-LayerPageReport_Define_PageQuerySQL= FR-Designer_Event= FR-Designer_Properties= -FR-Designer_Button_OK=OK -FR-Designer_Button_Cancel=Cancel +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page +FR-Designer_Export_Excel_Simple=Simple +FR-Designer_Export_Excel_PageToSheet=Page To Sheet 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 f97be09854..9628555144 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 @@ -358,6 +358,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar=Please Update Jar +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=DB FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -486,6 +487,8 @@ FR-Designer-DS-Database_Query=DB Query FR-Designer_Is_Share_DBTableData=Shared data set FR-Designer_Event=Event FR-Designer_Properties=Properties -FR-Designer_Properties_Mobile=MobileProperties -FR-Designer_Button_OK=OK -FR-Designer_Button_Cancel=Cancel +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Permission_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page Break +FR-Designer_Export_Excel_Simple=Original +FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet 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 0d7ee8fd1a..ec280ecaf6 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 @@ -320,7 +320,7 @@ FR-Designer_Show_Text=\u30DC\u30BF\u30F3\u540D\u524D\u3092\u8868\u793A FR-Designer_User_Defined_Event=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u4E8B\u4EF6 FR-Designer_Output_PDF=PDF\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8 FR-Designer_Output_Word=Word\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8 -FR-Designer_Image=\u30A4\u30E1\u30FC\u30B8 +FR-Designer_Image=\u753B\u50CF\uFF08PNG\uFF09 FR-Designer_Flash_Print=Flash\u30D7\u30EA\u30F3\u30C8 FR-Designer_PDF_Print=PDF\u30D7\u30EA\u30F3\u30C8 FR-Designer_Applet_Print=\u30A2\u30D7\u30EC\u30C3\u30C8\u5370\u5237 @@ -432,7 +432,7 @@ FR-Designer_Attention=\u6CE8\u610F\u3057\u307E\u3059 FR-Designer_Forbid_Widgets_Intersects=\u7981\u6B62\u90E8\u54C1\u3092\u91CD\u306D\u3066 FR-Designer_Widget_Scaling_Mode_Fit=\u9069\u5FDC\u533A\u57DF FR-Designer_Widget_Scaling_Mode_Fixed=\u56FA\u5B9A\u30B5\u30A4\u30BA -FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2\ +FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2 FR-Designer-QQLogin-Determine=\u6C7A\u5B9A\u3057\u307E\u3059 FR-Designer-QQLogin-Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB FR-Designer-Reuse_Manager= @@ -463,9 +463,9 @@ FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 -FR-Designer_Event=\ -FR-Designer_Properties=FR-Designer_Properties=\ -\ -FR-Designer_Button_OK=FR-Designer_Button_OK=\u78BA\u5B9A -FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -\ \ No newline at end of file +FR-Designer_Event= +FR-Designer_Properties= +FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 +FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B +FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B +FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 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 553a2503cb..99ed34dc57 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 @@ -459,7 +459,9 @@ FR-Designer-DS-Database_Query=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uCC3E\uC544\u FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql -FR-Designer_Event=\ -FR-Designer_Properties=\uFFFD -FR-Designer_Button_OK=\uD655\uC778FR-Designer_Button_Cancel=\uCDE8\uC18C -\ \ No newline at end of file +FR-Designer_Event= +FR-Designer_Properties= +FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 +FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 \ No newline at end of file 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 e0b5bef423..584ea5a776 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 @@ -358,6 +358,7 @@ FR-Designer_KeyPoint=\u5173\u952E\u8282\u70B9 FR-Designer_loadedTreeModel=\u52A0\u8F7D\u5931\u8D25,\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 FR-Designer-Failed_to_load_the_plugin=\u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u8BF7\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8BF7\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u65E0\u6548\u9875\u7801 FR-Designer_Get-CubeGetting=\u83B7\u53D6cube FR-Designer_XMLA_Database=\u6570\u636E\u5E93 FR-Designer_XMLA_UserName=\u7528\u6237\u540D @@ -422,7 +423,7 @@ FR-Designer-Website_Url=http\://www.finereport.com/ FR-Designer-BBSLogin_Download-Unlogin-Tip=\u767B\u5F55\u540E\u624D\u80FD\u4E0B\u8F7D FR-Designer-App_ReLayout=\u624B\u673A\u91CD\u5E03\u5C40 FR-Designer_Mobile-Attr=\u79FB\u52A8\u7AEF\u5C5E\u6027 -FR-Designer_Mobile-Vertical=\u7AD6\u5C4FF +FR-Designer_Mobile-Vertical=\u7AD6\u5C4F FR-Designer_Mobile-Horizontal=\u6A2A\u5C4F FR-Designer_COMMUNITY=\u793E\u533A FR-Designer_COMMUNITY_BBS=\u5E06\u8F6F\u8BBA\u575B @@ -490,6 +491,7 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u4E49\u5206\u9875\u67E5\u FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 -FR-Designer_Properties_Mobile=\u624B\u673A\u5C5E\u6027 -FR-Designer_Button_OK=\u786E\u5B9A -FR-Designer_Button_Cancel=\u53D6\u6D88 +FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 +FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA 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 3d30f49bd3..c46b4f83d5 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 @@ -357,6 +357,7 @@ FR-Designer_KeyPoint=\u95DC\u9375\u7BC0\u9EDE FR-Designer_loadedTreeModel=\u52A0\u8F09\u5931\u6557,\u8ACB\u6AA2\u67E5\u5F8C\u91CD\u8A66 FR-Designer-Failed_to_load_the_plugin=\u7121\u6CD5\u52A0\u8F09\u63D2\u4EF6\uFF0C\u8ACB\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8ACB\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u7121\u6548\u9801\u78BC FR-Designer_Get-CubeGetting=\u7372\u53D6cube FR-Designer_XMLA_Database=\u8CC7\u6599\u5EAB FR-Designer_XMLA_UserName=\u5E33\u865F @@ -478,6 +479,7 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u5206\u9801\u67E5\u FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 -FR-Designer_Properties_Mobile=\u624B\u6A5F\u5C6C\u6027 -FR-Designer_Button_OK=\u78BA\u5B9A -FR-Designer_Button_Cancel=\u53D6\u6D88 \ No newline at end of file +FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F +FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA From 11fb4878f357c4f46fff2fe2b10142cfd82ee0f3 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 6 Jan 2017 10:29:22 +0800 Subject: [PATCH 024/104] =?UTF-8?q?REPORT-1417=20=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=EF=BC=8C=E5=8F=96=E8=89=B2=E5=99=A8?= =?UTF-8?q?=E6=9B=B4=E5=A4=9A=E9=A2=9C=E8=89=B2=E4=B8=8B=E7=A1=AE=E5=AE=9A?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=8C=89=E9=92=AE=E6=98=BE=E7=A4=BA=E4=B8=BA?= =?UTF-8?q?=E8=8B=B1=E6=96=87key=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer.properties | 2 ++ .../src/com/fr/design/locale/designer_en_US.properties | 2 ++ .../src/com/fr/design/locale/designer_ja_JP.properties | 2 ++ .../src/com/fr/design/locale/designer_ko_KR.properties | 4 +++- .../src/com/fr/design/locale/designer_zh_CN.properties | 2 ++ .../src/com/fr/design/locale/designer_zh_TW.properties | 2 ++ 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 1b9e5506d2..b4e21619fc 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -492,3 +492,5 @@ FR-Designer_Permissions_Edition=Permissions Edition FR-Designer_Export_Excel_Page=Page FR-Designer_Export_Excel_Simple=Simple FR-Designer_Export_Excel_PageToSheet=Page To Sheet +FR-Designer_Button_OK=OK +FR-Designer_Button_Cancel=Cancel 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 9628555144..7cac6d6913 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 @@ -492,3 +492,5 @@ FR-Designer_Permission_Edition=Permissions Edition FR-Designer_Export_Excel_Page=Page Break FR-Designer_Export_Excel_Simple=Original FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet +FR-Designer_Button_OK=OK +FR-Designer_Button_Cancel=Cancel 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 ec280ecaf6..aac51bae80 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 @@ -469,3 +469,5 @@ FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 +FR-Designer_Button_OK=\u78BA\u5B9A +FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB 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 99ed34dc57..b19fdfc37c 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 @@ -464,4 +464,6 @@ FR-Designer_Properties= FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 -FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 \ No newline at end of file +FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Button_OK=\uD655\uC778 +FR-Designer_Button_Cancel=\uCDE8\uC18C \ No newline at end of file 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 584ea5a776..7f3817bce6 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 @@ -495,3 +495,5 @@ FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA +FR-Designer_Button_OK=\u786E\u5B9A +FR-Designer_Button_Cancel=\u53D6\u6D88 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 c46b4f83d5..0c35cd55ae 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 @@ -483,3 +483,5 @@ FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA +FR-Designer_Button_OK=\u78BA\u5B9A +FR-Designer_Button_Cancel=\u53D6\u6D88 From 5cc464edb21f82e7b61bc4a4867540227ea9f1b5 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Fri, 6 Jan 2017 15:25:53 +0800 Subject: [PATCH 025/104] =?UTF-8?q?REPORT-576=20dev=E5=86=85=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=AE=8C=E5=96=84=E5=88=B0release=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit button初始化背景颜色 --- .../designer/creator/cardlayout/XCardAddButton.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java index 0e8fb4ce45..c16d4de3f8 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java @@ -1,13 +1,12 @@ package com.fr.design.designer.creator.cardlayout; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; +import java.awt.*; import java.awt.event.MouseEvent; import javax.swing.Icon; import com.fr.base.BaseUtils; +import com.fr.base.background.ColorBackground; import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.ComponentAdapter; import com.fr.design.designer.beans.models.SelectionModel; @@ -147,6 +146,7 @@ public class XCardAddButton extends XButton{ CardSwitchButton titleButton = new CardSwitchButton(index,cardLayoutName); //设置标题 titleButton.setText(getTabTitleName()); + titleButton.setInitialBackground(ColorBackground.getInstance(Color.WHITE)); XCardSwitchButton showButton = new XCardSwitchButton(titleButton,dimension,cardLayout,tagLayout); titleButton.setShowButton(true); showButton.setBackupParent(tagLayout); @@ -189,4 +189,4 @@ public class XCardAddButton extends XButton{ public XLayoutContainer getTopLayout() { return this.getBackupParent().getTopLayout(); } -} \ No newline at end of file +} From 002cb45615bd59248198cc03498bf94142187187 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Fri, 6 Jan 2017 17:56:33 +0800 Subject: [PATCH 026/104] =?UTF-8?q?REPORT-576=20tab=20button=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=A0=87=E9=A2=98=E5=86=85=E5=AE=B9=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8F=98=E5=AE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creator/cardlayout/XCardAddButton.java | 5 +- .../creator/cardlayout/XCardSwitchButton.java | 55 +++++++++++++++++-- 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java index c16d4de3f8..2c6a0036b5 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java @@ -31,7 +31,7 @@ public class XCardAddButton extends XButton{ private static final int START_INDEX = 3; private static final int INDEX = 0; - + private static final int DEFAULT_BUTTON_WIDTH = 80; private static Icon ADD_ICON = BaseUtils.readIcon("/com/fr/design/form/images/add.png"); private Icon addIcon = ADD_ICON; @@ -139,8 +139,7 @@ public class XCardAddButton extends XButton{ //新增tab private void addTab(int index){ Dimension dimension = new Dimension(); - XCardSwitchButton button = (XCardSwitchButton) this.tagLayout.getComponent(INDEX); - dimension.width = button.getWidth(); + dimension.width = DEFAULT_BUTTON_WIDTH; String cardLayoutName = cardLayout.toData().getWidgetName(); CardSwitchButton titleButton = new CardSwitchButton(index,cardLayoutName); diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index bcd38dbf2a..c95b2bbd33 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -3,13 +3,11 @@ */ package com.fr.design.designer.creator.cardlayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Point; +import java.awt.*; import java.awt.event.MouseEvent; import java.awt.geom.Rectangle2D; +import java.util.HashMap; +import java.util.Map; import javax.swing.*; @@ -34,6 +32,7 @@ import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.general.Background; import com.fr.general.FRFont; import com.fr.general.Inter; +import sun.font.FontDesignMetrics; /** * @@ -338,4 +337,48 @@ public class XCardSwitchButton extends XButton { return this.getBackupParent().getTopLayout(); } -} \ No newline at end of file + public void setTabsAndAdjust() { + if (this.tagLayout == null) { + return; + } + int tabLength = this.tagLayout.getComponentCount(); + Map cardWidth = new HashMap<>(); + Map cardHeight = new HashMap<>(); + for (int i = 0; i < tabLength; i++) { + XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); + CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); + String tempText = tempCard.getText(); + Font f = ((CardSwitchButton)this.toData()).getFont(); + FontMetrics fm = FontDesignMetrics.getMetrics(f); + cardWidth.put(i,fm.stringWidth(tempText)); + cardHeight.put(i,fm.getHeight()); + } + adjustTabs(tabLength, cardWidth, cardHeight); + } + + public void adjustTabs(int tabLength, Map width, Map height) { + int tempX = 0; + for (int i = 0; i < tabLength; i++) { + Rectangle rectangle = this.tagLayout.getComponent(i).getBounds(); + Integer cardWidth = width.get(i) + SIDE_OFFSET; + Integer cardHeight = height.get(i) + HEIGHT_OFFSET; + rectangle.setSize(cardWidth, cardHeight); + rectangle.setBounds(tempX, 0, cardWidth, cardHeight); + tempX += cardWidth; + this.tagLayout.getComponent(i).setBounds(rectangle); + Dimension dimension = new Dimension(); + dimension.setSize(cardWidth, cardHeight); + this.getContentLabel().setSize(dimension); + this.setSize(dimension); + XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); + CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); + tempCard.setDefaultWidth(cardWidth); + } + } + + @Override + public void doLayout() { + super.doLayout(); + setTabsAndAdjust(); + } +} From e5903dbf9d5e35d5683e6dbe4b212b04e0336f81 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Mon, 9 Jan 2017 11:25:12 +0800 Subject: [PATCH 027/104] =?UTF-8?q?REPORT-1438=20=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=EF=BC=8C=E4=B9=8B=E5=89=8D=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E6=8B=BF=E7=9A=84button=E7=9A=84=E5=B1=9E=E6=80=A7=EF=BC=8C?= =?UTF-8?q?=E5=A4=9A=E4=BA=86=E4=B8=80=E4=B8=AA=E6=A0=B7=E5=BC=8F=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这边条件判断取一下,留下两个默认的属性即可。 --- .../creator/cardlayout/XWTabFitLayout.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index 775d4c38c8..298f2877f9 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -42,7 +42,8 @@ public class XWTabFitLayout extends XWFitLayout { // tab布局在拖拽导致的缩放里(含间隔时),如果拖拽宽高大于组件宽高,会导致调整的时候找不到原来的组件 // 这里先将拖拽之前的宽高先做备份 public static final Color NORMAL_GRAL = new Color(236,236,236); - public static final Color CHOOSED_GRAL = new Color(222,222,222); + private static final String WIDGET_NAME = "widgetName"; + private static final String MARGIN = "margin"; private Dimension referDim; private Background initialBackground; private Background overBackground; @@ -105,7 +106,7 @@ public class XWTabFitLayout extends XWFitLayout { public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { checkButonType(); CRPropertyDescriptor[] crp = ((WTabFitLayout) data).isCustomStyle() ? getisCustomStyle() : getisnotCustomStyle(); - return ArrayUtils.addAll(super.supportedDescriptor(), crp); + return ArrayUtils.addAll(defaultDescriptor(), crp); } protected CRPropertyDescriptor[] getisCustomStyle() throws IntrospectionException { @@ -195,6 +196,23 @@ public class XWTabFitLayout extends XWFitLayout { return crPropertyDescriptors[i]; } + protected CRPropertyDescriptor[] defaultDescriptor() throws IntrospectionException { + if (super.supportedDescriptor().length < 3) { + return null; + } + CRPropertyDescriptor[] crPropertyDescriptors = { + super.supportedDescriptor()[0], + super.supportedDescriptor()[2] + }; + CRPropertyDescriptor widgetName = super.supportedDescriptor()[0]; + CRPropertyDescriptor margin = super.supportedDescriptor()[2]; + if (widgetName.getName().equals(WIDGET_NAME) && margin.getName().equals(MARGIN)) { + return crPropertyDescriptors; + } else { + return null; + } + } + private void checkButonType() { if (this.xCardSwitchButton == null) { return; From 83da497124d59ceab039864866c97c99ab7ca53a Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Mon, 9 Jan 2017 14:02:27 +0800 Subject: [PATCH 028/104] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/XLayoutContainer.java | 21 +++++++++++++++++++ .../creator/cardlayout/XWTabFitLayout.java | 15 +++---------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java b/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java index 47f4270a5e..381b16f87d 100644 --- a/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java +++ b/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java @@ -81,6 +81,27 @@ public abstract class XLayoutContainer extends XBorderStyleWidgetCreator impleme }; } + /** + * 控件名属性 + * @return + * @throws IntrospectionException + */ + public CRPropertyDescriptor createWidgetNameDescriptor() throws IntrospectionException { + return new CRPropertyDescriptor("widgetName", this.data.getClass()).setI18NName(Inter + .getLocText("FR-Designer_Form-Widget_Name")); + } + + /** + * 边距属性 + * @return + * @throws IntrospectionException + */ + public CRPropertyDescriptor createMarginDescriptor() throws IntrospectionException { + return new CRPropertyDescriptor("margin", this.data.getClass()).setEditorClass(PaddingMarginEditor.class) + .setI18NName(Inter.getLocText("FR-Designer_Layout-Padding")) + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"); + } + /** * 返回对应的wlayout * @return wlayout控件 diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index 298f2877f9..0c5b1d03b1 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -197,20 +197,11 @@ public class XWTabFitLayout extends XWFitLayout { } protected CRPropertyDescriptor[] defaultDescriptor() throws IntrospectionException { - if (super.supportedDescriptor().length < 3) { - return null; - } CRPropertyDescriptor[] crPropertyDescriptors = { - super.supportedDescriptor()[0], - super.supportedDescriptor()[2] + super.createWidgetNameDescriptor(), + super.createMarginDescriptor() }; - CRPropertyDescriptor widgetName = super.supportedDescriptor()[0]; - CRPropertyDescriptor margin = super.supportedDescriptor()[2]; - if (widgetName.getName().equals(WIDGET_NAME) && margin.getName().equals(MARGIN)) { - return crPropertyDescriptors; - } else { - return null; - } + return crPropertyDescriptors; } private void checkButonType() { From 6d32ba0c7bc42d62fd918a3ff77892cf5d6cd557 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Mon, 9 Jan 2017 14:05:59 +0800 Subject: [PATCH 029/104] 1 1 --- .../fr/design/designer/creator/cardlayout/XWTabFitLayout.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index 0c5b1d03b1..75816c9bbd 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -42,8 +42,6 @@ public class XWTabFitLayout extends XWFitLayout { // tab布局在拖拽导致的缩放里(含间隔时),如果拖拽宽高大于组件宽高,会导致调整的时候找不到原来的组件 // 这里先将拖拽之前的宽高先做备份 public static final Color NORMAL_GRAL = new Color(236,236,236); - private static final String WIDGET_NAME = "widgetName"; - private static final String MARGIN = "margin"; private Dimension referDim; private Background initialBackground; private Background overBackground; From d87a903c8116bf14941e8aa26555f57e4d236182 Mon Sep 17 00:00:00 2001 From: Fangjie Hu Date: Mon, 9 Jan 2017 14:08:49 +0800 Subject: [PATCH 030/104] =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/gui/icombobox/UIComboBox.java | 4 ++++ .../mainframe/chart/gui/style/ChartTextAttrPane.java | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java b/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java index 4840121b8b..350b99eadc 100644 --- a/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java +++ b/designer_base/src/com/fr/design/gui/icombobox/UIComboBox.java @@ -164,6 +164,10 @@ public class UIComboBox extends JComboBox implements UIObserver, GlobalNameObser uiObserverListener = null; } + public UIObserverListener getUiObserverListener(){ + return uiObserverListener; + } + /** * @return */ diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java index 1e383dede6..5b1ba5aeea 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/ChartTextAttrPane.java @@ -11,6 +11,7 @@ import com.fr.base.BaseUtils; import com.fr.base.Utils; import com.fr.chart.base.TextAttr; import com.fr.design.constants.LayoutConstants; +import com.fr.design.event.UIObserverListener; import com.fr.design.gui.ibutton.UIColorButton; import com.fr.design.gui.ibutton.UIToggleButton; import com.fr.design.gui.icombobox.UIComboBox; @@ -71,6 +72,7 @@ public class ChartTextAttrPane extends BasicPane { } public void populate(FRFont frFont) { + UIObserverListener listener = fontNameComboBox == null ? null : fontNameComboBox.getUiObserverListener(); removeAllComboBoxListener(); if (frFont == null) { return; @@ -84,6 +86,9 @@ public class ChartTextAttrPane extends BasicPane { if (fontColor != null) { fontColor.setColor(frFont.getForeground()); } + + //更新结束后,注册监听器 + registerAllComboBoxListener(listener); } private void removeAllComboBoxListener() { @@ -91,6 +96,11 @@ public class ChartTextAttrPane extends BasicPane { fontSizeComboBox.removeChangeListener(); } + private void registerAllComboBoxListener(UIObserverListener listener) { + fontNameComboBox.registerChangeListener(listener); + fontSizeComboBox.registerChangeListener(listener); + } + /** * 更新字 * @return 更新字 From 8d9ddb0502227685c5eecd0cda291b930289c0b1 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Tue, 10 Jan 2017 20:13:03 +0800 Subject: [PATCH 031/104] =?UTF-8?q?REPORT-576=20tab=E4=B8=ADbutton?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E8=87=AA=E5=8A=A8=E6=89=A9=E5=B1=95bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creator/cardlayout/XCardSwitchButton.java | 42 +++++++++++-------- .../creator/cardlayout/XWCardLayout.java | 3 +- .../creator/cardlayout/XWCardTagLayout.java | 12 ------ .../creator/cardlayout/XWTabFitLayout.java | 13 +++++- 4 files changed, 38 insertions(+), 32 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index c95b2bbd33..11a6a9ba10 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -6,8 +6,7 @@ package com.fr.design.designer.creator.cardlayout; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.geom.Rectangle2D; -import java.util.HashMap; -import java.util.Map; +import java.util.*; import javax.swing.*; @@ -58,6 +57,9 @@ public class XCardSwitchButton extends XButton { private static final int RIGHT_OFFSET = 15; private static final int TOP_OFFSET = 25; + //这边先不计算button的高度,涉及到layout那边的整体高度,先用之前的固定高度 + private static final int DEFAULT_BUTTON_HEIGHT = 36; + // tab按钮里的字体因为按钮内部的布局看起来比正常的要小,加个调整量 private static final int FONT_SIZE_ADJUST = 2; @@ -166,7 +168,7 @@ public class XCardSwitchButton extends XButton { editingMouseListener.startEditing(this, adapter.getDesignerEditor(), adapter); } - + setTabsAndAdjust(); } //删除card,同时修改其他switchbutton和tabfit的index @@ -256,6 +258,7 @@ public class XCardSwitchButton extends XButton { public void paintComponent(Graphics g) { super.paintComponent(g); + setTabsAndAdjust(); Graphics2D g2d = (Graphics2D) g; drawBackgorund(); drawTitle(); @@ -357,22 +360,27 @@ public class XCardSwitchButton extends XButton { } public void adjustTabs(int tabLength, Map width, Map height) { + if (width == null) { + return; + } int tempX = 0; for (int i = 0; i < tabLength; i++) { - Rectangle rectangle = this.tagLayout.getComponent(i).getBounds(); - Integer cardWidth = width.get(i) + SIDE_OFFSET; - Integer cardHeight = height.get(i) + HEIGHT_OFFSET; - rectangle.setSize(cardWidth, cardHeight); - rectangle.setBounds(tempX, 0, cardWidth, cardHeight); - tempX += cardWidth; - this.tagLayout.getComponent(i).setBounds(rectangle); - Dimension dimension = new Dimension(); - dimension.setSize(cardWidth, cardHeight); - this.getContentLabel().setSize(dimension); - this.setSize(dimension); - XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); - CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); - tempCard.setDefaultWidth(cardWidth); + Rectangle rectangle = this.tagLayout.getComponent(i).getBounds(); + Integer cardWidth = width.get(i) + SIDE_OFFSET; + //先用这边的固定高度 + Integer cardHeight = DEFAULT_BUTTON_HEIGHT; + rectangle.setSize(cardWidth, cardHeight); + rectangle.setBounds(tempX, 0, cardWidth, cardHeight); + tempX += cardWidth; + this.tagLayout.getComponent(i).setBounds(rectangle); + Dimension dimension = new Dimension(); + dimension.setSize(cardWidth, cardHeight); + XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); + UILabel label = temp.getContentLabel(); + label.setSize(dimension); + temp.setContentLabel(label); + temp.setSize(dimension); + temp.setPreferredSize(new Dimension(cardWidth, cardHeight)); } } diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java index 4f2492ee9e..d008ccd521 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java @@ -198,8 +198,7 @@ public class XWCardLayout extends XLayoutContainer { firstBtn.setText(Inter.getLocText("FR-Designer_Title") + 0); firstBtn.setInitialBackground(ColorBackground.getInstance(Color.WHITE)); xTag.setCurrentCard(firstBtn); - XCardSwitchButton xFirstBtn = new XCardSwitchButton(firstBtn, new Dimension(CardSwitchButton.DEF_WIDTH, -1),this,xTag); - firstBtn.setCustomStyle(true); + XCardSwitchButton xFirstBtn = new XCardSwitchButton(firstBtn, new Dimension(CardSwitchButton.DEF_WIDTH, -1), this, xTag); xFirstBtn.setBackupParent(xTag); return xFirstBtn; diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java index e40a7ca871..82170bacc2 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java @@ -163,18 +163,6 @@ public class XWCardTagLayout extends XWHorizontalBoxLayout { * void */ public void adjustComponentWidth(){ - int btnNum = this.getComponentCount(); - int tagLayoutWidth = this.getWidth(); - int allBtnWidth = btnNum * CardSwitchButton.DEF_WIDTH + btnNum; - int size = CardSwitchButton.DEF_WIDTH; - if(tagLayoutWidth - allBtnWidth < CardSwitchButton.DEF_WIDTH){ - size = (tagLayoutWidth - CardSwitchButton.DEF_WIDTH - btnNum)/btnNum; - } - WCardTagLayout layout = (WCardTagLayout)this.toData(); - for(int i=0;i Date: Wed, 11 Jan 2017 10:55:29 +0800 Subject: [PATCH 032/104] =?UTF-8?q?REPORT-576=20font=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/creator/cardlayout/XCardSwitchButton.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 11a6a9ba10..8e93dc5a09 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -31,7 +31,6 @@ import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.general.Background; import com.fr.general.FRFont; import com.fr.general.Inter; -import sun.font.FontDesignMetrics; /** * @@ -352,7 +351,7 @@ public class XCardSwitchButton extends XButton { CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); String tempText = tempCard.getText(); Font f = ((CardSwitchButton)this.toData()).getFont(); - FontMetrics fm = FontDesignMetrics.getMetrics(f); + FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(f); cardWidth.put(i,fm.stringWidth(tempText)); cardHeight.put(i,fm.getHeight()); } From 53068a5b3608156b16088f421995bbc0eceaac91 Mon Sep 17 00:00:00 2001 From: PanLi320 <854954082@qq.com> Date: Wed, 11 Jan 2017 14:34:04 +0800 Subject: [PATCH 033/104] =?UTF-8?q?=E6=97=A0jiar=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?=E6=97=A9=E4=B8=8A=E4=BB=A3=E7=A0=81=E6=BC=8F=E4=BC=A0=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/creator/cardlayout/XCardSwitchButton.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 8e93dc5a09..9116b36441 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -62,6 +62,8 @@ public class XCardSwitchButton extends XButton { // tab按钮里的字体因为按钮内部的布局看起来比正常的要小,加个调整量 private static final int FONT_SIZE_ADJUST = 2; + private static final int SIDE_OFFSET = 57; + private XWCardLayout cardLayout; private XWCardTagLayout tagLayout; From 5fa2691e8da5337a289f81f81cb9bac029172519 Mon Sep 17 00:00:00 2001 From: hugh Date: Wed, 11 Jan 2017 16:07:23 +0800 Subject: [PATCH 034/104] =?UTF-8?q?=E4=B8=BA=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E8=BF=9B=E8=A1=8C=E5=88=86=E7=BB=84=E3=80=90?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E5=BC=95=E5=85=A5=E4=B8=80=E7=BB=84=E5=85=AC?= =?UTF-8?q?=E5=BC=8F=E7=94=A8=EF=BC=8C=E6=AF=94=E5=A6=82=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E5=85=AC=E5=BC=8F=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/formula/AbstractFunctionGroup.java | 30 +++++++++++++++++++ .../com/fr/design/formula/FormulaPane.java | 12 +++++++- .../fr/design/formula/FunctionConstants.java | 10 ++++++- .../formula/FunctionGroupDefineProvider.java | 12 ++++++++ 4 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java create mode 100644 designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java diff --git a/designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java b/designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java new file mode 100644 index 0000000000..c8a80f8094 --- /dev/null +++ b/designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java @@ -0,0 +1,30 @@ +package com.fr.design.formula; + +import com.fr.stable.fun.mark.API; +import com.fr.stable.script.FunctionDef; + +@API(level = FunctionGroupDefineProvider.CURRENT_LEVEL) +public abstract class AbstractFunctionGroup implements FunctionGroupDefineProvider { + + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } + + @Override + public String mark4Provider() { + return getClass().getName(); + } + + @Override + public NameAndDescription[] getDescriptions() { + FunctionDef[] funcs = getFunctionDefs(); + int count = funcs.length; + FunctionDefNAD[] nads = new FunctionDefNAD[count]; + for (int i = 0; i < count; i ++) { + nads[i] = new FunctionDefNAD(funcs[i]); + } + return nads; + } + +} diff --git a/designer_base/src/com/fr/design/formula/FormulaPane.java b/designer_base/src/com/fr/design/formula/FormulaPane.java index d7e3f21be4..d2910fa96e 100644 --- a/designer_base/src/com/fr/design/formula/FormulaPane.java +++ b/designer_base/src/com/fr/design/formula/FormulaPane.java @@ -22,8 +22,10 @@ import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.Inter; import com.fr.parser.FRLexer; import com.fr.parser.FRParser; +import com.fr.plugin.ExtraClassManager; import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; +import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.Expression; import javax.swing.*; @@ -32,10 +34,12 @@ import javax.swing.event.ListSelectionListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.*; + import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.Locale; +import java.util.Set; /** * 公式编辑面板 * @editor zhou @@ -581,7 +585,13 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ functionTypeListModel.addElement(FunctionConstants.ALL); functionTypeListModel.addElement(FunctionConstants.CUSTOM); functionTypeListModel.addElement(FunctionConstants.PLUGIN); - + //hugh:自定义函数分组 + Set groups = ExtraClassManager.getInstance().getArray(FunctionGroupDefineProvider.MARK_STRING); + if(!groups.isEmpty()){ + for(Mutable group : groups){ + functionTypeListModel.addElement(group); + } + } functionTypeList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { diff --git a/designer_base/src/com/fr/design/formula/FunctionConstants.java b/designer_base/src/com/fr/design/formula/FunctionConstants.java index cfb983dd78..d33ad58e89 100644 --- a/designer_base/src/com/fr/design/formula/FunctionConstants.java +++ b/designer_base/src/com/fr/design/formula/FunctionConstants.java @@ -11,6 +11,8 @@ import com.fr.stable.EncodeConstants; import com.fr.stable.OperatingSystem; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; +import com.fr.stable.fun.FunctionGroupDefineProvider; +import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.Function; import com.fr.stable.script.FunctionDef; @@ -96,7 +98,13 @@ public abstract class FunctionConstants { } Collections.addAll(all, PLUGIN.getDescriptions()); Collections.addAll(all, CUSTOM.getDescriptions()); - + //hugh:自定义函数分组 + Set groups = ExtraClassManager.getInstance().getArray(FunctionGroupDefineProvider.MARK_STRING); + if(!groups.isEmpty()){ + for(Mutable group : groups){ + Collections.addAll(all, ((FunctionGroup)group).getDescriptions()); + } + } java.util.Collections.sort(all, NameAndDescriptionComparator); return all.toArray(new NameAndDescription[all.size()]); diff --git a/designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java b/designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java new file mode 100644 index 0000000000..671a07fc72 --- /dev/null +++ b/designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java @@ -0,0 +1,12 @@ +package com.fr.design.formula; + +import com.fr.design.formula.FunctionGroup; +import com.fr.stable.fun.mark.Mutable; +import com.fr.stable.script.FunctionDef; + +public interface FunctionGroupDefineProvider extends Mutable,FunctionGroup{ + int CURRENT_LEVEL = 1; + String MARK_STRING = "FunctionGroupDefineProvider"; + + public FunctionDef[] getFunctionDefs(); +} From 29fdfce305b17460eadcaad1f52df877b4d7aca2 Mon Sep 17 00:00:00 2001 From: hugh Date: Wed, 11 Jan 2017 17:13:29 +0800 Subject: [PATCH 035/104] =?UTF-8?q?=E6=8D=A2=E4=B8=AA=E5=9C=B0=E6=96=B9?= =?UTF-8?q?=E5=86=8D=E5=BC=80~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/formula/FunctionDefNAD.java | 2 +- .../{formula => fun}/FunctionGroupDefineProvider.java | 2 +- .../design/{formula => fun/impl}/AbstractFunctionGroup.java | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) rename designer_base/src/com/fr/design/{formula => fun}/FunctionGroupDefineProvider.java (91%) rename designer_base/src/com/fr/design/{formula => fun/impl}/AbstractFunctionGroup.java (79%) diff --git a/designer_base/src/com/fr/design/formula/FunctionDefNAD.java b/designer_base/src/com/fr/design/formula/FunctionDefNAD.java index c7c2177b58..7156601697 100644 --- a/designer_base/src/com/fr/design/formula/FunctionDefNAD.java +++ b/designer_base/src/com/fr/design/formula/FunctionDefNAD.java @@ -6,7 +6,7 @@ import com.fr.stable.StringUtils; public class FunctionDefNAD extends AbstractNameAndDescription { private FunctionDef def; - FunctionDefNAD(FunctionDef def) { + public FunctionDefNAD(FunctionDef def) { this.def = def; } diff --git a/designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java b/designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java similarity index 91% rename from designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java rename to designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java index 671a07fc72..906a567712 100644 --- a/designer_base/src/com/fr/design/formula/FunctionGroupDefineProvider.java +++ b/designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java @@ -1,4 +1,4 @@ -package com.fr.design.formula; +package com.fr.design.fun; import com.fr.design.formula.FunctionGroup; import com.fr.stable.fun.mark.Mutable; diff --git a/designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java similarity index 79% rename from designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java rename to designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java index c8a80f8094..12cfce71ed 100644 --- a/designer_base/src/com/fr/design/formula/AbstractFunctionGroup.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java @@ -1,8 +1,12 @@ -package com.fr.design.formula; +package com.fr.design.fun.impl; +import com.fr.design.formula.FunctionDefNAD; +import com.fr.design.formula.NameAndDescription; +import com.fr.design.fun.FunctionGroupDefineProvider; import com.fr.stable.fun.mark.API; import com.fr.stable.script.FunctionDef; + @API(level = FunctionGroupDefineProvider.CURRENT_LEVEL) public abstract class AbstractFunctionGroup implements FunctionGroupDefineProvider { From fe67f6ad45d301fbb22f51d5baeb6895adb3243a Mon Sep 17 00:00:00 2001 From: hugh Date: Thu, 12 Jan 2017 08:05:41 +0800 Subject: [PATCH 036/104] =?UTF-8?q?=E6=8A=8A=E5=8E=9F=E6=9D=A5=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=87=8D=E4=B8=8D=E7=AC=A6=E5=90=88PMD=E8=A6=81?= =?UTF-8?q?=E6=B1=82=E7=9A=84=E6=9B=B4=E6=AD=A3=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/formula/FormulaPane.java | 427 +++++++++--------- .../fr/design/formula/FunctionConstants.java | 2 +- 2 files changed, 218 insertions(+), 211 deletions(-) diff --git a/designer_base/src/com/fr/design/formula/FormulaPane.java b/designer_base/src/com/fr/design/formula/FormulaPane.java index d2910fa96e..8703458979 100644 --- a/designer_base/src/com/fr/design/formula/FormulaPane.java +++ b/designer_base/src/com/fr/design/formula/FormulaPane.java @@ -8,6 +8,7 @@ import com.fr.design.border.UIRoundedBorder; import com.fr.design.constants.UIConstants; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; +import com.fr.design.fun.FunctionGroupDefineProvider; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; @@ -64,29 +65,16 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ public FormulaPane() { initComponents(); } - - protected void initComponents() { - this.setLayout(new BorderLayout(4, 4)); - - // text - JPanel textPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - this.add(textPane, BorderLayout.CENTER); - - JPanel checkBoxandbuttonPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); - - UILabel formulaLabel = new UILabel(Inter.getLocText("FormulaD-Input_formula_in_the_text_area_below") + ":" - + " "); - formulaLabel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); - formulaTextArea = new RSyntaxTextArea(); - configFormulaArea(); - formulaTextArea.addKeyListener(this); - - formulaTextArea.addKeyListener(new KeyAdapter() { + + private void initFormulaTextAreaKeyListener(){ + formulaTextArea.addKeyListener(this); + formulaTextArea.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { formulaTextArea.setForeground(Color.black); String text = formulaTextArea.getText(); // 判断在中文输入状态是否还包含提示符 要删掉 - String tip = "\n\n\n" + Inter.getLocText("Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column"); + //Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column + String tip = "\n\n\n" + Inter.getLocText("FR-Design_FormulaPane_Tips"); if(text.contains(tip)) { text = text.substring(0, text.indexOf(tip)); insertPosition = 0; @@ -94,9 +82,10 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ } } }); - - formulaTextArea.addMouseListener(new MouseAdapter() { - + } + + private void initFormulaTextAreaMouseListener(){ + formulaTextArea.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { insertPosition = formulaTextArea.getCaretPosition(); @@ -119,52 +108,81 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ } } }); - UIScrollPane formulaTextAreaScrollPane = new UIScrollPane(formulaTextArea); - formulaTextAreaScrollPane.setBorder(null); - textPane.add(formulaLabel, BorderLayout.NORTH); - textPane.add(formulaTextAreaScrollPane, BorderLayout.CENTER); - textPane.add(checkBoxandbuttonPane, BorderLayout.SOUTH); - - // tipsPane - JPanel tipsPane = new JPanel(new BorderLayout(4, 4)); - this.add(tipsPane, BorderLayout.EAST); - - JPanel searchPane = new JPanel(new BorderLayout(4, 4)); - searchPane.add(keyWordTextField, BorderLayout.CENTER); - UIButton searchButton = new UIButton(Inter.getLocText("Search")); - searchPane.add(searchButton, BorderLayout.EAST); - tipsPane.add(searchPane, BorderLayout.NORTH); - - keyWordTextField.addKeyListener(new KeyListener() { - + } + + private void initFormulaTextArea(){ + formulaTextArea = new RSyntaxTextArea(); + configFormulaArea(); + initFormulaTextAreaKeyListener(); + initFormulaTextAreaMouseListener(); + } + + private void initKeyWordTextFieldKeyListener(){ + keyWordTextField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { } - @Override public void keyReleased(KeyEvent e) { } - @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { String toFind = keyWordTextField.getText(); search(toFind, false); - fixFunctionNameList(); e.consume(); } } }); + } + + private void initTipsPane(){ + // tipsPane + JPanel tipsPane = new JPanel(new BorderLayout(4, 4)); + this.add(tipsPane, BorderLayout.EAST); + JPanel searchPane = new JPanel(new BorderLayout(4, 4)); + searchPane.add(keyWordTextField, BorderLayout.CENTER); + UIButton searchButton = new UIButton(Inter.getLocText("FR-Design_FormulaPane_Search")); + searchPane.add(searchButton, BorderLayout.EAST); + tipsPane.add(searchPane, BorderLayout.NORTH); + initKeyWordTextFieldKeyListener(); tipsList = new JList(listModel); tipsList.addMouseListener(new DoubleClick()); UIScrollPane tipsScrollPane = new UIScrollPane(tipsList); tipsScrollPane.setPreferredSize(new Dimension(170, 75)); tipsScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); - tipsPane.add(tipsScrollPane, BorderLayout.CENTER); + searchButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + String toFind = keyWordTextField.getText(); + search(toFind, false); + formulaTextArea.requestFocusInWindow(); + fixFunctionNameList(); + } + }); + } + + protected void initComponents() { + this.setLayout(new BorderLayout(4, 4)); + // text + JPanel textPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + this.add(textPane, BorderLayout.CENTER); + JPanel checkBoxandbuttonPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + UILabel formulaLabel = new UILabel(Inter.getLocText("FormulaD-Input_formula_in_the_text_area_below") + ":" + + " "); + formulaLabel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); + initFormulaTextArea(); + + UIScrollPane formulaTextAreaScrollPane = new UIScrollPane(formulaTextArea); + formulaTextAreaScrollPane.setBorder(null); + textPane.add(formulaLabel, BorderLayout.NORTH); + textPane.add(formulaTextAreaScrollPane, BorderLayout.CENTER); + textPane.add(checkBoxandbuttonPane, BorderLayout.SOUTH); + initTipsPane(); UIButton checkValidButton = new UIButton(Inter.getLocText("FormulaD-Check_Valid")); checkValidButton.addActionListener(checkValidActionListener); @@ -173,20 +191,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ checkBoxPane.setPreferredSize(new Dimension(450, 30)); checkBoxandbuttonPane.add(checkBoxPane, BorderLayout.WEST); checkBoxandbuttonPane.add(checkValidButton, BorderLayout.EAST); - extendCheckBoxPane(checkBoxPane); - - searchButton.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - String toFind = keyWordTextField.getText(); - search(toFind, false); - formulaTextArea.requestFocusInWindow(); - - fixFunctionNameList(); - } - }); variableTreeAndDescriptionArea = new VariableTreeAndDescriptionArea(); this.add(variableTreeAndDescriptionArea, BorderLayout.SOUTH); } @@ -257,11 +262,17 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ this.formulaTextArea.setText(StringUtils.EMPTY); } } - + //hugh:为啥会是10呢?搞不懂~~~ + private static final int KEY_10 = 10; + //上下左右 + private static final int KEY_37 = 37; + private static final int KEY_38 = 38; + private static final int KEY_39 = 39; + private static final int KEY_40 = 40; @Override public void keyReleased(KeyEvent e) { int key = e.getKeyCode(); - if (key == 38 || key == 40 || key == 37 || key == 39 || key == 10) //如果是删除符号 ,为了可读性 没有和其他按键的程序相融合 + if (key == KEY_38 || key == KEY_40 || key == KEY_37 || key == KEY_39 || key == KEY_10) //如果是删除符号 ,为了可读性 没有和其他按键的程序相融合 { listModel.removeAllElements(); currentPosition = formulaTextArea.getCaretPosition(); @@ -465,7 +476,8 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ String content = formula.getContent(); if (content.trim().equals("=")) { this.formulaTextArea.setForeground(Color.gray); - this.formulaTextArea.setText("\n\n\n" + Inter.getLocText("Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column")); + //Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column + this.formulaTextArea.setText("\n\n\n" + Inter.getLocText("FR-Design_FormulaPane_Tips")); this.formulaTextArea.setCaretPosition(0); ifHasBeenWriten = 0; this.listModel.removeAllElements(); @@ -552,22 +564,21 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ public VariableTreeAndDescriptionArea() { this.initComponents(); } - - private void initComponents() { - this.setLayout(new BorderLayout(4, 4)); - - // Function - JPanel functionPane = new JPanel(new BorderLayout(4, 4)); - this.add(functionPane, BorderLayout.WEST); - - - functionTypeList = new QuickList(functionTypeListModel); + + private void initFunctionTypeList(JPanel functionPane){ + functionTypeList = new QuickList(functionTypeListModel); UIScrollPane functionTypeScrollPane = new UIScrollPane(functionTypeList); functionTypeScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); functionTypeScrollPane.setPreferredSize(new Dimension(140, 200)); functionPane.add(this.createNamePane(Inter.getLocText("FormulaD-Function_category") + ":", functionTypeScrollPane), BorderLayout.WEST); - functionTypeList.setCellRenderer(new DefaultListCellRenderer() { - + initTypeListCellRenderer(); + initGroupTypeModel(); + initTypeListSelectionListener(); + } + + private void initTypeListCellRenderer(){ + functionTypeList.setCellRenderer( + new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); @@ -577,54 +588,48 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ return this; } }); - - functionTypeListModel.addElement(FunctionConstants.COMMON); - for (int i = 0; i < FunctionConstants.EMBFUNCTIONS.length; i++) { - functionTypeListModel.addElement(FunctionConstants.EMBFUNCTIONS[i]); - } - functionTypeListModel.addElement(FunctionConstants.ALL); - functionTypeListModel.addElement(FunctionConstants.CUSTOM); - functionTypeListModel.addElement(FunctionConstants.PLUGIN); - //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionGroupDefineProvider.MARK_STRING); - if(!groups.isEmpty()){ - for(Mutable group : groups){ - functionTypeListModel.addElement(group); - } - } - functionTypeList.addListSelectionListener(new ListSelectionListener() { - + } + + private void initTypeListSelectionListener(){ + functionTypeList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { Object selectedValue = ((JList) evt.getSource()).getSelectedValue(); if (!(selectedValue instanceof FunctionGroup)) { return; } - NameAndDescription[] nads = ((FunctionGroup) selectedValue).getDescriptions(); functionNameModel = (DefaultListModel) functionNameList.getModel(); - functionNameModel.clear(); - for (NameAndDescription nad : nads) { functionNameModel.addElement(nad); } - if (functionNameModel.size() > 0) { functionNameList.setSelectedIndex(0); functionNameList.ensureIndexIsVisible(0); } } }); - - functionNameList = new JList(new DefaultListModel()); - UIScrollPane functionNameScrollPane = new UIScrollPane(functionNameList); - functionNameScrollPane.setPreferredSize(new Dimension(140, 200)); - functionPane.add( - this.createNamePane(Inter.getLocText("FormulaD-Function_name") + ":", functionNameScrollPane), - BorderLayout.CENTER); - functionNameScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); - - functionNameList.setCellRenderer(new DefaultListCellRenderer() { + } + + private void initGroupTypeModel(){ + functionTypeListModel.addElement(FunctionConstants.COMMON); + for (int i = 0; i < FunctionConstants.EMBFUNCTIONS.length; i++) { + functionTypeListModel.addElement(FunctionConstants.EMBFUNCTIONS[i]); + } + functionTypeListModel.addElement(FunctionConstants.ALL); + functionTypeListModel.addElement(FunctionConstants.CUSTOM); + functionTypeListModel.addElement(FunctionConstants.PLUGIN); + //hugh:自定义函数分组 + Set groups = ExtraClassManager.getInstance().getArray(FunctionGroupDefineProvider.MARK_STRING); + if(!groups.isEmpty()){ + for(Mutable group : groups){ + functionTypeListModel.addElement(group); + } + } + } + + private void initFunctionNameListCellRenderer(){ + functionNameList.setCellRenderer(new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -635,8 +640,10 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ return this; } }); - - functionNameList.addListSelectionListener(new ListSelectionListener() { + } + + private void initFunctionNameListSelectionListener(){ + functionNameList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { Object selectedValue = functionNameList.getSelectedValue(); @@ -650,11 +657,11 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ descriptionTextArea.moveCaretPosition(0); } }); - - functionNameList.addMouseListener(new MouseAdapter() { - + } + + private void initFunctionNameListMouseListener(){ + functionNameList.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent evt) { - if (evt.getClickCount() >= 2) { Object selectedValue = functionNameList.getSelectedValue(); if (!(selectedValue instanceof NameAndDescription)) { @@ -664,7 +671,6 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ applyText(insert); } - if (SwingUtilities.isRightMouseButton(evt)) { JPopupMenu popupMenu = new JPopupMenu(); LookDetailAction lookDetailAction = new LookDetailAction(); @@ -675,24 +681,28 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ } } }); - - // vairable. - variablesTree = new JTree(); - UIScrollPane variablesTreePane = new UIScrollPane(variablesTree); - variablesTreePane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); - this.add(this.createNamePane( - Inter.getLocText("Variables") + ":", variablesTreePane), BorderLayout.CENTER); - variablesTree.setRootVisible(false); - variablesTree.setShowsRootHandles(true); - variablesTree.addMouseListener(applyTextMouseListener); - variablesTree.setCellRenderer(applyTreeCellRenderer); - - // Description + } + + private void initFunctionNameList(JPanel functionPane){ + functionNameList = new JList(new DefaultListModel()); + UIScrollPane functionNameScrollPane = new UIScrollPane(functionNameList); + functionNameScrollPane.setPreferredSize(new Dimension(140, 200)); + functionPane.add( + this.createNamePane(Inter.getLocText("FormulaD-Function_name") + ":", functionNameScrollPane), + BorderLayout.CENTER); + functionNameScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); + initFunctionNameListCellRenderer(); + initFunctionNameListSelectionListener(); + initFunctionNameListMouseListener(); + } + + private void initDescriptionTextArea(){ + // Description descriptionTextArea = new UITextArea(16, 27); UIScrollPane desScrollPane = new UIScrollPane(descriptionTextArea); desScrollPane.setBorder(null); - this.add(this.createNamePane(Inter.getLocText("Formula_Description") + ":", desScrollPane), BorderLayout.EAST); + this.add(this.createNamePane(Inter.getLocText("FR-Design_FormulaPane_Formula_Description") + ":", desScrollPane), BorderLayout.EAST); descriptionTextArea.setBackground(new Color(255, 255, 225)); descriptionTextArea.setLineWrap(true); descriptionTextArea.setWrapStyleWord(true); @@ -706,19 +716,41 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ } }); - variablesTree.addTreeSelectionListener(new TreeSelectionListener() { - - public void valueChanged(TreeSelectionEvent e) { - Object selectedValue = ((DefaultMutableTreeNode) variablesTree.getLastSelectedPathComponent()).getUserObject(); + } + + private StringBuilder getText(TextUserObject selectedValue,String path) throws IOException{ + Reader desReader; + StringBuilder desBuf = new StringBuilder(); + InputStream desInputStream = BaseUtils.readResource(path+ ((TextUserObject) selectedValue).displayText+".txt"); + if (desInputStream == null) { + String description = ""; + desReader = new StringReader(description); + } else { + desReader = new InputStreamReader(desInputStream); + } + BufferedReader reader = new BufferedReader(desReader); + String lineText; + while ((lineText = reader.readLine()) != null) { + if (desBuf.length() > 0) { + desBuf.append('\n'); + } + desBuf.append(lineText); + } + reader.close(); + desReader.close(); + return desBuf; + } + + private void initVariablesTreeSelectionListener(){ + variablesTree.addTreeSelectionListener(new TreeSelectionListener() { + public void valueChanged(TreeSelectionEvent e) { + Object selectedValue = ((DefaultMutableTreeNode) variablesTree.getLastSelectedPathComponent()).getUserObject(); if (selectedValue == null) { return; } - StringBuilder desBuf = new StringBuilder(); try { - Reader desReader; String path; - Locale locale = FRContext.getLocale(); if (locale.equals(Locale.CHINA)) { path = "/com/fr/design/insert/formula/variable/cn/"; @@ -726,43 +758,42 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ path = "/com/fr/design/insert/formula/variable/en/"; } if (selectedValue instanceof TextUserObject) { - - InputStream desInputStream = BaseUtils.readResource(path - + ((TextUserObject) selectedValue).displayText - + ".txt"); - if (desInputStream == null) { - String description = ""; - - desReader = new StringReader(description); - } else { - desReader = new InputStreamReader( - desInputStream); - } - - BufferedReader reader = new BufferedReader( - desReader); - String lineText; - while ((lineText = reader.readLine()) != null) { - if (desBuf.length() > 0) { - desBuf.append('\n'); - } - - desBuf.append(lineText); - } - - reader.close(); - desReader.close(); + desBuf = getText((TextUserObject)selectedValue,path); } } catch (IOException exp) { FRContext.getLogger().error(exp.getMessage(), exp); } - descriptionTextArea.setText(desBuf.toString()); - descriptionTextArea.moveCaretPosition(0); } }); - + } + + private void initVariablesTree(){ + // vairable. + variablesTree = new JTree(); + UIScrollPane variablesTreePane = new UIScrollPane(variablesTree); + variablesTreePane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); + this.add(this.createNamePane( + Inter.getLocText("FR-Design_FormulaPane_Variables") + ":", variablesTreePane), BorderLayout.CENTER); + variablesTree.setRootVisible(false); + variablesTree.setShowsRootHandles(true); + variablesTree.addMouseListener(applyTextMouseListener); + variablesTree.setCellRenderer(applyTreeCellRenderer); + + initDescriptionTextArea(); + + initVariablesTreeSelectionListener(); + } + + private void initComponents() { + this.setLayout(new BorderLayout(4, 4)); + // Function + JPanel functionPane = new JPanel(new BorderLayout(4, 4)); + this.add(functionPane, BorderLayout.WEST); + initFunctionTypeList(functionPane); + initFunctionNameList(functionPane); + initVariablesTree(); // 选择: functionTypeList.setSelectedIndex(0); } @@ -773,7 +804,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ private class LookDetailAction extends UpdateAction { public LookDetailAction() { - this.setName(Inter.getLocText("Function_Detail")); + this.setName(Inter.getLocText("FR-Design_FormulaPane_Function_Detail")); this.setMnemonic('L'); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/preview.png")); } @@ -788,7 +819,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ BasicPane basicPane = new BasicPane() { @Override protected String title4PopupWindow() { - return Inter.getLocText("Function_Detail"); + return Inter.getLocText("FR-Design_FormulaPane_Function_Detail"); } }; basicPane.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -865,7 +896,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ return this; } }; - + public void populate(VariableResolver variableResolver) { // varibale tree. DefaultTreeModel variableModel = (DefaultTreeModel) variablesTree.getModel(); @@ -878,53 +909,29 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ DefaultMutableTreeNode bindCellNode = new DefaultMutableTreeNode(new TextUserObject("$$$")); rootNode.add(bindCellNode); } - - { - MutableTreeNode tableTreeNode = new TextFolderUserObject( - Inter.getLocText("FormulaD-Data_Fields"), - BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"), - variableResolver.resolveColumnNames()).createMutableTreeNode(); - - rootNode.add(tableTreeNode); - } - - { - // Set cutReport Variable - rootNode.add(new TextFolderUserObject( - Inter.getLocText("Variables"), - BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), - variableResolver.resolveCurReportVariables()).createMutableTreeNode()); - } - - - { - rootNode.add(new TextFolderUserObject( - Inter.getLocText(new String[]{"Datasource-Datasource", "Parameter"}), - BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), - variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); - } - - - { - MutableTreeNode reportParameterTreeNode = new TextFolderUserObject( - Inter.getLocText("ParameterD-Report_Parameter"), - BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"), - variableResolver.resolveReportParameterVariables()).createMutableTreeNode(); - - rootNode.add(reportParameterTreeNode); - } - - { - MutableTreeNode globalParameterTreeNode = new TextFolderUserObject( - Inter.getLocText("M_Server-Global_Parameters"), - BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), - variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode(); - rootNode.add(globalParameterTreeNode); - } - - + + rootNode.add(new TextFolderUserObject(Inter.getLocText("FormulaD-Data_Fields"), + BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"), + variableResolver.resolveColumnNames()).createMutableTreeNode()); + + // Set cutReport Variable + rootNode.add(new TextFolderUserObject(Inter.getLocText("FR-Design_FormulaPane_Variables"), + BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), + variableResolver.resolveCurReportVariables()).createMutableTreeNode()); + + rootNode.add(new TextFolderUserObject(Inter.getLocText(new String[]{"Datasource-Datasource", "Parameter"}), + BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), + variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); + + rootNode.add(new TextFolderUserObject(Inter.getLocText("ParameterD-Report_Parameter"), + BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"), + variableResolver.resolveReportParameterVariables()).createMutableTreeNode()); + + rootNode.add(new TextFolderUserObject(Inter.getLocText("M_Server-Global_Parameters"), + BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), + variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode()); + variableModel.reload(); - // Expand for (int row = 0; row < this.variablesTree.getRowCount(); row++) { this.variablesTree.expandRow(row); @@ -1003,6 +1010,6 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ buffer.append("|"); buffer.append("\n"); } - System.out.println(buffer.toString()); + FRContext.getLogger().debug(buffer.toString()); } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/formula/FunctionConstants.java b/designer_base/src/com/fr/design/formula/FunctionConstants.java index d33ad58e89..5acb506df0 100644 --- a/designer_base/src/com/fr/design/formula/FunctionConstants.java +++ b/designer_base/src/com/fr/design/formula/FunctionConstants.java @@ -1,6 +1,7 @@ package com.fr.design.formula; import com.fr.base.FRContext; +import com.fr.design.fun.FunctionGroupDefineProvider; import com.fr.file.FunctionManager; import com.fr.file.FunctionManagerProvider; import com.fr.function.*; @@ -11,7 +12,6 @@ import com.fr.stable.EncodeConstants; import com.fr.stable.OperatingSystem; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; -import com.fr.stable.fun.FunctionGroupDefineProvider; import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.Function; import com.fr.stable.script.FunctionDef; From 9d9cbacef0bd50a56148f4b7ae28648ca1f9db31 Mon Sep 17 00:00:00 2001 From: hugh Date: Thu, 12 Jan 2017 12:35:51 +0800 Subject: [PATCH 037/104] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E5=91=BD=E5=90=8D=E4=B9=8B=E7=B1=BB=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/formula/FormulaPane.java | 19 +++++++++---------- .../fr/design/formula/FunctionConstants.java | 3 +-- .../com/fr/design/formula/FunctionGroup.java | 4 ++++ .../fun/FunctionGroupDefineProvider.java | 12 ------------ .../fun/impl/AbstractFunctionGroup.java | 10 +++++++--- .../com/fr/design/locale/designer.properties | 6 ++++++ .../design/locale/designer_en_US.properties | 6 ++++++ .../design/locale/designer_ja_JP.properties | 6 ++++++ .../design/locale/designer_ko_KR.properties | 6 ++++++ .../design/locale/designer_zh_CN.properties | 6 ++++++ .../design/locale/designer_zh_TW.properties | 6 ++++++ 11 files changed, 57 insertions(+), 27 deletions(-) delete mode 100644 designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java diff --git a/designer_base/src/com/fr/design/formula/FormulaPane.java b/designer_base/src/com/fr/design/formula/FormulaPane.java index 8703458979..260ca917b7 100644 --- a/designer_base/src/com/fr/design/formula/FormulaPane.java +++ b/designer_base/src/com/fr/design/formula/FormulaPane.java @@ -8,7 +8,6 @@ import com.fr.design.border.UIRoundedBorder; import com.fr.design.constants.UIConstants; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; -import com.fr.design.fun.FunctionGroupDefineProvider; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; @@ -74,7 +73,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ String text = formulaTextArea.getText(); // 判断在中文输入状态是否还包含提示符 要删掉 //Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column - String tip = "\n\n\n" + Inter.getLocText("FR-Design_FormulaPane_Tips"); + String tip = "\n\n\n" + Inter.getLocText("FR-Designer_FormulaPane_Tips"); if(text.contains(tip)) { text = text.substring(0, text.indexOf(tip)); insertPosition = 0; @@ -144,7 +143,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ JPanel searchPane = new JPanel(new BorderLayout(4, 4)); searchPane.add(keyWordTextField, BorderLayout.CENTER); - UIButton searchButton = new UIButton(Inter.getLocText("FR-Design_FormulaPane_Search")); + UIButton searchButton = new UIButton(Inter.getLocText("FR-Designer_FormulaPane_Search")); searchPane.add(searchButton, BorderLayout.EAST); tipsPane.add(searchPane, BorderLayout.NORTH); initKeyWordTextFieldKeyListener(); @@ -477,7 +476,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ if (content.trim().equals("=")) { this.formulaTextArea.setForeground(Color.gray); //Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column - this.formulaTextArea.setText("\n\n\n" + Inter.getLocText("FR-Design_FormulaPane_Tips")); + this.formulaTextArea.setText("\n\n\n" + Inter.getLocText("FR-Designer_FormulaPane_Tips")); this.formulaTextArea.setCaretPosition(0); ifHasBeenWriten = 0; this.listModel.removeAllElements(); @@ -620,7 +619,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ functionTypeListModel.addElement(FunctionConstants.CUSTOM); functionTypeListModel.addElement(FunctionConstants.PLUGIN); //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionGroupDefineProvider.MARK_STRING); + Set groups = ExtraClassManager.getInstance().getArray(FunctionGroup.MARK_STRING); if(!groups.isEmpty()){ for(Mutable group : groups){ functionTypeListModel.addElement(group); @@ -702,7 +701,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ UIScrollPane desScrollPane = new UIScrollPane(descriptionTextArea); desScrollPane.setBorder(null); - this.add(this.createNamePane(Inter.getLocText("FR-Design_FormulaPane_Formula_Description") + ":", desScrollPane), BorderLayout.EAST); + this.add(this.createNamePane(Inter.getLocText("FR-Designer_FormulaPane_Formula_Description") + ":", desScrollPane), BorderLayout.EAST); descriptionTextArea.setBackground(new Color(255, 255, 225)); descriptionTextArea.setLineWrap(true); descriptionTextArea.setWrapStyleWord(true); @@ -775,7 +774,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ UIScrollPane variablesTreePane = new UIScrollPane(variablesTree); variablesTreePane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); this.add(this.createNamePane( - Inter.getLocText("FR-Design_FormulaPane_Variables") + ":", variablesTreePane), BorderLayout.CENTER); + Inter.getLocText("FR-Designer_FormulaPane_Variables") + ":", variablesTreePane), BorderLayout.CENTER); variablesTree.setRootVisible(false); variablesTree.setShowsRootHandles(true); variablesTree.addMouseListener(applyTextMouseListener); @@ -804,7 +803,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ private class LookDetailAction extends UpdateAction { public LookDetailAction() { - this.setName(Inter.getLocText("FR-Design_FormulaPane_Function_Detail")); + this.setName(Inter.getLocText("FR-Designer_FormulaPane_Function_Detail")); this.setMnemonic('L'); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/preview.png")); } @@ -819,7 +818,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ BasicPane basicPane = new BasicPane() { @Override protected String title4PopupWindow() { - return Inter.getLocText("FR-Design_FormulaPane_Function_Detail"); + return Inter.getLocText("FR-Designer_FormulaPane_Function_Detail"); } }; basicPane.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -915,7 +914,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ variableResolver.resolveColumnNames()).createMutableTreeNode()); // Set cutReport Variable - rootNode.add(new TextFolderUserObject(Inter.getLocText("FR-Design_FormulaPane_Variables"), + rootNode.add(new TextFolderUserObject(Inter.getLocText("FR-Designer_FormulaPane_Variables"), BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), variableResolver.resolveCurReportVariables()).createMutableTreeNode()); diff --git a/designer_base/src/com/fr/design/formula/FunctionConstants.java b/designer_base/src/com/fr/design/formula/FunctionConstants.java index 5acb506df0..372409583d 100644 --- a/designer_base/src/com/fr/design/formula/FunctionConstants.java +++ b/designer_base/src/com/fr/design/formula/FunctionConstants.java @@ -1,7 +1,6 @@ package com.fr.design.formula; import com.fr.base.FRContext; -import com.fr.design.fun.FunctionGroupDefineProvider; import com.fr.file.FunctionManager; import com.fr.file.FunctionManagerProvider; import com.fr.function.*; @@ -99,7 +98,7 @@ public abstract class FunctionConstants { Collections.addAll(all, PLUGIN.getDescriptions()); Collections.addAll(all, CUSTOM.getDescriptions()); //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionGroupDefineProvider.MARK_STRING); + Set groups = ExtraClassManager.getInstance().getArray(FunctionGroup.MARK_STRING); if(!groups.isEmpty()){ for(Mutable group : groups){ Collections.addAll(all, ((FunctionGroup)group).getDescriptions()); diff --git a/designer_base/src/com/fr/design/formula/FunctionGroup.java b/designer_base/src/com/fr/design/formula/FunctionGroup.java index 4764454ede..b2d181b125 100644 --- a/designer_base/src/com/fr/design/formula/FunctionGroup.java +++ b/designer_base/src/com/fr/design/formula/FunctionGroup.java @@ -2,6 +2,10 @@ package com.fr.design.formula; public interface FunctionGroup { + + int CURRENT_LEVEL = 1; + String MARK_STRING = "FunctionGroup"; + String getGroupName(); NameAndDescription[] getDescriptions(); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java b/designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java deleted file mode 100644 index 906a567712..0000000000 --- a/designer_base/src/com/fr/design/fun/FunctionGroupDefineProvider.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.fr.design.fun; - -import com.fr.design.formula.FunctionGroup; -import com.fr.stable.fun.mark.Mutable; -import com.fr.stable.script.FunctionDef; - -public interface FunctionGroupDefineProvider extends Mutable,FunctionGroup{ - int CURRENT_LEVEL = 1; - String MARK_STRING = "FunctionGroupDefineProvider"; - - public FunctionDef[] getFunctionDefs(); -} diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java index 12cfce71ed..6743393623 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java @@ -1,14 +1,15 @@ package com.fr.design.fun.impl; import com.fr.design.formula.FunctionDefNAD; +import com.fr.design.formula.FunctionGroup; import com.fr.design.formula.NameAndDescription; -import com.fr.design.fun.FunctionGroupDefineProvider; import com.fr.stable.fun.mark.API; +import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.FunctionDef; -@API(level = FunctionGroupDefineProvider.CURRENT_LEVEL) -public abstract class AbstractFunctionGroup implements FunctionGroupDefineProvider { +@API(level = FunctionGroup.CURRENT_LEVEL) +public abstract class AbstractFunctionGroup implements Mutable, FunctionGroup { @Override public int currentAPILevel() { @@ -31,4 +32,7 @@ public abstract class AbstractFunctionGroup implements FunctionGroupDefineProvid return nads; } + public FunctionDef[] getFunctionDefs(){ + return new FunctionDef[0]; + } } diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 9f7923265c..88782f8408 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -510,3 +510,9 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=Tips\:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column +FR-Designer_FormulaPane_Variables=Variables +FR-Designer_FormulaPane_Formula_Description=Formula_Description +FR-Designer_FormulaPane_Function_Detail=Function Detail +FR-Designer_FormulaPane_Search=Search \ No newline at end of file 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 b21847d0e4..a156ba4d43 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 @@ -510,3 +510,9 @@ FR-Designer_Create_Tree=Build Tree FR-Designer_Set_Callback_Function=Set Callback Function FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=Tips\:You can input B1 to get the data in the second cell of the first row +FR-Designer_FormulaPane_Variables=Variables +FR-Designer_FormulaPane_Formula_Description=Formula Description +FR-Designer_FormulaPane_Function_Detail=Function Detail +FR-Designer_FormulaPane_Search=Search 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 5ec06064b1..e285674c8b 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 @@ -489,3 +489,9 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B +FR-Designer_FormulaPane_Variables=\u5909\u6570 +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E +FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 +FR-Designer_FormulaPane_Search=\u691C\u7D22 \ No newline at end of file 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 3e27c558fb..74b556358f 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 @@ -484,3 +484,9 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCCAB\uBC88\uC9F8\uD589\uB450\uBC88\uC9F8\uC5F4\uC758\uB370\uC774\uD130\uB97C\uC785\uB825\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. +FR-Designer_FormulaPane_Variables=\uBCC0\uC218 +FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 +FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D +FR-Designer_FormulaPane_Search=\uAC80\uC0C9 \ No newline at end of file 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 d43f8746bb..e45bafdd07 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 @@ -514,3 +514,9 @@ FR-Designer_Create_Tree=\u6784\u5EFA\u6811 FR-Designer_Set_Callback_Function=\u8BBE\u7F6E\u56DE\u8C03\u51FD\u6570 FR-Designer_ConfirmDialog_Content=\u662F\u5426\u786E\u5B9A\u5220\u9664tab\u63A7\u4EF6 FR-Designer_ConfirmDialog_Title=FineReport 8.0 + +FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u8FC7\u8F93\u5165B1\u6765\u5199\u5165\u7B2C\u4E00\u884C\u7B2C\u4E8C\u5217\u7684\u6570\u636E\u3002 +FR-Designer_FormulaPane_Variables=\u53D8\u91CF +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8BF4\u660E +FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 +FR-Designer_FormulaPane_Search=\u641C\u7D22 \ 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 58868eb0db..ecb1063cc6 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 @@ -502,3 +502,9 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\u5165B1\u4F86\u5BEB\u5165\u7B2C\u4E00\u5217\u7B2C\u4E8C\u6B04\u7684\u8CC7\u6599\u3002 +FR-Designer_FormulaPane_Variables=\u8B8A\u91CF +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E +FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 +FR-Designer_FormulaPane_Search=\u641C\u7D22 \ No newline at end of file From bbff9a6b8384dd290fb846884fa3689c6a11dbfc Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Thu, 12 Jan 2017 17:06:38 +0800 Subject: [PATCH 038/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer.properties | 5 ++++- .../src/com/fr/design/locale/designer_en_US.properties | 3 +++ .../src/com/fr/design/locale/designer_ja_JP.properties | 5 ++++- .../src/com/fr/design/locale/designer_ko_KR.properties | 5 ++++- .../src/com/fr/design/locale/designer_zh_CN.properties | 5 ++++- .../src/com/fr/design/locale/designer_zh_TW.properties | 5 ++++- 6 files changed, 23 insertions(+), 5 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 88782f8408..fbb7111a42 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -515,4 +515,7 @@ FR-Designer_FormulaPane_Tips=Tips\:You_Can_Input_B1_To_Input_The_Data_Of_The_Fir FR-Designer_FormulaPane_Variables=Variables FR-Designer_FormulaPane_Formula_Description=Formula_Description FR-Designer_FormulaPane_Function_Detail=Function Detail -FR-Designer_FormulaPane_Search=Search \ No newline at end of file +FR-Designer_FormulaPane_Search=Search +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= \ No newline at end of file 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 a156ba4d43..2278113192 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 @@ -516,3 +516,6 @@ FR-Designer_FormulaPane_Variables=Variables FR-Designer_FormulaPane_Formula_Description=Formula Description FR-Designer_FormulaPane_Function_Detail=Function Detail FR-Designer_FormulaPane_Search=Search +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= \ 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 e285674c8b..efe89b5b90 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 @@ -494,4 +494,7 @@ FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B FR-Designer_FormulaPane_Variables=\u5909\u6570 FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 -FR-Designer_FormulaPane_Search=\u691C\u7D22 \ No newline at end of file +FR-Designer_FormulaPane_Search=\u691C\u7D22 +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= \ No newline at end of file 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 74b556358f..0d2995ab26 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 @@ -489,4 +489,7 @@ FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCC FR-Designer_FormulaPane_Variables=\uBCC0\uC218 FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D -FR-Designer_FormulaPane_Search=\uAC80\uC0C9 \ No newline at end of file +FR-Designer_FormulaPane_Search=\uAC80\uC0C9 +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= \ No newline at end of file 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 e45bafdd07..a5040a19d8 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 @@ -519,4 +519,7 @@ FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u8FC7\u8F93\ FR-Designer_FormulaPane_Variables=\u53D8\u91CF FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8BF4\u660E FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 -FR-Designer_FormulaPane_Search=\u641C\u7D22 \ No newline at end of file +FR-Designer_FormulaPane_Search=\u641C\u7D22 +FR-Designer_Tab_carousel=tab\u8F6E\u64AD +FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD +FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 \ 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 ecb1063cc6..acd8e773be 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 @@ -507,4 +507,7 @@ FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\ FR-Designer_FormulaPane_Variables=\u8B8A\u91CF FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 -FR-Designer_FormulaPane_Search=\u641C\u7D22 \ No newline at end of file +FR-Designer_FormulaPane_Search=\u641C\u7D22 +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= \ No newline at end of file From 3e336de89112134b56027d55542717a26f04e6a2 Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Thu, 12 Jan 2017 17:16:24 +0800 Subject: [PATCH 039/104] 1 1 --- .../creator/cardlayout/XCardAddButton.java | 3 +- .../creator/cardlayout/XCardSwitchButton.java | 3 +- .../creator/cardlayout/XWCardLayout.java | 90 ++++++++++++++----- 3 files changed, 73 insertions(+), 23 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java index 2c6a0036b5..caf259f3e2 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java @@ -146,7 +146,8 @@ public class XCardAddButton extends XButton{ //设置标题 titleButton.setText(getTabTitleName()); titleButton.setInitialBackground(ColorBackground.getInstance(Color.WHITE)); - XCardSwitchButton showButton = new XCardSwitchButton(titleButton,dimension,cardLayout,tagLayout); + XCardSwitchButton showButton = new XCardSwitchButton(titleButton, dimension, cardLayout, tagLayout); + titleButton.setCustomStyle(true); titleButton.setShowButton(true); showButton.setBackupParent(tagLayout); diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 9116b36441..f7e610483f 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -11,6 +11,7 @@ import java.util.*; import javax.swing.*; import com.fr.base.BaseUtils; +import com.fr.base.GraphHelper; import com.fr.base.background.ColorBackground; import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.ComponentAdapter; @@ -353,7 +354,7 @@ public class XCardSwitchButton extends XButton { CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); String tempText = tempCard.getText(); Font f = ((CardSwitchButton)this.toData()).getFont(); - FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(f); + FontMetrics fm = GraphHelper.getFontMetrics(f); cardWidth.put(i,fm.stringWidth(tempText)); cardHeight.put(i,fm.getHeight()); } diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java index d008ccd521..d98e6a35b0 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java @@ -6,13 +6,16 @@ package com.fr.design.designer.creator.cardlayout; import com.fr.base.background.ColorBackground; import com.fr.design.designer.beans.LayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRCardLayoutAdapter; +import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.beans.models.SelectionModel; import com.fr.design.designer.creator.*; import com.fr.design.form.layout.FRCardLayout; import com.fr.design.form.util.XCreatorConstants; import com.fr.design.mainframe.FormDesigner; +import com.fr.design.mainframe.WidgetPropertyPane; +import com.fr.design.mainframe.widget.editors.BooleanEditor; import com.fr.design.mainframe.widget.editors.CardTagWLayoutBorderStyleEditor; -import com.fr.design.mainframe.widget.renderer.LayoutBorderStyleRenderer; +import com.fr.design.mainframe.widget.editors.DoubleEditor; import com.fr.form.ui.*; import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.WCardLayout; @@ -22,6 +25,7 @@ import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTitleLayout; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; +import com.fr.stable.ArrayUtils; import com.fr.stable.Constants; import com.fr.stable.core.PropertyChangeAdapter; @@ -39,6 +43,8 @@ public class XWCardLayout extends XLayoutContainer { private CardLayout cardLayout; private boolean initFlag = true; private static final int NORTH = 0; + private FormDesigner designer; + //默认蓝色标题背景 private static final Color TITLE_COLOR = new Color(51, 132, 240); @@ -197,6 +203,7 @@ public class XWCardLayout extends XLayoutContainer { CardSwitchButton firstBtn = new CardSwitchButton(widgetName); firstBtn.setText(Inter.getLocText("FR-Designer_Title") + 0); firstBtn.setInitialBackground(ColorBackground.getInstance(Color.WHITE)); + firstBtn.setCustomStyle(true); xTag.setCurrentCard(firstBtn); XCardSwitchButton xFirstBtn = new XCardSwitchButton(firstBtn, new Dimension(CardSwitchButton.DEF_WIDTH, -1), this, xTag); xFirstBtn.setBackupParent(xTag); @@ -271,27 +278,68 @@ public class XWCardLayout extends XLayoutContainer { * @throws IntrospectionException */ public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { - return new CRPropertyDescriptor[] { - new CRPropertyDescriptor("widgetName", this.data.getClass()).setI18NName(Inter - .getLocText("FR-Designer_Form-Widget_Name")).setPropertyChangeListener(new PropertyChangeAdapter(){ - - @Override - public void propertyChange(){ - WCardLayout cardLayout = toData(); - changeRalateSwitchCardname(cardLayout.getWidgetName()); - } - }), - new CRPropertyDescriptor("borderStyle", this.data.getClass()).setEditorClass( - CardTagWLayoutBorderStyleEditor.class).setI18NName( - Inter.getLocText("FR-Engine_Style")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") - .setPropertyChangeListener(new PropertyChangeAdapter() { + CRPropertyDescriptor[] crp = ((WCardLayout) data).isCarousel() ? getisCarousel() : getisnotCarousel(); + return ArrayUtils.addAll(getDefaultDescriptor(), crp); + } + + public CRPropertyDescriptor[] getisCarousel() throws IntrospectionException { + return new CRPropertyDescriptor[] { + new CRPropertyDescriptor("carousel", this.data.getClass()) + .setEditorClass(BooleanEditor.class) + .setI18NName(Inter.getLocText("FR-Designer_setCarousel")) + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "FR-Designer_Tab_carousel") + .setPropertyChangeListener(new PropertyChangeAdapter() { + @Override + public void propertyChange() { + designer = WidgetPropertyPane.getInstance().getEditingFormDesigner(); + designer.getEditListenerTable().fireCreatorModified(DesignerEvent.CREATOR_EDITED); + } + }), + new CRPropertyDescriptor("carouselInterval", this.data.getClass()) + .setEditorClass(DoubleEditor.class) + .setI18NName(Inter.getLocText("FR-Designer_carouselInterval")) + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "FR-Designer_Tab_carousel") + }; + } + + public CRPropertyDescriptor[] getisnotCarousel() throws IntrospectionException { + return new CRPropertyDescriptor[] { + new CRPropertyDescriptor("carousel", this.data.getClass()) + .setEditorClass(BooleanEditor.class) + .setI18NName(Inter.getLocText("FR-Designer_setCarousel")) + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "FR-Designer_Tab_carousel") + .setPropertyChangeListener(new PropertyChangeAdapter() { + @Override + public void propertyChange() { + designer = WidgetPropertyPane.getInstance().getEditingFormDesigner(); + designer.getEditListenerTable().fireCreatorModified(DesignerEvent.CREATOR_EDITED); + } + }) + }; + } + + public CRPropertyDescriptor[] getDefaultDescriptor() throws IntrospectionException { + return new CRPropertyDescriptor[] { + new CRPropertyDescriptor("widgetName", this.data.getClass()).setI18NName(Inter + .getLocText("FR-Designer_Form-Widget_Name")).setPropertyChangeListener(new PropertyChangeAdapter(){ + + @Override + public void propertyChange(){ + WCardLayout cardLayout = toData(); + changeRalateSwitchCardname(cardLayout.getWidgetName()); + } + }), + new CRPropertyDescriptor("borderStyle", this.data.getClass()).setEditorClass( + CardTagWLayoutBorderStyleEditor.class).setI18NName( + Inter.getLocText("FR-Engine_Style")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") + .setPropertyChangeListener(new PropertyChangeAdapter() { - @Override - public void propertyChange() { - initStyle(); - } - }), - }; + @Override + public void propertyChange() { + initStyle(); + } + }) + }; } //初始化样式 From 49e88c6ced05c9f6853550e5ef9da6179189a7fd Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Fri, 13 Jan 2017 15:03:50 +0800 Subject: [PATCH 040/104] =?UTF-8?q?REPORT-576=20=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creator/cardlayout/XCardSwitchButton.java | 26 ++++++++++++++++--- .../creator/cardlayout/XWTabFitLayout.java | 9 +++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index f7e610483f..fdfaaa0dc4 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -12,6 +12,7 @@ import javax.swing.*; import com.fr.base.BaseUtils; import com.fr.base.GraphHelper; +import com.fr.base.ScreenResolution; import com.fr.base.background.ColorBackground; import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.ComponentAdapter; @@ -70,7 +71,7 @@ public class XCardSwitchButton extends XButton { private Background selectBackground; private boolean isCustomStyle; - + private UILabel label; private Icon closeIcon = MOUSE_COLSE; @@ -106,6 +107,14 @@ public class XCardSwitchButton extends XButton { this.selectBackground = selectBackground; } + public UILabel getLabel() { + return label; + } + + public void setLabel(UILabel label) { + this.label = label; + } + public XCardSwitchButton(CardSwitchButton widget, Dimension initSize) { super(widget, initSize); } @@ -161,7 +170,8 @@ public class XCardSwitchButton extends XButton { // 切换到当前tab按钮对应的tabFitLayout XWTabFitLayout tabFitLayout = (XWTabFitLayout) cardLayout.getComponent(index); - tabFitLayout.setxCardSwitchButton(this); + XCardSwitchButton xCardSwitchButton = (XCardSwitchButton) this.tagLayout.getComponent(index); + tabFitLayout.setxCardSwitchButton(xCardSwitchButton); selectionModel.setSelectedCreator(tabFitLayout); if (editingMouseListener.stopEditing()) { @@ -307,7 +317,7 @@ public class XCardSwitchButton extends XButton { // 标题部分 WidgetTitle title = style.getTitle(); - FRFont font = title.getFrFont(); + FRFont font = button.getFont(); FRFont newFont = FRFont.getInstance(font.getName(),font.getStyle(),font.getSize() + FONT_SIZE_ADJUST); UILabel label = this.getContentLabel(); label.setFont(newFont); @@ -377,9 +387,13 @@ public class XCardSwitchButton extends XButton { this.tagLayout.getComponent(i).setBounds(rectangle); Dimension dimension = new Dimension(); dimension.setSize(cardWidth, cardHeight); + CardSwitchButton cardSwitchButton = (CardSwitchButton) temp.toData(); + FRFont frFont = cardSwitchButton.getFont(); XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); UILabel label = temp.getContentLabel(); label.setSize(dimension); + label.setFont(frFont.applyResolutionNP(ScreenResolution.getScreenResolution())); + label.setForeground(frFont.getForeground()); temp.setContentLabel(label); temp.setSize(dimension); temp.setPreferredSize(new Dimension(cardWidth, cardHeight)); @@ -391,4 +405,10 @@ public class XCardSwitchButton extends XButton { super.doLayout(); setTabsAndAdjust(); } + + @Override + protected void initXCreatorProperties() { + super.initXCreatorProperties(); + label = this.getContentLabel(); + } } diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index d772e3b453..e9d7b58c31 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -5,6 +5,7 @@ import java.beans.IntrospectionException; import javax.swing.border.Border; +import com.fr.base.ScreenResolution; import com.fr.base.background.ColorBackground; import com.fr.design.designer.beans.LayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRTabFitLayoutAdapter; @@ -15,6 +16,7 @@ import com.fr.design.designer.creator.XLayoutContainer; import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.form.util.XCreatorConstants; import com.fr.design.fun.WidgetPropertyUIProvider; +import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormHierarchyTreePane; import com.fr.design.mainframe.widget.editors.ButtonTypeEditor; @@ -164,6 +166,13 @@ public class XWTabFitLayout extends XWFitLayout { new PropertyChangeAdapter() { @Override public void propertyChange() { + font = ((WTabFitLayout) data).getFont(); + CardSwitchButton cardSwitchButton = (CardSwitchButton) xCardSwitchButton.toData(); + cardSwitchButton.setFont(font); + UILabel uiLabel = xCardSwitchButton.getLabel(); + uiLabel.setFont(font.applyResolutionNP(ScreenResolution.getScreenResolution())); + uiLabel.setForeground(font.getForeground()); + xCardSwitchButton.setLabel(uiLabel); } }), }; From 406c5e7d1b1e3dde18c605c3f0abfd0f79537c60 Mon Sep 17 00:00:00 2001 From: hugh Date: Sat, 14 Jan 2017 10:59:03 +0800 Subject: [PATCH 041/104] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E5=88=86=E7=A6=BB=E5=8E=9F=E6=9D=A5=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=8D=95=E7=8B=AC=E6=88=90=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E4=B8=BA=E4=BA=86=E6=96=B9=E4=BE=BF=E7=AE=97=E5=AD=90?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=97=B6=E8=8E=B7=E5=8F=96=E5=88=86=E7=BB=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=87=8C=E9=9D=A2=E7=9A=84=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E3=80=82=E6=B2=A1=E6=9C=89=E5=8A=A8FinctionGroup=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=9B=A0=E4=B8=BA=E5=8A=A8?= =?UTF-8?q?=E8=BF=99=E9=87=8C=E7=89=B5=E6=89=AF=E5=A4=AA=E5=B9=BF=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E5=8D=95=E7=8B=AC=E5=81=9A=E4=B8=80=E4=B8=AA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=B8=93=E8=81=8C=E8=8E=B7=E5=8F=96=E5=85=AC=E5=BC=8F?= =?UTF-8?q?=E5=B0=B1=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/formula/FormulaPane.java | 3 ++- .../src/com/fr/design/formula/FunctionConstants.java | 3 ++- .../src/com/fr/design/formula/FunctionGroup.java | 4 ---- .../src/com/fr/design/fun/impl/AbstractFunctionGroup.java | 8 +++++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/designer_base/src/com/fr/design/formula/FormulaPane.java b/designer_base/src/com/fr/design/formula/FormulaPane.java index 260ca917b7..e33a9414d6 100644 --- a/designer_base/src/com/fr/design/formula/FormulaPane.java +++ b/designer_base/src/com/fr/design/formula/FormulaPane.java @@ -23,6 +23,7 @@ import com.fr.general.Inter; import com.fr.parser.FRLexer; import com.fr.parser.FRParser; import com.fr.plugin.ExtraClassManager; +import com.fr.script.FunctionDefContainer; import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; import com.fr.stable.fun.mark.Mutable; @@ -619,7 +620,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ functionTypeListModel.addElement(FunctionConstants.CUSTOM); functionTypeListModel.addElement(FunctionConstants.PLUGIN); //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionGroup.MARK_STRING); + Set groups = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); if(!groups.isEmpty()){ for(Mutable group : groups){ functionTypeListModel.addElement(group); diff --git a/designer_base/src/com/fr/design/formula/FunctionConstants.java b/designer_base/src/com/fr/design/formula/FunctionConstants.java index 372409583d..1194418e7f 100644 --- a/designer_base/src/com/fr/design/formula/FunctionConstants.java +++ b/designer_base/src/com/fr/design/formula/FunctionConstants.java @@ -7,6 +7,7 @@ import com.fr.function.*; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.plugin.ExtraClassManager; +import com.fr.script.FunctionDefContainer; import com.fr.stable.EncodeConstants; import com.fr.stable.OperatingSystem; import com.fr.stable.StableUtils; @@ -98,7 +99,7 @@ public abstract class FunctionConstants { Collections.addAll(all, PLUGIN.getDescriptions()); Collections.addAll(all, CUSTOM.getDescriptions()); //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionGroup.MARK_STRING); + Set groups = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); if(!groups.isEmpty()){ for(Mutable group : groups){ Collections.addAll(all, ((FunctionGroup)group).getDescriptions()); diff --git a/designer_base/src/com/fr/design/formula/FunctionGroup.java b/designer_base/src/com/fr/design/formula/FunctionGroup.java index b2d181b125..4764454ede 100644 --- a/designer_base/src/com/fr/design/formula/FunctionGroup.java +++ b/designer_base/src/com/fr/design/formula/FunctionGroup.java @@ -2,10 +2,6 @@ package com.fr.design.formula; public interface FunctionGroup { - - int CURRENT_LEVEL = 1; - String MARK_STRING = "FunctionGroup"; - String getGroupName(); NameAndDescription[] getDescriptions(); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java index 6743393623..bd6a0c6363 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java @@ -3,17 +3,18 @@ package com.fr.design.fun.impl; import com.fr.design.formula.FunctionDefNAD; import com.fr.design.formula.FunctionGroup; import com.fr.design.formula.NameAndDescription; +import com.fr.script.FunctionDefContainer; import com.fr.stable.fun.mark.API; import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.FunctionDef; -@API(level = FunctionGroup.CURRENT_LEVEL) -public abstract class AbstractFunctionGroup implements Mutable, FunctionGroup { +@API(level = FunctionDefContainer.CURRENT_LEVEL) +public abstract class AbstractFunctionGroup implements Mutable, FunctionGroup,FunctionDefContainer { @Override public int currentAPILevel() { - return CURRENT_LEVEL; + return FunctionDefContainer.CURRENT_LEVEL; } @Override @@ -32,6 +33,7 @@ public abstract class AbstractFunctionGroup implements Mutable, FunctionGroup { return nads; } + @Override public FunctionDef[] getFunctionDefs(){ return new FunctionDef[0]; } From dcb837a7218faa05742542619248fdaa2ead8060 Mon Sep 17 00:00:00 2001 From: hugh Date: Sat, 14 Jan 2017 13:51:34 +0800 Subject: [PATCH 042/104] =?UTF-8?q?=E4=B9=8B=E5=89=8D=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=BC=80=E5=BE=97=E6=9C=89=E9=97=AE=E9=A2=98=EF=BC=8C=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E6=97=B6=E7=AE=97=E5=AD=90=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E4=BC=9A=E5=87=BA=E9=94=99=E3=80=90=E8=AF=BB=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=E5=87=BD=E6=95=B0=EF=BC=8C=E5=9B=A0=E4=B8=BA=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E4=B8=AD=E6=9C=89designer=E7=9A=84=E7=B1=BB=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/formula/FormulaPane.java | 13 ++---- .../fr/design/formula/FunctionConstants.java | 43 ++++++++++++++++++- .../fun/impl/AbstractFunctionGroup.java | 40 ----------------- 3 files changed, 45 insertions(+), 51 deletions(-) delete mode 100644 designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java diff --git a/designer_base/src/com/fr/design/formula/FormulaPane.java b/designer_base/src/com/fr/design/formula/FormulaPane.java index e33a9414d6..9aec1972a0 100644 --- a/designer_base/src/com/fr/design/formula/FormulaPane.java +++ b/designer_base/src/com/fr/design/formula/FormulaPane.java @@ -22,11 +22,8 @@ import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.Inter; import com.fr.parser.FRLexer; import com.fr.parser.FRParser; -import com.fr.plugin.ExtraClassManager; -import com.fr.script.FunctionDefContainer; import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; -import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.Expression; import javax.swing.*; @@ -619,13 +616,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ functionTypeListModel.addElement(FunctionConstants.ALL); functionTypeListModel.addElement(FunctionConstants.CUSTOM); functionTypeListModel.addElement(FunctionConstants.PLUGIN); - //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); - if(!groups.isEmpty()){ - for(Mutable group : groups){ - functionTypeListModel.addElement(group); - } - } + + //hugh: 从函数分组插件中添加分组 + FunctionConstants.addFunctionGroupFromPlugins(functionTypeListModel); } private void initFunctionNameListCellRenderer(){ diff --git a/designer_base/src/com/fr/design/formula/FunctionConstants.java b/designer_base/src/com/fr/design/formula/FunctionConstants.java index 1194418e7f..0575f8950a 100644 --- a/designer_base/src/com/fr/design/formula/FunctionConstants.java +++ b/designer_base/src/com/fr/design/formula/FunctionConstants.java @@ -7,11 +7,11 @@ import com.fr.function.*; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.plugin.ExtraClassManager; -import com.fr.script.FunctionDefContainer; import com.fr.stable.EncodeConstants; import com.fr.stable.OperatingSystem; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; +import com.fr.stable.fun.FunctionDefContainer; import com.fr.stable.fun.mark.Mutable; import com.fr.stable.script.Function; import com.fr.stable.script.FunctionDef; @@ -25,8 +25,49 @@ import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import javax.swing.DefaultListModel; + public abstract class FunctionConstants { + + /** + * 将函数分组插件中的函数添加到对应的列表中 + * @param listModel + */ + public static void addFunctionGroupFromPlugins(DefaultListModel listModel){ + //hugh:自定义函数分组 + Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); + if(!containers.isEmpty()){ + for(Mutable container : containers){ + listModel.addElement(createFunctionGroup((FunctionDefContainer)container)); + } + } + } + + /** + * 创建一个新的分组 + * @param container + * @return + */ + private static FunctionGroup createFunctionGroup(final FunctionDefContainer container){ + return new FunctionGroup() { + @Override + public String getGroupName() { + return container.getGroupName(); + } + @Override + public NameAndDescription[] getDescriptions() { + FunctionDef[] fs = container.getFunctionDefs(); + int count = fs.length; + FunctionDefNAD[] nads = new FunctionDefNAD[count]; + for (int i = 0; i < count; i ++) { + nads[i] = new FunctionDefNAD(fs[i]); + } + return nads; + } + }; + } + public static FunctionGroup PLUGIN = new FunctionGroup() { @Override public String getGroupName() { diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java b/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java deleted file mode 100644 index bd6a0c6363..0000000000 --- a/designer_base/src/com/fr/design/fun/impl/AbstractFunctionGroup.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.fr.design.fun.impl; - -import com.fr.design.formula.FunctionDefNAD; -import com.fr.design.formula.FunctionGroup; -import com.fr.design.formula.NameAndDescription; -import com.fr.script.FunctionDefContainer; -import com.fr.stable.fun.mark.API; -import com.fr.stable.fun.mark.Mutable; -import com.fr.stable.script.FunctionDef; - - -@API(level = FunctionDefContainer.CURRENT_LEVEL) -public abstract class AbstractFunctionGroup implements Mutable, FunctionGroup,FunctionDefContainer { - - @Override - public int currentAPILevel() { - return FunctionDefContainer.CURRENT_LEVEL; - } - - @Override - public String mark4Provider() { - return getClass().getName(); - } - - @Override - public NameAndDescription[] getDescriptions() { - FunctionDef[] funcs = getFunctionDefs(); - int count = funcs.length; - FunctionDefNAD[] nads = new FunctionDefNAD[count]; - for (int i = 0; i < count; i ++) { - nads[i] = new FunctionDefNAD(funcs[i]); - } - return nads; - } - - @Override - public FunctionDef[] getFunctionDefs(){ - return new FunctionDef[0]; - } -} From 6a8b12b3b109de89384b1b5de118bfb7e9d1525d Mon Sep 17 00:00:00 2001 From: hugh Date: Sat, 14 Jan 2017 13:57:15 +0800 Subject: [PATCH 043/104] =?UTF-8?q?=E9=81=97=E6=BC=8F=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/formula/FunctionConstants.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer_base/src/com/fr/design/formula/FunctionConstants.java b/designer_base/src/com/fr/design/formula/FunctionConstants.java index 0575f8950a..8a0675897b 100644 --- a/designer_base/src/com/fr/design/formula/FunctionConstants.java +++ b/designer_base/src/com/fr/design/formula/FunctionConstants.java @@ -140,10 +140,10 @@ public abstract class FunctionConstants { Collections.addAll(all, PLUGIN.getDescriptions()); Collections.addAll(all, CUSTOM.getDescriptions()); //hugh:自定义函数分组 - Set groups = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); - if(!groups.isEmpty()){ - for(Mutable group : groups){ - Collections.addAll(all, ((FunctionGroup)group).getDescriptions()); + Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING); + if(!containers.isEmpty()){ + for(Mutable container : containers){ + Collections.addAll(all,createFunctionGroup(((FunctionDefContainer)container)).getDescriptions()); } } java.util.Collections.sort(all, NameAndDescriptionComparator); From 2c50ee981b85daf7483d335720996447448b0466 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 16 Jan 2017 10:43:17 +0800 Subject: [PATCH 044/104] =?UTF-8?q?REPORT-1390=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=B8=AD=EF=BC=8C=E5=9C=A8=E9=80=89=E4=B8=AD=E2=80=9C?= =?UTF-8?q?=E6=82=AC=E6=B5=AE=E5=85=83=E7=B4=A0=E2=80=9D=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E5=8F=B3=E4=BE=A7=E7=9A=84=E2=80=9C=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=A0=BC=E5=B1=9E=E6=80=A7=E8=A1=A8=E2=80=9D=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/CellElementPropertyPane.java | 13 ++++++++++++- .../src/com/fr/grid/selection/CellSelection.java | 6 ++++++ .../src/com/fr/grid/selection/FloatSelection.java | 6 ++++++ designer/src/com/fr/grid/selection/Selection.java | 2 ++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/CellElementPropertyPane.java b/designer/src/com/fr/design/mainframe/CellElementPropertyPane.java index fa602c8bdf..d68bd77572 100644 --- a/designer/src/com/fr/design/mainframe/CellElementPropertyPane.java +++ b/designer/src/com/fr/design/mainframe/CellElementPropertyPane.java @@ -102,12 +102,23 @@ public class CellElementPropertyPane extends DockingView { return element; } + public void removeAll() { + this.remove(titlePane); + this.remove(cellElementEditPane); + } + + public void reInit(ElementCasePane ePane) { + this.add(titlePane, BorderLayout.NORTH); + this.add(cellElementEditPane, BorderLayout.CENTER); + cellElementEditPane.populate(ePane); + } + public void populate(ElementCasePane ePane) { TemplateElementCase elementCase = ePane.getEditingElementCase(); if (elementCase == null) { return; } - cellElementEditPane.populate(ePane); + ePane.getSelection().populatePropertyPane(ePane); } @Override diff --git a/designer/src/com/fr/grid/selection/CellSelection.java b/designer/src/com/fr/grid/selection/CellSelection.java index c08f870889..458d9fd293 100644 --- a/designer/src/com/fr/grid/selection/CellSelection.java +++ b/designer/src/com/fr/grid/selection/CellSelection.java @@ -18,6 +18,7 @@ import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.imenu.UIMenu; import com.fr.design.gui.imenu.UIPopupMenu; +import com.fr.design.mainframe.CellElementPropertyPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane.Clear; import com.fr.design.mainframe.JTemplate; @@ -684,4 +685,9 @@ public class CellSelection extends Selection { editor.populate(tc); return editor; } + + @Override + public void populatePropertyPane(ElementCasePane ePane) { + CellElementPropertyPane.getInstance().reInit(ePane); + } } \ No newline at end of file diff --git a/designer/src/com/fr/grid/selection/FloatSelection.java b/designer/src/com/fr/grid/selection/FloatSelection.java index 0c1b1fcb0d..5f0be878cf 100644 --- a/designer/src/com/fr/grid/selection/FloatSelection.java +++ b/designer/src/com/fr/grid/selection/FloatSelection.java @@ -20,6 +20,7 @@ import com.fr.design.cell.clipboard.CellElementsClip; import com.fr.design.cell.clipboard.ElementsTransferable; import com.fr.design.cell.clipboard.FloatElementsClip; import com.fr.design.designer.TargetComponent; +import com.fr.design.mainframe.CellElementPropertyPane; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.design.mainframe.ElementCasePane; @@ -230,4 +231,9 @@ public class FloatSelection extends Selection { editor.populate(tc); return editor; } + + @Override + public void populatePropertyPane(ElementCasePane ePane) { + CellElementPropertyPane.getInstance().removeAll(); + } } \ No newline at end of file diff --git a/designer/src/com/fr/grid/selection/Selection.java b/designer/src/com/fr/grid/selection/Selection.java index e7466b365a..c12dda83bc 100644 --- a/designer/src/com/fr/grid/selection/Selection.java +++ b/designer/src/com/fr/grid/selection/Selection.java @@ -87,6 +87,8 @@ public abstract class Selection implements FCloneable, Serializable , Selectable // //////////////////////////Just4CellSelection/////////////////////////////// public abstract boolean containsColumnRow(ColumnRow cr); + + public abstract void populatePropertyPane(ElementCasePane ePane); @Override From 2dad275f38b868bab361a6ff18b51ad0b7344ea9 Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Mon, 16 Jan 2017 21:26:26 +0800 Subject: [PATCH 045/104] =?UTF-8?q?REPORT-1808=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=86=85tab=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.嵌套情况下,删除不起效果。 2.删除最后一个没有提示。 3.字体自定义之后再设置默认,字体没有变回来。 --- .../designer/creator/cardlayout/XCardSwitchButton.java | 10 +++++++++- .../designer/creator/cardlayout/XWTabFitLayout.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index fdfaaa0dc4..27954b20b6 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -251,7 +251,9 @@ public class XCardSwitchButton extends XButton { Point position = button.getLocation(); int width = button.getWidth(); int height = button.getHeight(); - + + ey = ey % DEFAULT_BUTTON_HEIGHT; + // 鼠标进入按钮右侧删除图标区域 double recX = position.getX() + (width - RIGHT_OFFSET); double recY = position.getY() + (height - TOP_OFFSET); @@ -337,6 +339,12 @@ public class XCardSwitchButton extends XButton { //删除tab布局 private void deleteTabLayout(SelectionModel selectionModel,FormDesigner designer){ + String titleName = this.getContentLabel().getText(); + int value = JOptionPane.showConfirmDialog(null, Inter.getLocText("FR-Designer_ConfirmDialog_Content") + "“" + titleName + "”", + Inter.getLocText("FR-Designer_ConfirmDialog_Title"),JOptionPane.YES_NO_OPTION); + if (value != JOptionPane.OK_OPTION) { + return; + } XLayoutContainer mainLayout = this.cardLayout.getBackupParent(); if(mainLayout != null){ selectionModel.setSelectedCreator(mainLayout); diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index e9d7b58c31..7276df53de 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -45,6 +45,9 @@ public class XWTabFitLayout extends XWFitLayout { // tab布局在拖拽导致的缩放里(含间隔时),如果拖拽宽高大于组件宽高,会导致调整的时候找不到原来的组件 // 这里先将拖拽之前的宽高先做备份 private static final Color NORMAL_GRAL = new Color(236,236,236); + private static final String DEFAULT_FONT_NAME = "SimSun"; + public final static Font DEFAULTFT = new Font("Song_TypeFace",0,12); + public final static FRFont DEFAULT_FRFT = FRFont.getInstance(DEFAULT_FONT_NAME, 0, 9); private Dimension referDim; private Background initialBackground; private Background overBackground; @@ -229,16 +232,21 @@ public class XWTabFitLayout extends XWFitLayout { boolean isStyle = ((WTabFitLayout) data).isCustomStyle(); Background bg; bg = ColorBackground.getInstance(NORMAL_GRAL); + CardSwitchButton cardSwitchButton = (CardSwitchButton) this.xCardSwitchButton.toData(); if (!isStyle) { this.xCardSwitchButton.setCustomStyle(false); this.xCardSwitchButton.setSelectBackground(bg); + this.xCardSwitchButton.getLabel().setFont(DEFAULTFT); + cardSwitchButton.setFont(DEFAULT_FRFT); } else { - CardSwitchButton cardSwitchButton = (CardSwitchButton) this.xCardSwitchButton.toData(); Background initialBackground = cardSwitchButton.getInitialBackground(); bg = initialBackground == null ? bg : initialBackground; this.xCardSwitchButton.setSelectBackground(bg); this.xCardSwitchButton.setCustomStyle(true); cardSwitchButton.setCustomStyle(true); + if (font != null) { + cardSwitchButton.setFont(font); + } } } From 001aab092b24f24154103d2b6d54e5ccc53f9c4a Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Tue, 17 Jan 2017 09:58:45 +0800 Subject: [PATCH 046/104] 1 1 --- .../design/designer/creator/cardlayout/XCardSwitchButton.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 27954b20b6..8ade2b3687 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -395,9 +395,9 @@ public class XCardSwitchButton extends XButton { this.tagLayout.getComponent(i).setBounds(rectangle); Dimension dimension = new Dimension(); dimension.setSize(cardWidth, cardHeight); + XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); CardSwitchButton cardSwitchButton = (CardSwitchButton) temp.toData(); FRFont frFont = cardSwitchButton.getFont(); - XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); UILabel label = temp.getContentLabel(); label.setSize(dimension); label.setFont(frFont.applyResolutionNP(ScreenResolution.getScreenResolution())); From 3b5c88284205dfe01a381e182fb4ba357914b846 Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Tue, 17 Jan 2017 12:52:32 +0800 Subject: [PATCH 047/104] =?UTF-8?q?REPORT-1808=20font=E7=A9=BA=E5=80=BC?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E7=BB=99=E4=BA=88=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/cardlayout/XCardSwitchButton.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 8ade2b3687..6bc1de727b 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -47,6 +47,7 @@ public class XCardSwitchButton extends XButton { //设置的图片类型 private static final String COLORBACKGROUNDTYPE = "ColorBackground"; private static final String DEFAULTTYPE = "default"; + private static final String DEFAULT_FONT_NAME = "SimSun"; //默认颜色 public static final Color NORMAL_GRAL = new Color(236,236,236); @@ -65,6 +66,7 @@ public class XCardSwitchButton extends XButton { private static final int FONT_SIZE_ADJUST = 2; private static final int SIDE_OFFSET = 57; + private static final int FONT_SIZE = 9; private XWCardLayout cardLayout; private XWCardTagLayout tagLayout; @@ -320,6 +322,9 @@ public class XCardSwitchButton extends XButton { // 标题部分 WidgetTitle title = style.getTitle(); FRFont font = button.getFont(); + if (font == null) { + font = FRFont.getInstance(DEFAULT_FONT_NAME, 0, FONT_SIZE); + } FRFont newFont = FRFont.getInstance(font.getName(),font.getStyle(),font.getSize() + FONT_SIZE_ADJUST); UILabel label = this.getContentLabel(); label.setFont(newFont); @@ -398,6 +403,9 @@ public class XCardSwitchButton extends XButton { XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); CardSwitchButton cardSwitchButton = (CardSwitchButton) temp.toData(); FRFont frFont = cardSwitchButton.getFont(); + if (frFont == null) { + frFont = FRFont.getInstance(DEFAULT_FONT_NAME, 0, FONT_SIZE); + } UILabel label = temp.getContentLabel(); label.setSize(dimension); label.setFont(frFont.applyResolutionNP(ScreenResolution.getScreenResolution())); From a2a7a6bd155c5bd97ac181cc37b4e603affde8d7 Mon Sep 17 00:00:00 2001 From: lee <854954082@qq.com> Date: Tue, 17 Jan 2017 16:17:04 +0800 Subject: [PATCH 048/104] =?UTF-8?q?REPORT-1808=20=E5=AD=97=E4=BD=93?= =?UTF-8?q?=EF=BC=8C=E8=83=8C=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.字体设置之后的控件的宽度,导致设计器端的显示异常。 2.背景设置恢复默认之后,后台的属性设置为空。 --- .../design/designer/creator/cardlayout/XCardSwitchButton.java | 2 +- .../fr/design/designer/creator/cardlayout/XWTabFitLayout.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index 6bc1de727b..6c55ee045e 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -376,7 +376,7 @@ public class XCardSwitchButton extends XButton { XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); String tempText = tempCard.getText(); - Font f = ((CardSwitchButton)this.toData()).getFont(); + Font f = tempCard.getFont(); FontMetrics fm = GraphHelper.getFontMetrics(f); cardWidth.put(i,fm.stringWidth(tempText)); cardHeight.put(i,fm.getHeight()); diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index 7276df53de..ccdf7dd07b 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -237,6 +237,9 @@ public class XWTabFitLayout extends XWFitLayout { this.xCardSwitchButton.setCustomStyle(false); this.xCardSwitchButton.setSelectBackground(bg); this.xCardSwitchButton.getLabel().setFont(DEFAULTFT); + cardSwitchButton.setInitialBackground(null); + cardSwitchButton.setClickBackground(null); + cardSwitchButton.setOverBackground(null); cardSwitchButton.setFont(DEFAULT_FRFT); } else { Background initialBackground = cardSwitchButton.getInitialBackground(); From 142246013efe8a985b87c0853beca84b0d3548a7 Mon Sep 17 00:00:00 2001 From: lonord Date: Wed, 18 Jan 2017 09:47:29 +0800 Subject: [PATCH 049/104] =?UTF-8?q?com.dr.data.SubmitJob=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/write/submit/CustomJobPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java index 454610217d..9f42b58bb6 100644 --- a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java +++ b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java @@ -1 +1 @@ -package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("Select")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("Edit")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("ClassName"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Property"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.SubmitJob"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Description"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(!StringUtils.isEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file +package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("Select")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("Edit")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("ClassName"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Property"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.AbstractSubmitTask"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Description"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(!StringUtils.isEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file From f3d25158fe985fcedc452a740e55d8898c86cc74 Mon Sep 17 00:00:00 2001 From: lonord Date: Wed, 18 Jan 2017 10:07:32 +0800 Subject: [PATCH 050/104] pmd --- designer_base/src/com/fr/design/write/submit/CustomJobPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java index 9f42b58bb6..342e6f82f9 100644 --- a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java +++ b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java @@ -1 +1 @@ -package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("Select")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("Edit")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("ClassName"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Property"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.AbstractSubmitTask"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Description"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(!StringUtils.isEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file +package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("Designer-Select")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("Designer-Edit")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Designer-ClassName"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Designer-Property"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.AbstractSubmitTask"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Designer-Description"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(StringUtils.isNotEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file From cdb7de829520a8bfa2cbb2a1c3c6398b4e553f22 Mon Sep 17 00:00:00 2001 From: lonord Date: Wed, 18 Jan 2017 11:12:47 +0800 Subject: [PATCH 051/104] =?UTF-8?q?pmd=E7=9A=84=E5=9B=BD=E9=99=85=E5=8C=96?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/locale/designer.properties | 8 +++++++- .../src/com/fr/design/locale/designer_en_US.properties | 8 +++++++- .../src/com/fr/design/locale/designer_ja_JP.properties | 8 +++++++- .../src/com/fr/design/locale/designer_ko_KR.properties | 8 +++++++- .../src/com/fr/design/locale/designer_zh_CN.properties | 8 +++++++- .../src/com/fr/design/locale/designer_zh_TW.properties | 8 +++++++- .../src/com/fr/design/write/submit/CustomJobPane.java | 2 +- 7 files changed, 43 insertions(+), 7 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index fbb7111a42..1c4173c68a 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -518,4 +518,10 @@ FR-Designer_FormulaPane_Function_Detail=Function Detail FR-Designer_FormulaPane_Search=Search FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=ClassName +FR-Designer_Description_panel=Description +FR-Designer_Edit_panel=Edit +FR-Designer_Property_panel=Property +FR-Designer_Select_panel=Select 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 2278113192..d0dbe5b3a8 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 @@ -518,4 +518,10 @@ FR-Designer_FormulaPane_Function_Detail=Function Detail FR-Designer_FormulaPane_Search=Search FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=Class Name +FR-Designer_Description_panel=Description +FR-Designer_Edit_panel=Edit +FR-Designer_Property_panel=Property +FR-Designer_Select_panel=Sel \ 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 efe89b5b90..8a71eb3909 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 @@ -497,4 +497,10 @@ FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 FR-Designer_FormulaPane_Search=\u691C\u7D22 FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=\u985E\u540D +FR-Designer_Description_panel=\u8A18\u8FF0 +FR-Designer_Edit_panel=\u7DE8\u96C6 +FR-Designer_Property_panel=\u5C5E\u6027 +FR-Designer_Select_panel=\u9078\u629E \ No newline at end of file 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 0d2995ab26..be6576cc9b 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 @@ -492,4 +492,10 @@ FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D FR-Designer_FormulaPane_Search=\uAC80\uC0C9 FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 +FR-Designer_Description_panel=\uC124\uBA85 +FR-Designer_Edit_panel=\uD3B8\uC9D1 +FR-Designer_Property_panel=\uC18D\uC131 +FR-Designer_Select_panel=\uC120\uD0DD \ No newline at end of file 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 a5040a19d8..4a67bea211 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 @@ -522,4 +522,10 @@ FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 FR-Designer_FormulaPane_Search=\u641C\u7D22 FR-Designer_Tab_carousel=tab\u8F6E\u64AD FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD -FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 \ No newline at end of file +FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 + +FR-Designer_ClassName_panel=\u7C7B\u540D +FR-Designer_Description_panel=\u63CF\u8FF0 +FR-Designer_Edit_panel=\u7F16\u8F91 +FR-Designer_Property_panel=\u5C5E\u6027 +FR-Designer_Select_panel=\u9009\u62E9 \ 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 acd8e773be..96135a8254 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 @@ -510,4 +510,10 @@ FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 FR-Designer_FormulaPane_Search=\u641C\u7D22 FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=\u985E\u540D +FR-Designer_Description_panel=\u63CF\u8FF0 +FR-Designer_Edit_panel=\u7DE8\u8F2F +FR-Designer_Property_panel=\u5C6C\u6027 +FR-Designer_Select_panel=\u9078\u64C7 \ No newline at end of file diff --git a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java index 342e6f82f9..d986a8beee 100644 --- a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java +++ b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java @@ -1 +1 @@ -package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("Designer-Select")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("Designer-Edit")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Designer-ClassName"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Designer-Property"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.AbstractSubmitTask"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("Designer-Description"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(StringUtils.isNotEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file +package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("FR-Designer_Select_panel")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("FR-Designer_Edit_panel")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_ClassName_panel"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_Property_panel"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.AbstractSubmitTask"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_Description_panel"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(StringUtils.isNotEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file From 6404579f1774d061a678dba07dd407a105419241 Mon Sep 17 00:00:00 2001 From: zhouping Date: Sun, 22 Jan 2017 13:02:46 +0800 Subject: [PATCH 052/104] =?UTF-8?q?REPORT-1814=20=E8=A1=A8=E5=8D=95tab?= =?UTF-8?q?=E5=9D=97=E7=9A=84=E9=A1=B5=E7=AD=BE=E6=8B=96=E5=8A=A8=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/cardlayout/XWTabFitLayout.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index ccdf7dd07b..9b4ef50fbe 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -250,6 +250,16 @@ public class XWTabFitLayout extends XWFitLayout { if (font != null) { cardSwitchButton.setFont(font); } + if (this.initialBackground != null){ + this.xCardSwitchButton.setSelectBackground(this.initialBackground); + cardSwitchButton.setInitialBackground(this.initialBackground); + } + if (this.overBackground != null){ + cardSwitchButton.setOverBackground(this.overBackground); + } + if (this.clickBackground != null) { + cardSwitchButton.setClickBackground(this.clickBackground); + } } } From 61cba0e483efdba37db33f37cf85218b90553c32 Mon Sep 17 00:00:00 2001 From: unknown <李晓丽> Date: Sun, 22 Jan 2017 14:54:04 +0800 Subject: [PATCH 053/104] xxx --- .../src/com/fr/design/locale/designer_en_US.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d0dbe5b3a8..98d1a96d8f 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 @@ -518,7 +518,7 @@ FR-Designer_FormulaPane_Function_Detail=Function Detail FR-Designer_FormulaPane_Search=Search FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= +FR-Designer_carouselInterval=Interval FR-Designer_ClassName_panel=Class Name FR-Designer_Description_panel=Description From 6e41745aa9a23b9c996f314ae01ed3cb4bee73f2 Mon Sep 17 00:00:00 2001 From: unknown <李晓丽> Date: Sun, 22 Jan 2017 15:31:35 +0800 Subject: [PATCH 054/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/locale/designer_en_US.properties | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) 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 98d1a96d8f..93bdf4c7b1 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 @@ -413,12 +413,12 @@ FR-Designer_Unit_PT=Pound FR-Designer-Write_Auto_Stash=auto stash FR-Designer_Printer_Native_Button=Native Print FR-Designer_Event_ShowWidgets=Display widgets directly -FR-Designer_Current_Preview_Rows=Current Number of Preview Rows +FR-Designer_Current_Preview_Rows=Current Number of Preview Rows FR-Designer_Data=Data FR-Designer_Error=Error FR-Designer_formDesignerModule=Form Designer FR-Designer-Website_Url=http\://www.finereport.com/en -FR-Designer-BBSLogin_Download-Unlogin-Tip= +FR-Designer-BBSLogin_Download-Unlogin-Tip=Login to download FR-Designer-App_ReLayout=AppRelayout FR-Designer_Mobile-Attr=Mobile Attr FR-Designer_Mobile-Vertical=Vertical Screen @@ -432,42 +432,42 @@ FR-Designer_COMMUNITY_NEED=need FR-Designer_COMMUNITY_BUG=bug report FR-Designer_COMMUNITY_SIGN=sign FR-Designer_COMMUNITY_QUESTIONS=questions -FR-Designer_Mobile-Zoom=zoom +FR-Designer_Mobile-Zoom=Zoom FR-Designer_Mobile-Open=Open -FR-Designer_Mobile-Warning= +FR-Designer_Mobile-Warning=Max height cannot exceed 80% of display area FR-Designer_Button-OK=OK FR-Designer_Button-Cancel=Cancel FR-Designer_Write-Save-Formula=Preserve formula when fill FR-Designer_Export-Save-Formula=Preserve formula when export -FR-Designer_Form-Fit-Tip=Fit Plugin -FR-Designer_Form-Frozen-Tip=When Use Form Frozen, Suggest Install -FR-Designer_Form-Forzen-Speed=To Speed UP. -FR-Designer_Attention=attention -FR-Designer_Forbid_Widgets_Intersects=Forbid Widgets Intersects +FR-Designer_Form-Fit-Tip=Adaptive plug-in +FR-Designer_Form-Frozen-Tip=When use Frozen, suggest install +FR-Designer_Form-Forzen-Speed=, use bidirectional and horizontal adaption to improve the speed. +FR-Designer_Attention=Attention +FR-Designer_Forbid_Widgets_Intersects=Forbid component overlap FR-Designer_Widget_Scaling_Mode_Fit=Area-Fit FR-Designer_Widget_Scaling_Mode_Fixed=Area-Fixed -FR-Designer-Widget_Area_Scaling=Widget Area Scaling -FR-Designer-Widget_Scaling_Mode=Widget Scaling Mode +FR-Designer-Widget_Area_Scaling=Component area scaling +FR-Designer-Widget_Scaling_Mode=Scaling mode FR-Designer-QQLogin-Determine=Determine FR-Designer-QQLogin-Cancel=Cancel -FR-Designer-Reuse_Manager=Reuse Manager -FR-Designer_TableData-Default-Para=Default Para -FR-Designer_Layout_Block_Absolute=Absolute Layout Block -FR-Designer_Layout_Block_Tab=TabLayout -FR-Designer_Layout_Block_Blank=Blank Block -FR-Designer_Attr_Layout=layout -FR-Designer_Attr_Layout_Type=layout type -FR-Designer_Attr_Bidirectional_Adaptive=Bidirectional Adaptive -FR-Designer-Selected_Widget=selected widget -FR-Designer_LocalWidget=local widget -FR-Designer_AllCategories=all categories -FR-Designer_Download_Template=download template -FR-Designer_Install_Template=install template -FR-Designer_Delete_Template=delete template -FR-Designer_Mobile-Refresh=refresh -FR-Designer_Mobile-ToolBar=toolbar +FR-Designer-Reuse_Manager=Component management +FR-Designer_TableData-Default-Para=Default parameter +FR-Designer_Layout_Block_Absolute=Absolute layout block +FR-Designer_Layout_Block_Tab=Tab block +FR-Designer_Layout_Block_Blank=Blank block +FR-Designer_Attr_Layout=Layout +FR-Designer_Attr_Layout_Type=Layout type +FR-Designer_Attr_Bidirectional_Adaptive=Bidirectional adaptive +FR-Designer-Selected_Widget=Selected widget +FR-Designer_LocalWidget=Local component library +FR-Designer_AllCategories=All categories +FR-Designer_Download_Template=Download components +FR-Designer_Install_Template=Install components +FR-Designer_Delete_Template=Delete components +FR-Designer_Mobile-Refresh=Refresh +FR-Designer_Mobile-ToolBar=Toolbar FR-Designer_WLayout-Absolute-ToolTips=Freestyle layout, add control in any position of the layout -FR-Designer_Reset=reset +FR-Designer_Reset=Reset FR-Designer_Add_all=Add all FR-Designer_Language_Change_Successful=New language setting will be enabled when designer is restarted FR-Designer_Template_Web_Attributes=Web Attributes @@ -508,16 +508,16 @@ FR-Designer_Form_Basic_Properties=Basic Property FR-Designer_DS_Dictionary=Data Dictionary FR-Designer_Create_Tree=Build Tree FR-Designer_Set_Callback_Function=Set Callback Function -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= +FR-Designer_ConfirmDialog_Content=Confirm to delete Tab Control +FR-Designer_ConfirmDialog_Title=FineReport 8.0 FR-Designer_FormulaPane_Tips=Tips\:You can input B1 to get the data in the second cell of the first row FR-Designer_FormulaPane_Variables=Variables FR-Designer_FormulaPane_Formula_Description=Formula Description FR-Designer_FormulaPane_Function_Detail=Function Detail FR-Designer_FormulaPane_Search=Search -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= +FR-Designer_Tab_carousel=Tab carousel +FR-Designer_setCarousel=Start FR-Designer_carouselInterval=Interval FR-Designer_ClassName_panel=Class Name From de903cf9a2fdae8cfd60f54fe64033e75fc631eb Mon Sep 17 00:00:00 2001 From: zhouping Date: Sun, 22 Jan 2017 21:52:46 +0800 Subject: [PATCH 055/104] =?UTF-8?q?REPORT-1814=20=E8=A1=A8=E5=8D=95tab?= =?UTF-8?q?=E5=9D=97=E7=9A=84=E6=94=B9=E8=89=AFbug=20=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B1=8F=E8=94=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/cardlayout/XWCardLayout.java | 11 ----------- .../designer/creator/cardlayout/XWTabFitLayout.java | 11 ----------- 2 files changed, 22 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java index d98e6a35b0..d4206b1c31 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java @@ -270,17 +270,6 @@ public class XWCardLayout extends XLayoutContainer { public boolean hasTitleStyle() { return true; } - - - /** - * 得到属性名 - * @return 属性名 - * @throws IntrospectionException - */ - public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { - CRPropertyDescriptor[] crp = ((WCardLayout) data).isCarousel() ? getisCarousel() : getisnotCarousel(); - return ArrayUtils.addAll(getDefaultDescriptor(), crp); - } public CRPropertyDescriptor[] getisCarousel() throws IntrospectionException { return new CRPropertyDescriptor[] { diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index 9b4ef50fbe..6bbc48a5e1 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -111,17 +111,6 @@ public class XWTabFitLayout extends XWFitLayout { public XWTabFitLayout(WTabFitLayout widget, Dimension initSize) { super(widget, initSize); } - - /** - * 得到属性名 - * @return 属性名 - * @throws IntrospectionException - */ - public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { - checkButonType(); - CRPropertyDescriptor[] crp = ((WTabFitLayout) data).isCustomStyle() ? getisCustomStyle() : getisnotCustomStyle(); - return ArrayUtils.addAll(defaultDescriptor(), crp); - } protected CRPropertyDescriptor[] getisCustomStyle() throws IntrospectionException { return new CRPropertyDescriptor[]{ From 12fc6d4f866748cfe4c5b4a59661f58a9bbe4a2a Mon Sep 17 00:00:00 2001 From: zhouping Date: Mon, 23 Jan 2017 10:32:13 +0800 Subject: [PATCH 056/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20tab?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=B1=8F=E8=94=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/cardlayout/XWCardLayout.java | 10 ++++++++++ .../designer/creator/cardlayout/XWTabFitLayout.java | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java index d4206b1c31..876eaa34ee 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardLayout.java @@ -271,6 +271,16 @@ public class XWCardLayout extends XLayoutContainer { return true; } + /** + * 得到属性名 + * @return 属性名 + * @throws IntrospectionException + */ + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + CRPropertyDescriptor[] crp = null; + return ArrayUtils.addAll(getDefaultDescriptor(), crp); + } + public CRPropertyDescriptor[] getisCarousel() throws IntrospectionException { return new CRPropertyDescriptor[] { new CRPropertyDescriptor("carousel", this.data.getClass()) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index 6bbc48a5e1..db60701785 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -112,6 +112,16 @@ public class XWTabFitLayout extends XWFitLayout { super(widget, initSize); } + /** + * 得到属性名 + * @return 属性名 + * @throws IntrospectionException + */ + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + CRPropertyDescriptor[] crp = null; + return ArrayUtils.addAll(defaultDescriptor(), crp); + } + protected CRPropertyDescriptor[] getisCustomStyle() throws IntrospectionException { return new CRPropertyDescriptor[]{ //标题样式 From faabc89c88bd8f7d818d9b27fbeee22c2a3d585d Mon Sep 17 00:00:00 2001 From: wanling wang Date: Mon, 23 Jan 2017 11:32:01 +0800 Subject: [PATCH 057/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + .../design/locale/designer_ja_JP.properties | 72 +++++++++---------- 2 files changed, 36 insertions(+), 38 deletions(-) diff --git a/.gitignore b/.gitignore index ec8c85a73c..a9c6c2320c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ designer_base/bin designer_chart/bin designer_form/bin *.iml + + 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 8a71eb3909..a6ccf3d329 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 @@ -375,7 +375,7 @@ FR-Designer-Plugin_Expire_Dialog_Text=\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u3001 FR-Designer-Plugin_Finerest_Addon=\u5E06\u8EDF\u5FDC\u7528\u30BB\u30F3\u30BF\u30FC FR-Designer_Performance_First=\u6027\u80FD\u512A\u5148 FR-Designer_Total_N_Grade=\u5168\u90E8\u3067\:${N}\u5C64 -FR-Designer_time(s)= +FR-Designer_time(s)=\u56DE FR-Designer_General=\u5E38\u7528 FR-Designer_Advanced=\u9AD8\u7D1A FR-Designer_Oracle=\u3059\u3079\u3066\u306E\u30C6\u30FC\u30D6\u30EB @@ -435,20 +435,20 @@ FR-Designer_Widget_Scaling_Mode_Fixed=\u56FA\u5B9A\u30B5\u30A4\u30BA FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2\ FR-Designer-QQLogin-Determine=\u6C7A\u5B9A\u3057\u307E\u3059 FR-Designer-QQLogin-Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -FR-Designer-Reuse_Manager= -FR-Designer_Layout_Block_Absolute= -FR-Designer_Layout_Block_Tab= -FR-Designer_Layout_Block_Blank= -FR-Designer_Attr_Layout= -FR-Designer_Attr_Layout_Type= -FR-Designer_Attr_Bidirectional_Adaptive= -FR-Designer_Download_Template= +FR-Designer-Reuse_Manager=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8 +FR-Designer_Layout_Block_Absolute=\u7D76\u5BFE\u30EC\u30A4\u30A2\u30A6\u30C8\u30D6\u30ED\u30C3\u30AF +FR-Designer_Layout_Block_Tab=Tab\u30D6\u30ED\u30C3\u30AF +FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u30D6\u30ED\u30C3\u30AF +FR-Designer_Attr_Layout=\u30EC\u30A4\u30A2\u30A6\u30C8 +FR-Designer_Attr_Layout_Type=\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5F0F +FR-Designer_Attr_Bidirectional_Adaptive=\u53CC\u65B9\u5411\u81EA\u5DF1\u8ABF\u6574 +FR-Designer_Download_Template=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 FR-Designer-Widget_Scaling_Mode=\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u8AD6\u7406 -FR-Designer_Mobile-Refresh= -FR-Designer_Mobile-ToolBar= +FR-Designer_Mobile-Refresh=\u66F4\u65B0 +FR-Designer_Mobile-ToolBar=\u30C4\u30FC\u30EB\u30D0\u30FC FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u914D\u7F6E\u3067\u3059\u3002\u914D\u7F6E\u5185\u306E\u4EFB\u610F\u306E\u4F4D\u7F6E\u306B\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068 FR-Designer_Add_all=\u3059\u3079\u3066\u8FFD\u52A0 -FR-Designer_Language_Change_Successful= +FR-Designer_Language_Change_Successful=\u65B0\u3057\u3044\u8A00\u8A9E\u306F\u518D\u8D77\u52D5\u5F8C\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 FR-Designer_Template_Web_Attributes= FR-Designer_Basic=\u57FA\u672C FR-Designer_Printers(Server)=\u30D7\u30EA\u30F3\u30BF\u30FC(\u30B5\u30FC\u30D0) @@ -463,42 +463,38 @@ FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 -FR-Designer_Event=\ -FR-Designer_Properties=FR-Designer_Properties=\ -\ +FR-Designer_Event=\u30A4\u30D9\u30F3\u30C8 +FR-Designer_Properties=\u30D7\u30ED\u30D1\u30C6\u30A3 FR-Designer_Export_failed=\u5C0E\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F FR-Designer_Exported_successfully=\u5C0E\u51FA\u6210\u529F FR-Designer_Exporting=\u5C0E\u51FA\u3057\u3066\u3044\u307E\u3059 FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8FR-Designer_Button_OK=FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -\uFFFD -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= - +FR-Designer_JavaScript=JavaScript +FR-Designer_JavaScript_Form_Submit=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u66F8\u304D\u8FBC\u307F +FR-Designer_JavaScript_Commit_to_Database=DB\u306B\u66F8\u304D\u8FBC\u307F +FR-Designer_JavaScript_Custom=\u30AB\u30B9\u30BF\u30E0 +FR-Designer_RWA_Submit=\u66F8\u304D\u8FBC\u307F +FR-Designer_Event_Name=\u30A4\u30D9\u30F3\u30C8\u540D +FR-Designer_Event_Type=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7 +FR-Designer_Event_Name_Type=\u30A4\u30D9\u30F3\u30C8\u540D\u3068\u30BF\u30A4\u30D7 +FR-Designer_JavaScript_Set=JS\u8A2D\u5B9A +FR-Designer_Attribute=\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_Form_Editing_Listeners=\u30A4\u30D9\u30F3\u30C8\u7DE8\u96C6 +FR-Designer_Form_Basic_Properties=\u57FA\u672C\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_DS_Dictionary=\u30C7\u30FC\u30BF\u8F9E\u66F8 +FR-Designer_Create_Tree=\u30C4\u30EA\u30FC\u69CB\u7BC9 +FR-Designer_Set_Callback_Function=\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u95A2\u6570\u8A2D\u5B9A +FR-Designer_ConfirmDialog_Content=tab\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B +FR-Designer_ConfirmDialog_Title=FineReport 8.0 FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B FR-Designer_FormulaPane_Variables=\u5909\u6570 FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 FR-Designer_FormulaPane_Search=\u691C\u7D22 -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= - +FR-Designer_Tab_carousel=tab\u30AB\u30EB\u30FC\u30BB\u30EB +FR-Designer_setCarousel=\u30AB\u30EB\u30FC\u30BB\u30EB\u30AA\u30F3 +FR-Designer_carouselInterval=\u30AB\u30EB\u30FC\u30BB\u30EB\u9593\u9694 FR-Designer_ClassName_panel=\u985E\u540D FR-Designer_Description_panel=\u8A18\u8FF0 FR-Designer_Edit_panel=\u7DE8\u96C6 From 34e1c9c95b11694e3cfe86c620e6477bc85c807e Mon Sep 17 00:00:00 2001 From: neil Date: Mon, 23 Jan 2017 14:04:36 +0800 Subject: [PATCH 058/104] ct --- .../com/fr/design/locale/designer.properties | 43 ++--------- .../design/locale/designer_en_US.properties | 45 ++---------- .../design/locale/designer_ja_JP.properties | 73 ++++++------------- .../design/locale/designer_ko_KR.properties | 50 +++---------- .../design/locale/designer_zh_CN.properties | 44 ++--------- .../design/locale/designer_zh_TW.properties | 44 ++--------- 6 files changed, 56 insertions(+), 243 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 1c4173c68a..b4e21619fc 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates= FR-Designer_File= FR-Designer_Filter_Conditions= FR-Designer_Finish-Modify-Share= -FR-Designer_Fit= +FR-Designer_Fit-App= FR-Designer_Font-Family= FR-Designer_Font-Size= FR-Designer_Forbid_Drag_into_Adapt_Pane=Forbid Drag into Para Pane @@ -357,6 +357,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar= +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=Database FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -487,41 +488,9 @@ FR-Designer-LayerPageReport_PageQuery= FR-Designer-LayerPageReport_Define_PageQuerySQL= FR-Designer_Event= FR-Designer_Properties= -FR-Designer_Export_failed=Export failed -FR-Designer_Exported_successfully=Exported successfully -FR-Designer_Exporting=Exporting -FR-Designer_Export-PDF=PDF +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page +FR-Designer_Export_Excel_Simple=Simple +FR-Designer_Export_Excel_PageToSheet=Page To Sheet FR-Designer_Button_OK=OK FR-Designer_Button_Cancel=Cancel -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= - -FR-Designer_FormulaPane_Tips=Tips\:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column -FR-Designer_FormulaPane_Variables=Variables -FR-Designer_FormulaPane_Formula_Description=Formula_Description -FR-Designer_FormulaPane_Function_Detail=Function Detail -FR-Designer_FormulaPane_Search=Search -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= - -FR-Designer_ClassName_panel=ClassName -FR-Designer_Description_panel=Description -FR-Designer_Edit_panel=Edit -FR-Designer_Property_panel=Property -FR-Designer_Select_panel=Select 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 98d1a96d8f..7cac6d6913 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 @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates=Close other templates FR-Designer_File=file FR-Designer_Filter_Conditions=Filter condition FR-Designer_Finish-Modify-Share=Finish Modification And Share -FR-Designer_Fit=self-adaption +FR-Designer_Fit-App=App self-adaption FR-Designer_Font-Family=Font name FR-Designer_Font-Size=Font size FR-Designer_Forbid_Drag_into_Adapt_Pane=Form body cannot be dragged into the object @@ -358,6 +358,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar=Please Update Jar +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=DB FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -486,42 +487,10 @@ FR-Designer-DS-Database_Query=DB Query FR-Designer_Is_Share_DBTableData=Shared data set FR-Designer_Event=Event FR-Designer_Properties=Properties -FR-Designer_Export_failed=Export failed -FR-Designer_Exported_successfully=Exported successfully -FR-Designer_Exporting=Exporting -FR-Designer_Export-PDF=PDF -FR-Designer_Properties_Mobile=MobileProperties +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Permission_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page Break +FR-Designer_Export_Excel_Simple=Original +FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet FR-Designer_Button_OK=OK FR-Designer_Button_Cancel=Cancel -FR-Designer_JavaScript=JavaScript -FR-Designer_JavaScript_Form_Submit=Form Submit -FR-Designer_JavaScript_Commit_to_Database=Commit to DB -FR-Designer_JavaScript_Custom=Custom -FR-Designer_RWA_Submit=Submit -FR-Designer_Event_Name=Event Name -FR-Designer_Event_Type=Event Type -FR-Designer_Event_Name_Type=Event Name and Type -FR-Designer_JavaScript_Set=JavaScript Set -FR-Designer_Attribute=Attribute -FR-Designer_Form_Editing_Listeners=Event editing -FR-Designer_Form_Basic_Properties=Basic Property -FR-Designer_DS_Dictionary=Data Dictionary -FR-Designer_Create_Tree=Build Tree -FR-Designer_Set_Callback_Function=Set Callback Function -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= - -FR-Designer_FormulaPane_Tips=Tips\:You can input B1 to get the data in the second cell of the first row -FR-Designer_FormulaPane_Variables=Variables -FR-Designer_FormulaPane_Formula_Description=Formula Description -FR-Designer_FormulaPane_Function_Detail=Function Detail -FR-Designer_FormulaPane_Search=Search -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval=Interval - -FR-Designer_ClassName_panel=Class Name -FR-Designer_Description_panel=Description -FR-Designer_Edit_panel=Edit -FR-Designer_Property_panel=Property -FR-Designer_Select_panel=Sel \ 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 a6ccf3d329..aac51bae80 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 @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u305D\u306E\u4ED6\u30C6\u30F3\u30D7\u30EC\ FR-Designer_File=\u30D5\u30A1\u30A4\u30EB FR-Designer_Filter_Conditions=\u9078\u5225\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u4FEE\u6B63\u3092\u5B8C\u4E86\u3057\u3066\u30B7\u30A7\u30A2 -FR-Designer_Fit=\u81EA\u9069\u5FDC +FR-Designer_Fit-App=App\u81EA\u9069\u5FDC FR-Designer_Font-Family=\u30D5\u30A9\u30F3\u30C8\u540D\u79F0 FR-Designer_Font-Size=\u30D5\u30A9\u30F3\u30C8\u5927\u5C0F FR-Designer_Forbid_Drag_into_Adapt_Pane=\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u30D5\u30A9\u30FC\u30E0\u672C\u6587\u3092\u30C9\u30E9\u30C3\u30B0\u3059\u308B\u3053\u3068\u306F\u8A31\u3055\u308C\u306A\u3044 @@ -320,7 +320,7 @@ FR-Designer_Show_Text=\u30DC\u30BF\u30F3\u540D\u524D\u3092\u8868\u793A FR-Designer_User_Defined_Event=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u4E8B\u4EF6 FR-Designer_Output_PDF=PDF\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8 FR-Designer_Output_Word=Word\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8 -FR-Designer_Image=\u30A4\u30E1\u30FC\u30B8 +FR-Designer_Image=\u753B\u50CF\uFF08PNG\uFF09 FR-Designer_Flash_Print=Flash\u30D7\u30EA\u30F3\u30C8 FR-Designer_PDF_Print=PDF\u30D7\u30EA\u30F3\u30C8 FR-Designer_Applet_Print=\u30A2\u30D7\u30EC\u30C3\u30C8\u5370\u5237 @@ -375,7 +375,7 @@ FR-Designer-Plugin_Expire_Dialog_Text=\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u3001 FR-Designer-Plugin_Finerest_Addon=\u5E06\u8EDF\u5FDC\u7528\u30BB\u30F3\u30BF\u30FC FR-Designer_Performance_First=\u6027\u80FD\u512A\u5148 FR-Designer_Total_N_Grade=\u5168\u90E8\u3067\:${N}\u5C64 -FR-Designer_time(s)=\u56DE +FR-Designer_time(s)= FR-Designer_General=\u5E38\u7528 FR-Designer_Advanced=\u9AD8\u7D1A FR-Designer_Oracle=\u3059\u3079\u3066\u306E\u30C6\u30FC\u30D6\u30EB @@ -432,23 +432,23 @@ FR-Designer_Attention=\u6CE8\u610F\u3057\u307E\u3059 FR-Designer_Forbid_Widgets_Intersects=\u7981\u6B62\u90E8\u54C1\u3092\u91CD\u306D\u3066 FR-Designer_Widget_Scaling_Mode_Fit=\u9069\u5FDC\u533A\u57DF FR-Designer_Widget_Scaling_Mode_Fixed=\u56FA\u5B9A\u30B5\u30A4\u30BA -FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2\ +FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2 FR-Designer-QQLogin-Determine=\u6C7A\u5B9A\u3057\u307E\u3059 FR-Designer-QQLogin-Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -FR-Designer-Reuse_Manager=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8 -FR-Designer_Layout_Block_Absolute=\u7D76\u5BFE\u30EC\u30A4\u30A2\u30A6\u30C8\u30D6\u30ED\u30C3\u30AF -FR-Designer_Layout_Block_Tab=Tab\u30D6\u30ED\u30C3\u30AF -FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u30D6\u30ED\u30C3\u30AF -FR-Designer_Attr_Layout=\u30EC\u30A4\u30A2\u30A6\u30C8 -FR-Designer_Attr_Layout_Type=\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5F0F -FR-Designer_Attr_Bidirectional_Adaptive=\u53CC\u65B9\u5411\u81EA\u5DF1\u8ABF\u6574 -FR-Designer_Download_Template=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 +FR-Designer-Reuse_Manager= +FR-Designer_Layout_Block_Absolute= +FR-Designer_Layout_Block_Tab= +FR-Designer_Layout_Block_Blank= +FR-Designer_Attr_Layout= +FR-Designer_Attr_Layout_Type= +FR-Designer_Attr_Bidirectional_Adaptive= +FR-Designer_Download_Template= FR-Designer-Widget_Scaling_Mode=\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u8AD6\u7406 -FR-Designer_Mobile-Refresh=\u66F4\u65B0 -FR-Designer_Mobile-ToolBar=\u30C4\u30FC\u30EB\u30D0\u30FC +FR-Designer_Mobile-Refresh= +FR-Designer_Mobile-ToolBar= FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u914D\u7F6E\u3067\u3059\u3002\u914D\u7F6E\u5185\u306E\u4EFB\u610F\u306E\u4F4D\u7F6E\u306B\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068 FR-Designer_Add_all=\u3059\u3079\u3066\u8FFD\u52A0 -FR-Designer_Language_Change_Successful=\u65B0\u3057\u3044\u8A00\u8A9E\u306F\u518D\u8D77\u52D5\u5F8C\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 +FR-Designer_Language_Change_Successful= FR-Designer_Template_Web_Attributes= FR-Designer_Basic=\u57FA\u672C FR-Designer_Printers(Server)=\u30D7\u30EA\u30F3\u30BF\u30FC(\u30B5\u30FC\u30D0) @@ -463,40 +463,11 @@ FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 -FR-Designer_Event=\u30A4\u30D9\u30F3\u30C8 -FR-Designer_Properties=\u30D7\u30ED\u30D1\u30C6\u30A3 -FR-Designer_Export_failed=\u5C0E\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F -FR-Designer_Exported_successfully=\u5C0E\u51FA\u6210\u529F -FR-Designer_Exporting=\u5C0E\u51FA\u3057\u3066\u3044\u307E\u3059 -FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8FR-Designer_Button_OK=FR-Designer_Button_OK=\u78BA\u5B9A +FR-Designer_Event= +FR-Designer_Properties= +FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 +FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B +FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B +FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 +FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -FR-Designer_JavaScript=JavaScript -FR-Designer_JavaScript_Form_Submit=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u66F8\u304D\u8FBC\u307F -FR-Designer_JavaScript_Commit_to_Database=DB\u306B\u66F8\u304D\u8FBC\u307F -FR-Designer_JavaScript_Custom=\u30AB\u30B9\u30BF\u30E0 -FR-Designer_RWA_Submit=\u66F8\u304D\u8FBC\u307F -FR-Designer_Event_Name=\u30A4\u30D9\u30F3\u30C8\u540D -FR-Designer_Event_Type=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7 -FR-Designer_Event_Name_Type=\u30A4\u30D9\u30F3\u30C8\u540D\u3068\u30BF\u30A4\u30D7 -FR-Designer_JavaScript_Set=JS\u8A2D\u5B9A -FR-Designer_Attribute=\u30D7\u30ED\u30D1\u30C6\u30A3 -FR-Designer_Form_Editing_Listeners=\u30A4\u30D9\u30F3\u30C8\u7DE8\u96C6 -FR-Designer_Form_Basic_Properties=\u57FA\u672C\u30D7\u30ED\u30D1\u30C6\u30A3 -FR-Designer_DS_Dictionary=\u30C7\u30FC\u30BF\u8F9E\u66F8 -FR-Designer_Create_Tree=\u30C4\u30EA\u30FC\u69CB\u7BC9 -FR-Designer_Set_Callback_Function=\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u95A2\u6570\u8A2D\u5B9A -FR-Designer_ConfirmDialog_Content=tab\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B -FR-Designer_ConfirmDialog_Title=FineReport 8.0 -FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B -FR-Designer_FormulaPane_Variables=\u5909\u6570 -FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E -FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 -FR-Designer_FormulaPane_Search=\u691C\u7D22 -FR-Designer_Tab_carousel=tab\u30AB\u30EB\u30FC\u30BB\u30EB -FR-Designer_setCarousel=\u30AB\u30EB\u30FC\u30BB\u30EB\u30AA\u30F3 -FR-Designer_carouselInterval=\u30AB\u30EB\u30FC\u30BB\u30EB\u9593\u9694 -FR-Designer_ClassName_panel=\u985E\u540D -FR-Designer_Description_panel=\u8A18\u8FF0 -FR-Designer_Edit_panel=\u7DE8\u96C6 -FR-Designer_Property_panel=\u5C5E\u6027 -FR-Designer_Select_panel=\u9078\u629E \ No newline at end of file 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 be6576cc9b..b19fdfc37c 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 @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\uAE30\uD0C0\uD15C\uD50C\uB9BF\uB2EB\uAE30 FR-Designer_File=\uD30C\uC77C FR-Designer_Filter_Conditions=\uD544\uD130\uC870\uAC74 FR-Designer_Finish-Modify-Share=\uC218\uC815\uC644\uB8CC\uBC0F\uACF5\uC720 -FR-Designer_Fit=\uC790\uAE30\uC801\uC751 +FR-Designer_Fit-App=App\uC790\uAE30\uC801\uC751 FR-Designer_Font-Family=\uAE00\uAF34\uBA85\uCE6D FR-Designer_Font-Size=\uAE00\uAF34\uD06C\uAE30 FR-Designer_Forbid_Drag_into_Adapt_Pane=\uD574\uB2F9\uAC1D\uCCB4\uB294\uD3FC\uD14C\uC774\uBE14\uBC14\uB514\uB4DC\uB798\uADF8\uB97C\uD5C8\uC6A9\uD558\uC9C0\uC54A\uC2B5\uB2C8\uB2E4. @@ -459,43 +459,11 @@ FR-Designer-DS-Database_Query=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uCC3E\uC544\u FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql -FR-Designer_Event=\ -FR-Designer_Properties=\uFFFD -FR-Designer_Export_failed=\uB0B4\uBCF4\uB0B4\uAE30\uC2E4\uD328 -FR-Designer_Exported_successfully=\uB0B4\uBCF4\uB0B4\uAE30\uC131\uACF5 -FR-Designer_Exporting=\uB0B4\uBCF4\uB0B4\uAE30\uC911 -FR-Designer_Export-PDF=PDF\uC11C\uC2DDFR-Designer_Properties=\uFFFD -FR-Designer_Button_OK=\uD655\uC778FR-Designer_Button_Cancel=\uCDE8\uC18C -\uFFFD -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= - -FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCCAB\uBC88\uC9F8\uD589\uB450\uBC88\uC9F8\uC5F4\uC758\uB370\uC774\uD130\uB97C\uC785\uB825\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. -FR-Designer_FormulaPane_Variables=\uBCC0\uC218 -FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 -FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D -FR-Designer_FormulaPane_Search=\uAC80\uC0C9 -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= - -FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 -FR-Designer_Description_panel=\uC124\uBA85 -FR-Designer_Edit_panel=\uD3B8\uC9D1 -FR-Designer_Property_panel=\uC18D\uC131 -FR-Designer_Select_panel=\uC120\uD0DD \ No newline at end of file +FR-Designer_Event= +FR-Designer_Properties= +FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 +FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Button_OK=\uD655\uC778 +FR-Designer_Button_Cancel=\uCDE8\uC18C \ No newline at end of file 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 4a67bea211..7f3817bce6 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 @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u5173\u95ED\u5176\u4ED6\u6A21\u677F FR-Designer_File=\u6587\u4EF6 FR-Designer_Filter_Conditions=\u8FC7\u6EE4\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u5E76\u5206\u4EAB -FR-Designer_Fit=\u81EA\u9002\u5E94 +FR-Designer_Fit-App=App\u81EA\u9002\u5E94 FR-Designer_Font-Family=\u5B57\u4F53\u540D\u79F0 FR-Designer_Font-Size=\u5B57\u4F53\u5927\u5C0F FR-Designer_Forbid_Drag_into_Adapt_Pane=\u8BE5\u5BF9\u8C61\u4E0D\u5141\u8BB8\u62D6\u5165\u8868\u5355\u4E3B\u4F53 @@ -358,6 +358,7 @@ FR-Designer_KeyPoint=\u5173\u952E\u8282\u70B9 FR-Designer_loadedTreeModel=\u52A0\u8F7D\u5931\u8D25,\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 FR-Designer-Failed_to_load_the_plugin=\u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u8BF7\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8BF7\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u65E0\u6548\u9875\u7801 FR-Designer_Get-CubeGetting=\u83B7\u53D6cube FR-Designer_XMLA_Database=\u6570\u636E\u5E93 FR-Designer_XMLA_UserName=\u7528\u6237\u540D @@ -490,42 +491,9 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u4E49\u5206\u9875\u67E5\u FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 -FR-Designer_Export_failed=\u5BFC\u51FA\u5931\u8D25 -FR-Designer_Exported_successfully=\u5BFC\u51FA\u6210\u529F -FR-Designer_Exporting=\u6B63\u5728\u5BFC\u51FA -FR-Designer_Export-PDF=PDF\u683C\u5F0F -FR-Designer_Properties_Mobile=\u624B\u673A\u5C5E\u6027 +FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 +FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA FR-Designer_Button_OK=\u786E\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 -FR-Designer_JavaScript=JavaScript\u811A\u672C -FR-Designer_JavaScript_Form_Submit=\u8868\u5355\u63D0\u4EA4 -FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5E93 -FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u4E49 -FR-Designer_RWA_Submit=\u63D0\u4EA4 -FR-Designer_Event_Name=\u4E8B\u4EF6\u540D -FR-Designer_Event_Type=\u4E8B\u4EF6\u7C7B\u578B -FR-Designer_Event_Name_Type=\u4E8B\u4EF6\u540D\u5B57\u548C\u7C7B\u578B -FR-Designer_JavaScript_Set=JS\u8BBE\u7F6E -FR-Designer_Attribute=\u5C5E\u6027 -FR-Designer_Form_Editing_Listeners=\u4E8B\u4EF6\u7F16\u8F91 -FR-Designer_Form_Basic_Properties=\u57FA\u672C\u5C5E\u6027 -FR-Designer_DS_Dictionary=\u6570\u636E\u5B57\u5178 -FR-Designer_Create_Tree=\u6784\u5EFA\u6811 -FR-Designer_Set_Callback_Function=\u8BBE\u7F6E\u56DE\u8C03\u51FD\u6570 -FR-Designer_ConfirmDialog_Content=\u662F\u5426\u786E\u5B9A\u5220\u9664tab\u63A7\u4EF6 -FR-Designer_ConfirmDialog_Title=FineReport 8.0 - -FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u8FC7\u8F93\u5165B1\u6765\u5199\u5165\u7B2C\u4E00\u884C\u7B2C\u4E8C\u5217\u7684\u6570\u636E\u3002 -FR-Designer_FormulaPane_Variables=\u53D8\u91CF -FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8BF4\u660E -FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 -FR-Designer_FormulaPane_Search=\u641C\u7D22 -FR-Designer_Tab_carousel=tab\u8F6E\u64AD -FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD -FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 - -FR-Designer_ClassName_panel=\u7C7B\u540D -FR-Designer_Description_panel=\u63CF\u8FF0 -FR-Designer_Edit_panel=\u7F16\u8F91 -FR-Designer_Property_panel=\u5C5E\u6027 -FR-Designer_Select_panel=\u9009\u62E9 \ 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 96135a8254..0c35cd55ae 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 @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u95DC\u9589\u5176\u4ED6\u7BC4\u672C FR-Designer_File=\u6A94\u6848 FR-Designer_Filter_Conditions=\u904E\u6FFE\u689D\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u4E26\u5206\u4EAB -FR-Designer_Fit=\u81EA\u9069\u61C9 +FR-Designer_Fit-App=App\u81EA\u9069\u61C9 FR-Designer_Font-Family=\u5B57\u9AD4\u540D\u7A31 FR-Designer_Font-Size=\u5B57\u9AD4\u5927\u5C0F FR-Designer_Forbid_Drag_into_Adapt_Pane=\u8A72\u5C0D\u8C61\u4E0D\u5141\u8A31\u62D6\u5165\u8868\u55AE\u4E3B\u9AD4 @@ -357,6 +357,7 @@ FR-Designer_KeyPoint=\u95DC\u9375\u7BC0\u9EDE FR-Designer_loadedTreeModel=\u52A0\u8F09\u5931\u6557,\u8ACB\u6AA2\u67E5\u5F8C\u91CD\u8A66 FR-Designer-Failed_to_load_the_plugin=\u7121\u6CD5\u52A0\u8F09\u63D2\u4EF6\uFF0C\u8ACB\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8ACB\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u7121\u6548\u9801\u78BC FR-Designer_Get-CubeGetting=\u7372\u53D6cube FR-Designer_XMLA_Database=\u8CC7\u6599\u5EAB FR-Designer_XMLA_UserName=\u5E33\u865F @@ -478,42 +479,9 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u5206\u9801\u67E5\u FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 -FR-Designer_Export_failed=\u532F\u51FA\u5931\u6557 -FR-Designer_Exported_successfully=\u532F\u51FA\u6210\u529F -FR-Designer_Exporting=\u6B63\u5728\u532F\u51FA... -FR-Designer_Export-PDF=PDF\u683C\u5F0F -FR-Designer_Properties_Mobile=\u624B\u6A5F\u5C6C\u6027 +FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F +FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= - -FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\u5165B1\u4F86\u5BEB\u5165\u7B2C\u4E00\u5217\u7B2C\u4E8C\u6B04\u7684\u8CC7\u6599\u3002 -FR-Designer_FormulaPane_Variables=\u8B8A\u91CF -FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E -FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 -FR-Designer_FormulaPane_Search=\u641C\u7D22 -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= - -FR-Designer_ClassName_panel=\u985E\u540D -FR-Designer_Description_panel=\u63CF\u8FF0 -FR-Designer_Edit_panel=\u7DE8\u8F2F -FR-Designer_Property_panel=\u5C6C\u6027 -FR-Designer_Select_panel=\u9078\u64C7 \ No newline at end of file From 2169ef5cf934e5fbd589eb5780cb30aff2502f43 Mon Sep 17 00:00:00 2001 From: neil Date: Mon, 23 Jan 2017 14:30:19 +0800 Subject: [PATCH 059/104] ct --- .../com/fr/design/style/color/ColorPicker.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/designer_base/src/com/fr/design/style/color/ColorPicker.java b/designer_base/src/com/fr/design/style/color/ColorPicker.java index 8807e1f402..e616e08af7 100644 --- a/designer_base/src/com/fr/design/style/color/ColorPicker.java +++ b/designer_base/src/com/fr/design/style/color/ColorPicker.java @@ -32,6 +32,7 @@ public class ColorPicker extends JDialog implements ActionListener private ColorSelectable colorSelectable; private Point mousePos; // 鼠标的绝对坐标 private Color colorToSet; // 暂存要设置的颜色值 + private Color initColor; // 保存初始颜色。实时模式下,如果取消取色操作,则重设为初始颜色 private Boolean setColorRealTime; // 实时设定颜色值 @@ -66,6 +67,7 @@ public class ColorPicker extends JDialog implements ActionListener // 如果要求实时变化,确保先关闭弹窗,再截屏 // 主要针对"图案"选项卡中的"前景"、"背景" if (this.setColorRealTime) { + initColor = colorSelectable.getColor(); colorSelectable.setColor(Color.WHITE); // setColor 可以关闭弹窗 try { Thread.sleep(100); // 等待弹窗关闭 @@ -110,10 +112,10 @@ public class ColorPicker extends JDialog implements ActionListener validate(); // 更新所有子控件 } - public void pickComplete(boolean setColor) { + public void pickComplete(Color color) { timer.stop(); - if (setColor) { - colorSelectable.setColor(colorToSet); + if (color != null) { + colorSelectable.setColor(color); } this.dispose(); } @@ -127,8 +129,13 @@ public class ColorPicker extends JDialog implements ActionListener private class MouseFunctions extends MouseAdapter { - public void mousePressed(MouseEvent e) { - pickComplete(e.getButton() == e.BUTTON1); // 左键确定 + public void mousePressed(MouseEvent e) + { + if (e.getButton() == e.BUTTON1) { // 左键确定 + pickComplete(colorToSet); + } else { + pickComplete(setColorRealTime ? initColor : null); + } } } } From fb6e4806564957f5cedc93a83d37c76d93f92f5f Mon Sep 17 00:00:00 2001 From: neil Date: Mon, 23 Jan 2017 15:54:44 +0800 Subject: [PATCH 060/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=20=E5=86=B2=E7=AA=81=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/locale/designer.properties | 36 ++++++++++++++++++ .../design/locale/designer_en_US.properties | 37 +++++++++++++++++++ .../design/locale/designer_ja_JP.properties | 30 +++++++++++++++ .../design/locale/designer_ko_KR.properties | 34 ++++++++++++++++- .../design/locale/designer_zh_CN.properties | 32 ++++++++++++++++ .../design/locale/designer_zh_TW.properties | 32 ++++++++++++++++ .../fr/design/style/color/ColorPicker.java | 24 +++++------- 7 files changed, 210 insertions(+), 15 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index b4e21619fc..40a88a2494 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -492,5 +492,41 @@ FR-Designer_Permissions_Edition=Permissions Edition FR-Designer_Export_Excel_Page=Page FR-Designer_Export_Excel_Simple=Simple FR-Designer_Export_Excel_PageToSheet=Page To Sheet +FR-Designer_Export_failed=Export failed +FR-Designer_Exported_successfully=Exported successfully +FR-Designer_Exporting=Exporting +FR-Designer_Export-PDF=PDF FR-Designer_Button_OK=OK FR-Designer_Button_Cancel=Cancel +FR-Designer_JavaScript= +FR-Designer_JavaScript_Form_Submit= +FR-Designer_JavaScript_Commit_to_Database= +FR-Designer_JavaScript_Custom= +FR-Designer_RWA_Submit= +FR-Designer_Event_Name= +FR-Designer_Event_Type= +FR-Designer_Event_Name_Type= +FR-Designer_JavaScript_Set= +FR-Designer_Attribute= +FR-Designer_Form_Editing_Listeners= +FR-Designer_Form_Basic_Properties= +FR-Designer_DS_Dictionary= +FR-Designer_Create_Tree= +FR-Designer_Set_Callback_Function= +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=Tips\:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column +FR-Designer_FormulaPane_Variables=Variables +FR-Designer_FormulaPane_Formula_Description=Formula_Description +FR-Designer_FormulaPane_Function_Detail=Function Detail +FR-Designer_FormulaPane_Search=Search +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=ClassName +FR-Designer_Description_panel=Description +FR-Designer_Edit_panel=Edit +FR-Designer_Property_panel=Property +FR-Designer_Select_panel=Select 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 7cac6d6913..b427e4501f 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 @@ -492,5 +492,42 @@ FR-Designer_Permission_Edition=Permissions Edition FR-Designer_Export_Excel_Page=Page Break FR-Designer_Export_Excel_Simple=Original FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet +FR-Designer_Export_failed=Export failed +FR-Designer_Exported_successfully=Exported successfully +FR-Designer_Exporting=Exporting +FR-Designer_Export-PDF=PDF +FR-Designer_Properties_Mobile=MobileProperties FR-Designer_Button_OK=OK FR-Designer_Button_Cancel=Cancel +FR-Designer_JavaScript=JavaScript +FR-Designer_JavaScript_Form_Submit=Form Submit +FR-Designer_JavaScript_Commit_to_Database=Commit to DB +FR-Designer_JavaScript_Custom=Custom +FR-Designer_RWA_Submit=Submit +FR-Designer_Event_Name=Event Name +FR-Designer_Event_Type=Event Type +FR-Designer_Event_Name_Type=Event Name and Type +FR-Designer_JavaScript_Set=JavaScript Set +FR-Designer_Attribute=Attribute +FR-Designer_Form_Editing_Listeners=Event editing +FR-Designer_Form_Basic_Properties=Basic Property +FR-Designer_DS_Dictionary=Data Dictionary +FR-Designer_Create_Tree=Build Tree +FR-Designer_Set_Callback_Function=Set Callback Function +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=Tips\:You can input B1 to get the data in the second cell of the first row +FR-Designer_FormulaPane_Variables=Variables +FR-Designer_FormulaPane_Formula_Description=Formula Description +FR-Designer_FormulaPane_Function_Detail=Function Detail +FR-Designer_FormulaPane_Search=Search +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval=Interval + +FR-Designer_ClassName_panel=Class Name +FR-Designer_Description_panel=Description +FR-Designer_Edit_panel=Edit +FR-Designer_Property_panel=Property +FR-Designer_Select_panel=Sel 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 aac51bae80..2ab4f557a4 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 @@ -471,3 +471,33 @@ FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB +FR-Designer_JavaScript=JavaScript +FR-Designer_JavaScript_Form_Submit=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u66F8\u304D\u8FBC\u307F +FR-Designer_JavaScript_Commit_to_Database=DB\u306B\u66F8\u304D\u8FBC\u307F +FR-Designer_JavaScript_Custom=\u30AB\u30B9\u30BF\u30E0 +FR-Designer_RWA_Submit=\u66F8\u304D\u8FBC\u307F +FR-Designer_Event_Name=\u30A4\u30D9\u30F3\u30C8\u540D +FR-Designer_Event_Type=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7 +FR-Designer_Event_Name_Type=\u30A4\u30D9\u30F3\u30C8\u540D\u3068\u30BF\u30A4\u30D7 +FR-Designer_JavaScript_Set=JS\u8A2D\u5B9A +FR-Designer_Attribute=\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_Form_Editing_Listeners=\u30A4\u30D9\u30F3\u30C8\u7DE8\u96C6 +FR-Designer_Form_Basic_Properties=\u57FA\u672C\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_DS_Dictionary=\u30C7\u30FC\u30BF\u8F9E\u66F8 +FR-Designer_Create_Tree=\u30C4\u30EA\u30FC\u69CB\u7BC9 +FR-Designer_Set_Callback_Function=\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u95A2\u6570\u8A2D\u5B9A +FR-Designer_ConfirmDialog_Content=tab\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B +FR-Designer_ConfirmDialog_Title=FineReport 8.0 +FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B +FR-Designer_FormulaPane_Variables=\u5909\u6570 +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E +FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 +FR-Designer_FormulaPane_Search=\u691C\u7D22 +FR-Designer_Tab_carousel=tab\u30AB\u30EB\u30FC\u30BB\u30EB +FR-Designer_setCarousel=\u30AB\u30EB\u30FC\u30BB\u30EB\u30AA\u30F3 +FR-Designer_carouselInterval=\u30AB\u30EB\u30FC\u30BB\u30EB\u9593\u9694 +FR-Designer_ClassName_panel=\u985E\u540D +FR-Designer_Description_panel=\u8A18\u8FF0 +FR-Designer_Edit_panel=\u7DE8\u96C6 +FR-Designer_Property_panel=\u5C5E\u6027 +FR-Designer_Select_panel=\u9078\u629E 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 b19fdfc37c..87d64367ca 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 @@ -466,4 +466,36 @@ FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\u FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 FR-Designer_Button_OK=\uD655\uC778 -FR-Designer_Button_Cancel=\uCDE8\uC18C \ No newline at end of file +FR-Designer_Button_Cancel=\uCDE8\uC18C +FR-Designer_JavaScript= +FR-Designer_JavaScript_Form_Submit= +FR-Designer_JavaScript_Commit_to_Database= +FR-Designer_JavaScript_Custom= +FR-Designer_RWA_Submit= +FR-Designer_Event_Name= +FR-Designer_Event_Type= +FR-Designer_Event_Name_Type= +FR-Designer_JavaScript_Set= +FR-Designer_Attribute= +FR-Designer_Form_Editing_Listeners= +FR-Designer_Form_Basic_Properties= +FR-Designer_DS_Dictionary= +FR-Designer_Create_Tree= +FR-Designer_Set_Callback_Function= +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCCAB\uBC88\uC9F8\uD589\uB450\uBC88\uC9F8\uC5F4\uC758\uB370\uC774\uD130\uB97C\uC785\uB825\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. +FR-Designer_FormulaPane_Variables=\uBCC0\uC218 +FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 +FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D +FR-Designer_FormulaPane_Search=\uAC80\uC0C9 +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 +FR-Designer_Description_panel=\uC124\uBA85 +FR-Designer_Edit_panel=\uD3B8\uC9D1 +FR-Designer_Property_panel=\uC18D\uC131 +FR-Designer_Select_panel=\uC120\uD0DD \ No newline at end of file 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 7f3817bce6..3435887789 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 @@ -497,3 +497,35 @@ FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA FR-Designer_Button_OK=\u786E\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 +FR-Designer_JavaScript=JavaScript\u811A\u672C +FR-Designer_JavaScript_Form_Submit=\u8868\u5355\u63D0\u4EA4 +FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5E93 +FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u4E49 +FR-Designer_RWA_Submit=\u63D0\u4EA4 +FR-Designer_Event_Name=\u4E8B\u4EF6\u540D +FR-Designer_Event_Type=\u4E8B\u4EF6\u7C7B\u578B +FR-Designer_Event_Name_Type=\u4E8B\u4EF6\u540D\u5B57\u548C\u7C7B\u578B +FR-Designer_JavaScript_Set=JS\u8BBE\u7F6E +FR-Designer_Attribute=\u5C5E\u6027 +FR-Designer_Form_Editing_Listeners=\u4E8B\u4EF6\u7F16\u8F91 +FR-Designer_Form_Basic_Properties=\u57FA\u672C\u5C5E\u6027 +FR-Designer_DS_Dictionary=\u6570\u636E\u5B57\u5178 +FR-Designer_Create_Tree=\u6784\u5EFA\u6811 +FR-Designer_Set_Callback_Function=\u8BBE\u7F6E\u56DE\u8C03\u51FD\u6570 +FR-Designer_ConfirmDialog_Content=\u662F\u5426\u786E\u5B9A\u5220\u9664tab\u63A7\u4EF6 +FR-Designer_ConfirmDialog_Title=FineReport 8.0 + +FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u8FC7\u8F93\u5165B1\u6765\u5199\u5165\u7B2C\u4E00\u884C\u7B2C\u4E8C\u5217\u7684\u6570\u636E\u3002 +FR-Designer_FormulaPane_Variables=\u53D8\u91CF +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8BF4\u660E +FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 +FR-Designer_FormulaPane_Search=\u641C\u7D22 +FR-Designer_Tab_carousel=tab\u8F6E\u64AD +FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD +FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 + +FR-Designer_ClassName_panel=\u7C7B\u540D +FR-Designer_Description_panel=\u63CF\u8FF0 +FR-Designer_Edit_panel=\u7F16\u8F91 +FR-Designer_Property_panel=\u5C5E\u6027 +FR-Designer_Select_panel=\u9009\u62E9 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 0c35cd55ae..5d1145a2fb 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 @@ -485,3 +485,35 @@ FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 +FR-Designer_JavaScript= +FR-Designer_JavaScript_Form_Submit= +FR-Designer_JavaScript_Commit_to_Database= +FR-Designer_JavaScript_Custom= +FR-Designer_RWA_Submit= +FR-Designer_Event_Name= +FR-Designer_Event_Type= +FR-Designer_Event_Name_Type= +FR-Designer_JavaScript_Set= +FR-Designer_Attribute= +FR-Designer_Form_Editing_Listeners= +FR-Designer_Form_Basic_Properties= +FR-Designer_DS_Dictionary= +FR-Designer_Create_Tree= +FR-Designer_Set_Callback_Function= +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\u5165B1\u4F86\u5BEB\u5165\u7B2C\u4E00\u5217\u7B2C\u4E8C\u6B04\u7684\u8CC7\u6599\u3002 +FR-Designer_FormulaPane_Variables=\u8B8A\u91CF +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E +FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 +FR-Designer_FormulaPane_Search=\u641C\u7D22 +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=\u985E\u540D +FR-Designer_Description_panel=\u63CF\u8FF0 +FR-Designer_Edit_panel=\u7DE8\u8F2F +FR-Designer_Property_panel=\u5C6C\u6027 +FR-Designer_Select_panel=\u9078\u64C7 diff --git a/designer_base/src/com/fr/design/style/color/ColorPicker.java b/designer_base/src/com/fr/design/style/color/ColorPicker.java index e616e08af7..e919686759 100644 --- a/designer_base/src/com/fr/design/style/color/ColorPicker.java +++ b/designer_base/src/com/fr/design/style/color/ColorPicker.java @@ -7,11 +7,14 @@ package com.fr.design.style.color; import com.fr.base.BaseUtils; import com.fr.general.FRLogger; +import javax.swing.*; import java.awt.*; -import java.awt.event.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.awt.geom.Ellipse2D; import java.awt.image.BufferedImage; -import javax.swing.*; /** * 取色框 @@ -32,7 +35,6 @@ public class ColorPicker extends JDialog implements ActionListener private ColorSelectable colorSelectable; private Point mousePos; // 鼠标的绝对坐标 private Color colorToSet; // 暂存要设置的颜色值 - private Color initColor; // 保存初始颜色。实时模式下,如果取消取色操作,则重设为初始颜色 private Boolean setColorRealTime; // 实时设定颜色值 @@ -67,7 +69,6 @@ public class ColorPicker extends JDialog implements ActionListener // 如果要求实时变化,确保先关闭弹窗,再截屏 // 主要针对"图案"选项卡中的"前景"、"背景" if (this.setColorRealTime) { - initColor = colorSelectable.getColor(); colorSelectable.setColor(Color.WHITE); // setColor 可以关闭弹窗 try { Thread.sleep(100); // 等待弹窗关闭 @@ -112,10 +113,10 @@ public class ColorPicker extends JDialog implements ActionListener validate(); // 更新所有子控件 } - public void pickComplete(Color color) { + public void pickComplete(boolean setColor) { timer.stop(); - if (color != null) { - colorSelectable.setColor(color); + if (setColor) { + colorSelectable.setColor(colorToSet); } this.dispose(); } @@ -129,13 +130,8 @@ public class ColorPicker extends JDialog implements ActionListener private class MouseFunctions extends MouseAdapter { - public void mousePressed(MouseEvent e) - { - if (e.getButton() == e.BUTTON1) { // 左键确定 - pickComplete(colorToSet); - } else { - pickComplete(setColorRealTime ? initColor : null); - } + public void mousePressed(MouseEvent e) { + pickComplete(e.getButton() == e.BUTTON1); // 左键确定 } } } From 925a72e781b76bbd1413e85893e88a5aa18bc016 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 23 Jan 2017 17:37:04 +0800 Subject: [PATCH 061/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E3=80=82=E5=9B=BD=E9=99=85=E5=8C=96key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/locale/designer.properties | 16 ++++++++++++ .../design/locale/designer_en_US.properties | 20 ++++++++++++-- .../design/locale/designer_ja_JP.properties | 17 +++++++++++- .../design/locale/designer_ko_KR.properties | 26 +++++++++++++++---- .../design/locale/designer_zh_CN.properties | 18 ++++++++++++- .../design/locale/designer_zh_TW.properties | 18 ++++++++++++- 6 files changed, 105 insertions(+), 10 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 1c4173c68a..52708104d9 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -525,3 +525,19 @@ FR-Designer_Description_panel=Description FR-Designer_Edit_panel=Edit FR-Designer_Property_panel=Property FR-Designer_Select_panel=Select + +FR-Designer_LayoutTable_Column_Width=160 +FR-Designer_Set_BG_Of_Current_Row=Set BG of the row being edited +FR-Designer_Unload_Check=Prompt users when leave without submitting +FR-Designer_ReportColumns_Columns_Optional= +FR-Designer_Row_Icon_File_Name=row.png +FR-Designer_Center_Display=Center +FR-Designer_Left_Display=Left +FR-Designer_About_Version=Version +FR-Designer_About_CopyRight=Copy Right +FR-Designer_Service_Phone=Service Phone +FR-Designer_Allow_Blank=Allow Blank +FR-Designer_PageSetup_Page=Page +FR-Designer_Custom_Job_Description=Description +FR-Designer_Property=Property +FR-Designer_ClassName=Class Name 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 98d1a96d8f..82f3d81b1b 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 @@ -181,7 +181,7 @@ FR-Designer_Support_QQ=Support online FR-Designer_Swatch=Swatch FR-Designer_Tab_title=Tab title FR-Designer_TableData=Data set -FR-Designer_Thank_guest=Special Thanks +FR-Designer_Thank_guest=Special thanks to FR-Designer_Thanks-To=Thanks FR-Designer_Title=Title FR-Designer_Total=Total @@ -524,4 +524,20 @@ FR-Designer_ClassName_panel=Class Name FR-Designer_Description_panel=Description FR-Designer_Edit_panel=Edit FR-Designer_Property_panel=Property -FR-Designer_Select_panel=Sel \ No newline at end of file +FR-Designer_Select_panel=Sel + +FR-Designer_LayoutTable_Column_Width=250 +FR-Designer_Set_BG_Of_Current_Row=Set BG of the row being edited +FR-Designer_Unload_Check=Prompt users when leave without submitting +FR-Designer_ReportColumns_Columns_Optional=\u3000 +FR-Designer_Row_Icon_File_Name=row_en.png +FR-Designer_Center_Display=Center +FR-Designer_Left_Display=Left +FR-Designer_About_Version=Version +FR-Designer_About_CopyRight=Copy Right +FR-Designer_Service_Phone=Service Phone +FR-Designer_Allow_Blank=Allow Null +FR-Designer_PageSetup_Page=Page +FR-Designer_Custom_Job_Description=Description +FR-Designer_Property=Property +FR-Designer_ClassName=Class Name \ 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 a6ccf3d329..42ccf96e89 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 @@ -499,4 +499,19 @@ FR-Designer_ClassName_panel=\u985E\u540D FR-Designer_Description_panel=\u8A18\u8FF0 FR-Designer_Edit_panel=\u7DE8\u96C6 FR-Designer_Property_panel=\u5C5E\u6027 -FR-Designer_Select_panel=\u9078\u629E \ No newline at end of file +FR-Designer_Select_panel=\u9078\u629E +FR-Designer_LayoutTable_Column_Width=160 +FR-Designer_Set_BG_Of_Current_Row=\u5831\u544A\u30AB\u30EC\u30F3\u30C8\u7DE8\u96C6\u884C\u80CC\u666F\u8A2D\u5B9A +FR-Designer_Unload_Check=\u63D0\u51FA\u305B\u305A\u306B\u30D2\u30F3\u30C8 +FR-Designer_ReportColumns_Columns_Optional=\u6BB5\u7D44\u307F +FR-Designer_Row_Icon_File_Name=row.png +FR-Designer_Center_Display=\u4E2D\u592E\u63C3\u3048\u8868\u793A +FR-Designer_Left_Display=\u5DE6\u8868\u793A +FR-Designer_About_Version=\u30D0\u30FC\u30B8\u30E7\u30F3 +FR-Designer_About_CopyRight=\u8457\u4F5C\u6A29\u6240\u6709 +FR-Designer_Service_Phone=\u30B5\u30FC\u30D3\u30B9\u96FB\u8A71\uFF1A +FR-Designer_Allow_Blank=\u7A7A\u6B04\u3042\u308A +FR-Designer_PageSetup_Page=\u30DA\u30FC\u30B8 +FR-Designer_Custom_Job_Description=\u8A18\u8FF0 +FR-Designer_Property=\u5C5E\u6027 +FR-Designer_ClassName=\u985E\u540D 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 be6576cc9b..7fb438f1e8 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 @@ -459,14 +459,14 @@ FR-Designer-DS-Database_Query=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uCC3E\uC544\u FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql -FR-Designer_Event=\ +FR-Designer_Event= FR-Designer_Properties=\uFFFD FR-Designer_Export_failed=\uB0B4\uBCF4\uB0B4\uAE30\uC2E4\uD328 FR-Designer_Exported_successfully=\uB0B4\uBCF4\uB0B4\uAE30\uC131\uACF5 FR-Designer_Exporting=\uB0B4\uBCF4\uB0B4\uAE30\uC911 -FR-Designer_Export-PDF=PDF\uC11C\uC2DDFR-Designer_Properties=\uFFFD -FR-Designer_Button_OK=\uD655\uC778FR-Designer_Button_Cancel=\uCDE8\uC18C -\uFFFD +FR-Designer_Export-PDF=PDF\uC11C\uC2DD +FR-Designer_Button_OK=\uD655\uC778 +FR-Designer_Button_Cancel=\uCDE8\uC18C FR-Designer_JavaScript= FR-Designer_JavaScript_Form_Submit= FR-Designer_JavaScript_Commit_to_Database= @@ -498,4 +498,20 @@ FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 FR-Designer_Description_panel=\uC124\uBA85 FR-Designer_Edit_panel=\uD3B8\uC9D1 FR-Designer_Property_panel=\uC18D\uC131 -FR-Designer_Select_panel=\uC120\uD0DD \ No newline at end of file +FR-Designer_Select_panel=\uC120\uD0DD + +FR-Designer_LayoutTable_Column_Width=160 +FR-Designer_Set_BG_Of_Current_Row=\uAE30\uC785\uD604\uC7AC\uD3B8\uC9D1\uD589\uBC30\uACBD\uC124\uC815 +FR-Designer_Unload_Check=\uBBF8\uC81C\uCD9C\uB098\uAC14\uC74C\uC54C\uB9BC +FR-Designer_ReportColumns_Columns_Optional=\uC140\uB098\uB204\uAE30 +FR-Designer_Row_Icon_File_Name=row.png +FR-Designer_Center_Display=\uAC00\uC6B4\uB370\uC815\uB82C\uBCF4\uC774\uAE30 +FR-Designer_Left_Display=\uC67C\uCABD\uBCF4\uC774\uAE30 +FR-Designer_About_Version=\uBC84\uC804 +FR-Designer_About_CopyRight=\uD310\uAD8C\uC18C\uC720 +FR-Designer_Service_Phone=\uC11C\uBE44\uC2A4\uC804\uD654\uFF1A +FR-Designer_Allow_Blank=\uBE48\uCE78\uD5C8\uC6A9 +FR-Designer_PageSetup_Page=\uC6F9\uD398\uC774\uC9C0 +FR-Designer_Custom_Job_Description=\uC124\uBA85 +FR-Designer_Property=\uC18D\uC131 +FR-Designer_ClassName=\uD074\uB798\uC2A4\uB124\uC784 \ No newline at end of file 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 4a67bea211..58f3c744a7 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 @@ -528,4 +528,20 @@ FR-Designer_ClassName_panel=\u7C7B\u540D FR-Designer_Description_panel=\u63CF\u8FF0 FR-Designer_Edit_panel=\u7F16\u8F91 FR-Designer_Property_panel=\u5C5E\u6027 -FR-Designer_Select_panel=\u9009\u62E9 \ No newline at end of file +FR-Designer_Select_panel=\u9009\u62E9 + +FR-Designer_LayoutTable_Column_Width=160 +FR-Designer_Set_BG_Of_Current_Row=\u586B\u62A5\u5F53\u524D\u7F16\u8F91\u884C\u80CC\u666F\u8BBE\u7F6E +FR-Designer_Unload_Check=\u672A\u63D0\u4EA4\u79BB\u5F00\u63D0\u793A +FR-Designer_ReportColumns_Columns_Optional=\u5206\u680F +FR-Designer_Row_Icon_File_Name=row.png +FR-Designer_Center_Display=\u5C45\u4E2D\u5C55\u793A +FR-Designer_Left_Display=\u5DE6\u5C55\u793A +FR-Designer_About_Version=\u7248\u672C +FR-Designer_About_CopyRight=\u7248\u6743\u6240\u6709 +FR-Designer_Service_Phone=\u670D\u52A1\u7535\u8BDD\uFF1A +FR-Designer_Allow_Blank=\u5141\u8BB8\u4E3A\u7A7A +FR-Designer_PageSetup_Page=\u9875\u9762 +FR-Designer_Custom_Job_Description=\u63CF\u8FF0 +FR-Designer_Property=\u5C5E\u6027 +FR-Designer_ClassName=\u7C7B\u540D 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 96135a8254..f2c6e259a7 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 @@ -516,4 +516,20 @@ FR-Designer_ClassName_panel=\u985E\u540D FR-Designer_Description_panel=\u63CF\u8FF0 FR-Designer_Edit_panel=\u7DE8\u8F2F FR-Designer_Property_panel=\u5C6C\u6027 -FR-Designer_Select_panel=\u9078\u64C7 \ No newline at end of file +FR-Designer_Select_panel=\u9078\u64C7 + +FR-Designer_LayoutTable_Column_Width=160 +FR-Designer_Set_BG_Of_Current_Row=\u586B\u5831\u7576\u524D\u7DE8\u8F2F\u5217\u80CC\u666F\u8A2D\u5B9A +FR-Designer_Unload_Check=\u672A\u63D0\u4EA4\u96E2\u958B\u63D0\u793A +FR-Designer_ReportColumns_Columns_Optional=\u5831\u8868\u6B04\u4F4D +FR-Designer_Row_Icon_File_Name=row.png +FR-Designer_Center_Display=\u7F6E\u4E2D\u986F\u793A +FR-Designer_Left_Display=\u5DE6\u986F\u793A +FR-Designer_About_Version=\u7248\u672C +FR-Designer_About_CopyRight=\u7248\u6B0A\u6240\u6709 +FR-Designer_Service_Phone=\u670D\u52D9\u96FB\u8A71\uFF1A +FR-Designer_Allow_Blank=\u5141\u8A31\u70BA\u7A7A\u767D +FR-Designer_PageSetup_Page=\u9801\u9762 +FR-Designer_Custom_Job_Description=\u63CF\u8FF0 +FR-Designer_Property=\u5C6C\u6027 +FR-Designer_ClassName=\u985E\u540D \ No newline at end of file From f9853011d43869ed6eca3e8c4a9c97b5ff3875d3 Mon Sep 17 00:00:00 2001 From: unknown <李晓丽> Date: Tue, 24 Jan 2017 10:13:00 +0800 Subject: [PATCH 062/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/locale/designer_zh_TW.properties | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) 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 96135a8254..dc90ecb45c 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 @@ -451,12 +451,12 @@ FR-Designer-QQLogin-Determine=\u78BA\u5B9A FR-Designer-QQLogin-Cancel=\u53D6\u6D88 FR-Designer-Reuse_Manager=\u7D44\u4EF6\u7BA1\u7406 FR-Designer_TableData-Default-Para=\u6578\u64DA\u96C6\u9ED8\u8A8D\u53C3\u6578 -FR-Designer_Layout_Block_Absolute= -FR-Designer_Layout_Block_Tab= -FR-Designer_Layout_Block_Blank= -FR-Designer_Attr_Layout= -FR-Designer_Attr_Layout_Type= -FR-Designer_Attr_Bidirectional_Adaptive= +FR-Designer_Layout_Block_Absolute=\u7D55\u5C0D\u756B\u5E03\u584A +FR-Designer_Layout_Block_Tab=Tab\u584A +FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u584A +FR-Designer_Attr_Layout=\u4F48\u5C40 +FR-Designer_Attr_Layout_Type=\u4F48\u5C40\u65B9\u5F0F +FR-Designer_Attr_Bidirectional_Adaptive=\u96D9\u5411\u81EA\u9069\u61C9 FR-Designer_Mobile-Refresh=\u5237\u65B0 FR-Designer_Mobile-ToolBar=\u5DE5\u5177\u6B04 FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u5E03\u5C40\uFF0C\u53EF\u4EE5\u5728\u5E03\u5C40\u5167\u4EFB\u610F\u4F4D\u7F6E\u65B0\u589E\u63A7\u5236\u9805 @@ -485,32 +485,32 @@ FR-Designer_Export-PDF=PDF\u683C\u5F0F FR-Designer_Properties_Mobile=\u624B\u6A5F\u5C6C\u6027 FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= +FR-Designer_JavaScript=JavaScript\u8173\u672C +FR-Designer_JavaScript_Form_Submit=\u8868\u55AE\u63D0\u4EA4 +FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5EAB +FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u7FA9 +FR-Designer_RWA_Submit=\u63D0\u4EA4 +FR-Designer_Event_Name=\u4E8B\u4EF6\u540D +FR-Designer_Event_Type=\u4E8B\u4EF6\u985E\u578B +FR-Designer_Event_Name_Type=\u4E8B\u4EF6\u540D\u5B57\u548C\u985E\u578B +FR-Designer_JavaScript_Set=JS\u8A2D\u7F6E +FR-Designer_Attribute=\u5C6C\u6027 +FR-Designer_Form_Editing_Listeners=\u4E8B\u4EF6\u7DE8\u8F2F +FR-Designer_Form_Basic_Properties=\u57FA\u672C\u5C6C\u6027 +FR-Designer_DS_Dictionary=\u6578\u64DA\u5B57\u5178 +FR-Designer_Create_Tree=\u69CB\u5EFA\u6A39 +FR-Designer_Set_Callback_Function=\u8A2D\u7F6E\u56DE\u8ABF\u51FD\u6578 +FR-Designer_ConfirmDialog_Content=\u662F\u5426\u78BA\u5B9A\u522A\u9664TAB\u63A7\u4EF6 +FR-Designer_ConfirmDialog_Title=FineReport 8.0 FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\u5165B1\u4F86\u5BEB\u5165\u7B2C\u4E00\u5217\u7B2C\u4E8C\u6B04\u7684\u8CC7\u6599\u3002 FR-Designer_FormulaPane_Variables=\u8B8A\u91CF FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 FR-Designer_FormulaPane_Search=\u641C\u7D22 -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= +FR-Designer_Tab_carousel=Tab\u8F2A\u64AD +FR-Designer_setCarousel=\u958B\u555F\u8F2A\u64AD +FR-Designer_carouselInterval=\u8F2A\u64AD\u9593\u9694 FR-Designer_ClassName_panel=\u985E\u540D FR-Designer_Description_panel=\u63CF\u8FF0 From ef6af3b33eaf8cfa818499f9ad3ae3275adbd271 Mon Sep 17 00:00:00 2001 From: wanling wang Date: Tue, 7 Feb 2017 13:50:54 +0800 Subject: [PATCH 063/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ .../design/locale/designer_ja_JP.properties | 20 +++++++++---------- .../design/locale/designer_ko_KR.properties | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index a9c6c2320c..57a3eb00a7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,7 @@ designer_base/bin designer_chart/bin designer_form/bin *.iml +designer_base/src/com/fr/design/locale/.idea/ + 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 a6ccf3d329..8b0473c52a 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 @@ -222,7 +222,7 @@ FR-Designer-StyleAlignment_Style_Indentation=\u30A4\u30F3\u30C7\u30F3\u30C8 FR-Designer-StyleAlignment_Style_Spacing=\u9593\u9694\u8DDD\u96E2 FR-Designer-StyleAlignment_Style_Alignment=\u63C3\u3048 FR-Designer-CommitTab_Submit=\u63D0\u51FA\u3059\u308B -FR-Designer-CommitTab_SureToDelete=Sure to delete +FR-Designer-CommitTab_SureToDelete=\u524A\u9664\u3057\u307E\u3059\u304B FR-Designer-CommitTab_Remove=\u524A\u9664 FR-Designer-Collect_Information_free=\u7121\u6599 FR-Designer-Collect_Information_Description=\u8A18\u8FF0 @@ -369,7 +369,7 @@ FR-Designer_LiteCondition_ConditionB-OR=\u30AA\u30A2(OR) FR-Designer_LiteCondition_Common_Condition=\u666E\u901A\u6761\u4EF6 FR-Designer_LiteCondition_Formula_Condition=\u516C\u5F0F\u6761\u4EF6 FR-Designer_LiteCondition_Define=\u5B9A\u7FA9 -FR-Designer_Select_All= +FR-Designer_Select_All=\u5168\u9078\u629E FR-Designer-Plugin_Expire_Dialog_Title=\u671F\u9650\u5207\u308C\u306E\u30D7\u30E9\u30B0\u30A4\u30F3 FR-Designer-Plugin_Expire_Dialog_Text=\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u3001\u8CFC\u5165\u3092\u3059\u308B\u305F\u3081\u306B\u5E06\u30BD\u30D5\u30C8\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30BB\u30F3\u30BF\u30FC\u3092\u884C\u304F\u3001\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059\u3002 FR-Designer-Plugin_Finerest_Addon=\u5E06\u8EDF\u5FDC\u7528\u30BB\u30F3\u30BF\u30FC @@ -407,10 +407,10 @@ FR-Designer_Current_Preview_Rows=\u73FE\u5728\u306E\u30D7\u30EC\u30D3\u30E5\u30F FR-Designer_Data=\u30C7\u30FC\u30BF FR-Designer_Error=\u30A8\u30E9\u30FC FR-Designer-Website_Url=http\://www.finereport.com/jp -FR-Designer_formDesignerModule= -FR-Designer-BBSLogin_Login-Title= -FR-Designer_Get-CubeGetting= -FR-Designer-BBSLogin_Download-Unlogin-Tip= +FR-Designer_formDesignerModule=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u30C7\u30B6\u30A4\u30CA\u30FC +FR-Designer-BBSLogin_Login-Title=BBS\u30ED\u30B0\u30A4\u30F3 +FR-Designer_Get-CubeGetting=cube\u53D6\u5F97 +FR-Designer-BBSLogin_Download-Unlogin-Tip=\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 FR-Designer-App_ReLayout=\u96FB\u8A71\u518D\u30EC\u30A4\u30A2\u30A6\u30C8 FR-Designer_Mobile-Attr=\u30E2\u30D0\u30A4\u30EB\u7AEF\u672B\u5C5E\u6027 FR-Designer_Mobile-Vertical=\u7E26 @@ -449,19 +449,19 @@ FR-Designer_Mobile-ToolBar=\u30C4\u30FC\u30EB\u30D0\u30FC FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u914D\u7F6E\u3067\u3059\u3002\u914D\u7F6E\u5185\u306E\u4EFB\u610F\u306E\u4F4D\u7F6E\u306B\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068 FR-Designer_Add_all=\u3059\u3079\u3066\u8FFD\u52A0 FR-Designer_Language_Change_Successful=\u65B0\u3057\u3044\u8A00\u8A9E\u306F\u518D\u8D77\u52D5\u5F8C\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 -FR-Designer_Template_Web_Attributes= +FR-Designer_Template_Web_Attributes=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30A6\u30A7\u30D6\u30D7\u30ED\u30D1\u30C6\u30A3 FR-Designer_Basic=\u57FA\u672C FR-Designer_Printers(Server)=\u30D7\u30EA\u30F3\u30BF\u30FC(\u30B5\u30FC\u30D0) FR-Designer_Pagination_Setting=\u30DA\u30FC\u30B8\u5225\u30D7\u30EC\u30D3\u30E5\u30FC\u8A2D\u5B9A -FR-Designer_Write_Setting=\u5831\u544A\u30DA\u30FC\u30B8\u8A2D\u5B9A +FR-Designer_Write_Setting=\u66F8\u304D\u8FBC\u307F\u30DA\u30FC\u30B8\u8A2D\u5B9A FR-Designer_Data_Analysis_Settings=\u30C7\u30FC\u30BF\u5206\u6790\u8A2D\u5B9A FR-Designer_Browser_Background=\u30D6\u30E9\u30A6\u30B6\u80CC\u666F FR-Designer_Import_Css=Css\u5F15\u7528 FR-Designer_Import_JavaScript=JavaScript\u5F15\u7528 FR-Designer-Datasource-Param_DES=  "${abc}"\u3092\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3068\u3057\u3066\u5165\u529B\u3067\u304D\u307E\u3059\u3002\u3053\u3053\u3067abc\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3002abc\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u4F8B\u3048\u3070
 select * from table where id\=${abc}\u3002
 select * from table where id\='${abc}'\u3002(\u3082\u3057id\u306F\u6587\u5B57\u5217\u306A\u3089)\uFFFD FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u30EA\u30FC -FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA -FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql +FR-Designer-LayerPageReport_PageQuery=\u6539\u30DA\u30FC\u30B8\u691C\u7D22 +FR-Designer-LayerPageReport_Define_PageQuerySQL=\u6539\u30DA\u30FC\u30B8\u691C\u7D22sql\u3092\u66F8\u304F FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 FR-Designer_Event=\u30A4\u30D9\u30F3\u30C8 FR-Designer_Properties=\u30D7\u30ED\u30D1\u30C6\u30A3 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 be6576cc9b..ec4facc2f7 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 @@ -445,7 +445,6 @@ FR-Designer_WLayout-Absolute-ToolTips=\uC790\uC720\uC2DD\uB808\uC774\uC544\uC6C3 FR-Designer_Add_all=\uBAA8\uB450\uCD94\uAC00 FR-Designer_Reset= FR-Designer_Language_Change_Successful= -FR-Designer_Template_Web_Attributes= FR-Designer_Basic=\uAE30\uBCF8 FR-Designer_Printers(Server)=\uD504\uB9B0\uD130(\uC11C\uBC84) FR-Designer_Pagination_Setting=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uBBF8\uB9AC\uBCF4\uAE30\uC124\uC815 @@ -498,4 +497,5 @@ FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 FR-Designer_Description_panel=\uC124\uBA85 FR-Designer_Edit_panel=\uD3B8\uC9D1 FR-Designer_Property_panel=\uC18D\uC131 -FR-Designer_Select_panel=\uC120\uD0DD \ No newline at end of file +FR-Designer_Select_panel=\uC120\uD0DD +FR-Designer_Template_Web_Attributes=\uD15C\uD50C\uB9BF \uC6F9 \uC18D\uC131 \ No newline at end of file From 66337fa78c347b88fabfa74f40e28c7dcc6f121e Mon Sep 17 00:00:00 2001 From: unknown <李晓丽> Date: Wed, 8 Feb 2017 09:53:31 +0800 Subject: [PATCH 064/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/designer.iml | 9 +++++---- .../fr/design/locale/designer_en_US.properties | 16 ++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/designer/designer.iml b/designer/designer.iml index 661dcd939d..eca9d8fcd7 100644 --- a/designer/designer.iml +++ b/designer/designer.iml @@ -1,13 +1,14 @@ - - + + - + - + + \ No newline at end of file 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 93bdf4c7b1..8d2ef4a743 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 @@ -73,8 +73,8 @@ FR-Designer_Button-Type=Button Type FR-Designer_CardLayout=TabLayout FR-Designer_Cell=cell FR-Designer_Chart_Cell=Chart Hyperlink-Link Cell -FR-Designer_Chart_Float=Chart Hyperlink-Floating Elements -FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating-window Chart +FR-Designer_Chart_Float=Chart Hyperlink-Floating Element +FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating Chart FR-Designer_Check-for-Updates=Check for Updates FR-Designer_Choose-Data-Confusion-Tip=\ Please Choose the field needed to be confused and then preview FR-Designer_Close=close @@ -118,7 +118,7 @@ FR-Designer_Get-CubeGetting cube= FR-Designer_Help=Help FR-Designer_Hide=Hide FR-Designer_Hyperlink=Hyperlink -FR-Designer_Hyperlink-Form_link=Current form object +FR-Designer_Hyperlink-Form_link=Current dashboard object FR-Designer_IDCard=IDCard FR-Designer_Icon=Icon FR-Designer_Index=index @@ -126,7 +126,7 @@ FR-Designer_Input_Rule=Input Rule FR-Designer_Language_Default=Default FR-Designer_Layout=Layout FR-Designer_Layout-HBox=Horizontal Box Layout -FR-Designer_Layout-Index=Layout Index +FR-Designer_Layout-Index=Index FR-Designer_Layout_Constraints=Layout Constraints FR-Designer_Length=Length FR-Designer_Loading_Data=Loading Data @@ -173,12 +173,12 @@ FR-Designer_Search=Search FR-Designer_Set=Set FR-Designer_Share-Template=Share Template FR-Designer_Simple_general=Simple custom query -FR-Designer_Song_TypeFace=song typeface +FR-Designer_Song_TypeFace=Song typeface FR-Designer_Start-Date=Start Date FR-Designer_Subscript=Subscript FR-Designer_Superscript=Superscript FR-Designer_Support_QQ=Support online -FR-Designer_Swatch=Swatch +FR-Designer_Swatch=Sample FR-Designer_Tab_title=Tab title FR-Designer_TableData=Data set FR-Designer_Thank_guest=Special Thanks @@ -190,8 +190,8 @@ FR-Designer_Underline=Underline FR-Designer_Used=Recently Used FR-Designer_User-defined-MDX=Custom MDX query FR-Designer_SampleText=SampleText SampleText -FR-Designer_Vertical-LeftToRight=Vertical Text (Left to Right) -FR-Designer_Vertical-RightToLeft=Vertical Text (Right To Left) +FR-Designer_Vertical-LeftToRight=Vertical Text (left to right) +FR-Designer_Vertical-RightToLeft=Vertical Text (right to left) FR-Designer_VerticalBoxLayout=Vertical Box Layout FR-Designer_Visible=Visible FR-Designer_WLayout-Border-ToolTips=The complete border layout container\uFF0Cis composed of central, eastern, western, northern and southern parts. You can adjust the height of the northern and southern ones and the width of the eastern and western ones. From 30ac27a51159d48b70911586b496c37722f4fe39 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 Feb 2017 16:13:09 +0800 Subject: [PATCH 065/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E3=80=82=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/locale/designer.properties | 16 ++++++++++++++++ .../fr/design/locale/designer_en_US.properties | 18 +++++++++++++++++- .../fr/design/locale/designer_ja_JP.properties | 16 ++++++++++++++++ .../fr/design/locale/designer_ko_KR.properties | 18 +++++++++++++++++- .../fr/design/locale/designer_zh_CN.properties | 16 ++++++++++++++++ .../fr/design/locale/designer_zh_TW.properties | 18 +++++++++++++++++- 6 files changed, 99 insertions(+), 3 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 52708104d9..1178245972 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -541,3 +541,19 @@ FR-Designer_PageSetup_Page=Page FR-Designer_Custom_Job_Description=Description FR-Designer_Property=Property FR-Designer_ClassName=Class Name + +FR-Designer_Polyblock_Edit=Polyblock Edit +FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class should be copied to\nJ2EE server '{R1}WEB-INF{R2}classes' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R3}classes} +FR-Designer_PageSetup_Horizontal=Horizontal +FR-Designer_PageSetup_Vertical=Vertical +FR-Designer_Gradient_Direction=Gradient Direction +FR-Designer_Drag_To_Select_Gradient=\\ Drag the button below to choose gradient area, click it to choose color +FR-Designer_Display_Value=Display Value +FR-Designer_Actual_Value=Actual Value +FR-Designer_CellWrite_ToolTip=Tool Tip of Cell +FR-Designer_Show_Content=Show content +FR-Designer_Auto_Adjust_Size=Auto adjust +FR-Designer_Show_As_Download=Display the binary content using download link +FR-Designer_File_Name_For_Download=File Name For Download +FR-Designer_No=No +FR-Designer_Pagination=Page Break 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 82f3d81b1b..3553d15bd6 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 @@ -540,4 +540,20 @@ FR-Designer_Allow_Blank=Allow Null FR-Designer_PageSetup_Page=Page FR-Designer_Custom_Job_Description=Description FR-Designer_Property=Property -FR-Designer_ClassName=Class Name \ No newline at end of file +FR-Designer_ClassName=Class Name + +FR-Designer_Polyblock_Edit=Aggregation block edition +FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class files should be copied to\nJ2EE server '{R1}WEB-INF{R2}classes' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R3}classes +FR-Designer_PageSetup_Horizontal=Horizontal +FR-Designer_PageSetup_Vertical=Vertical +FR-Designer_Gradient_Direction=Gradient Direction +FR-Designer_Drag_To_Select_Gradient=\\ Drag the button below to choose gradient area, click it to choose color +FR-Designer_Display_Value=Display Value +FR-Designer_Actual_Value=Actual Value +FR-Designer_CellWrite_ToolTip=Tool Tip of Cell +FR-Designer_Show_Content=Show content +FR-Designer_Auto_Adjust_Size=Auto adjust +FR-Designer_Show_As_Download=Display the binary content using download link +FR-Designer_File_Name_For_Download=File Name For Download +FR-Designer_No=No +FR-Designer_Pagination=Page Break \ 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 42ccf96e89..3d51f49e33 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 @@ -515,3 +515,19 @@ FR-Designer_PageSetup_Page=\u30DA\u30FC\u30B8 FR-Designer_Custom_Job_Description=\u8A18\u8FF0 FR-Designer_Property=\u5C5E\u6027 FR-Designer_ClassName=\u985E\u540D + +FR-Designer_Polyblock_Edit=\u30A2\u30B0\u30EA\u30B2\u30FC\u30B7\u30E7\u30F3\u30D6\u30ED\u30C3\u30AF\u7DE8\u96C6 +FR-Designer_Function_Description_Area_Text=\u3053\u306E\u30AF\u30E9\u30B9\u306F\u7D99\u627F\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"com.fr.script.AbstractFunction"\u3002\u3092\u7D99\u627F\u3059\u3079\u304D\u3067\u3059\u3002\u30B3\u30F3\u30D1\u30A4\u30EB\u5F8C\u306E\u985E\u30D5\u30A1\u30A4\u30EB\u3092\nJ2EE\u30B5\u30FC\u30D0\u30FC "{R1}WEB-INF{R2}classes" \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u306B\u30B3\u30D4\u30FC\u3057\u3066\u3001class\u306B\u5BFE\u5FDC\u3059\u308Bjava\u30D5\u30A1\u30A4\u30EB\u3082\u5F53\u76EE\u6B21\u306B\u7F6E\u3044\u3066\u304F\u3060\u3055\u3044\u3002\n\u4F8B\u3048\u3070\uFF1A{R3}classes +FR-Designer_PageSetup_Horizontal=\u6A2A\u65B9\u5411 +FR-Designer_PageSetup_Vertical=\u7E26\u65B9\u5411 +FR-Designer_Gradient_Direction=\u65B9\u5411\u3092\u5F90\u3005\u306B\u5909\u5316 +FR-Designer_Drag_To_Select_Gradient=\\ \u4E0B\u65B9\u306E\u30DC\u30BF\u30F3\u3092\u30D7\u30EB\u30C0\u30A6\u30F3\u3057\u3066\u6F38\u6B21\u5909\u5316\u30A8\u30EA\u30A2\u3092\u9078\u629E\u3057\u3001\u30AF\u30EA\u30C3\u30AF\u3057 +FR-Designer_Display_Value=\u8868\u793A\u5024 +FR-Designer_Actual_Value=\u5B9F\u969B\u5024 +FR-Designer_CellWrite_ToolTip=\u30BB\u30EB\u30D2\u30F3\u30C8 +FR-Designer_Show_Content=\u5185\u5BB9\u8868\u793A +FR-Designer_Auto_Adjust_Size=\u81EA\u52D5\u8ABF\u6574 +FR-Designer_Show_As_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30EA\u30F3\u30AF\u3067\uFF12\u9032\u6CD5\u306E\u5185\u5BB9\u3092\u8868\u793A +FR-Designer_File_Name_For_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u540D +FR-Designer_No=\u3044\u3044\u3048 +FR-Designer_Pagination=\u30DA\u30FC\u30B8\u30F3\u30B0 \ No newline at end of file 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 7fb438f1e8..0f83bb9cdd 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 @@ -514,4 +514,20 @@ FR-Designer_Allow_Blank=\uBE48\uCE78\uD5C8\uC6A9 FR-Designer_PageSetup_Page=\uC6F9\uD398\uC774\uC9C0 FR-Designer_Custom_Job_Description=\uC124\uBA85 FR-Designer_Property=\uC18D\uC131 -FR-Designer_ClassName=\uD074\uB798\uC2A4\uB124\uC784 \ No newline at end of file +FR-Designer_ClassName=\uD074\uB798\uC2A4\uB124\uC784 + +FR-Designer_Polyblock_Edit=\uCDE8\uD569\uBE14\uB7ED\uD3B8\uC9D1 +FR-Designer_Function_Description_Area_Text=\uD574\uB2F9\uD074\uB798\uC2A4\uB294\uACC4\uC2B9\uD574\uC57C\uD55C\uB2E4."com.fr.script.AbstractFunction".\uCEF4\uD30C\uC77C\uD6C4\uC758\uD074\uB798\uC2A4\uD30C\uC77C\uC744~\uB85C\uBCF5\uC0AC\nJ2EE\uC11C\uBC84 "{R1}WEB-INF{R2}classes" \uB514\uB809\uD130\uB9AC, \uD544\uC694\uC2DC class \uC0C1\uC751\uD558\uB294 java\uC18C\uC2A4\uD30C\uC77C\uB3C4\uD574\uB2F9\uB514\uB809\uD130\uB9AC\uD558\uB2E8\uC5D0\uB450\uC5B4\uD3B8\uC9D1\uBC0F\uCC3E\uC544\uBCF4\uAE30\uB97C\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4.\n\uC608: {R3}classes +FR-Designer_PageSetup_Horizontal=\uAC00\uB85C +FR-Designer_PageSetup_Vertical=\uC138\uB85C +FR-Designer_Gradient_Direction=\uADF8\uB77C\uB370\uC774\uC158 \uBC29\uD5A5 +FR-Designer_Drag_To_Select_Gradient=\\\uD558\uB2E8\uD0A4\uB97C\uB4DC\uB798\uADF8\uD558\uC5EC\uADF8\uB77C\uB370\uC774\uC158\uC601\uC5ED\uC744\uC120\uD0DD\uD558\uACE0\uD0A4\uB97C\uD074\uB9AD\uD558\uC5EC\uD574\uB2F9\uC0C9\uC120\uD0DD +FR-Designer_Display_Value=\uAC12\uBCF4\uC774\uAE30 +FR-Designer_Actual_Value=\uC2E4\uC81C\uAC12 +FR-Designer_CellWrite_ToolTip=\uB0B4\uC6A9\uC54C\uB9BC +FR-Designer_Show_Content=\uB0B4\uC6A9\uBCF4\uC774\uAE30 +FR-Designer_Auto_Adjust_Size=\uC790\uB3D9\uC870\uC815 +FR-Designer_Show_As_Download=\uB2E4\uC6B4\uB85C\uB4DC\uB9C1\uD06C\uB85C2\uC9C4\uBC95\uB0B4\uC6A9\uBCF4\uC774\uAE30 +FR-Designer_File_Name_For_Download=\uB2E4\uC6B4\uB85C\uB4DC\uD30C\uC77C\uBA85 +FR-Designer_No=\uC544\uB2C8\uC624 +FR-Designer_Pagination=\uD398\uC774\uC9C0\uB098\uB204\uAE30 \ No newline at end of file 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 58f3c744a7..849c4c6913 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 @@ -545,3 +545,19 @@ FR-Designer_PageSetup_Page=\u9875\u9762 FR-Designer_Custom_Job_Description=\u63CF\u8FF0 FR-Designer_Property=\u5C5E\u6027 FR-Designer_ClassName=\u7C7B\u540D + +FR-Designer_Polyblock_Edit=\u805A\u5408\u5757\u7F16\u8F91 +FR-Designer_Function_Description_Area_Text=\u8BE5\u7C7B\u5FC5\u987B\u7EE7\u627F"com.fr.script.AbstractFunction"\u3002\u5E94\u5C06\u7F16\u8BD1\u540E\u7684\u7C7B\u6587\u4EF6\u62F7\u8D1D\u5230\nJ2EE\u670D\u52A1\u5668 "{R1}WEB-INF{R2}classes" \u76EE\u5F55\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8BDD\u5C06class\u5BF9\u5E94\u7684java\u6E90\u6587\u4EF6\u4E5F\u653E\u7F6E\u5230\u8BE5\u76EE\u5F55\u4E0B\u65B9\u4FBF\u7F16\u8F91\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R3}classes +FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 +FR-Designer_PageSetup_Vertical=\u7EB5\u5411 +FR-Designer_Gradient_Direction=\u6E10\u53D8\u65B9\u5411 +FR-Designer_Drag_To_Select_Gradient=\\ \u62D6\u52A8\u4E0B\u65B9\u6309\u94AE\u9009\u62E9\u6E10\u53D8\u533A\u57DF\uFF0C\u5355\u51FB\u6309\u94AE\u9009\u62E9\u5BF9\u5E94\u989C\u8272 +FR-Designer_Display_Value=\u663E\u793A\u503C +FR-Designer_Actual_Value=\u5B9E\u9645\u503C +FR-Designer_CellWrite_ToolTip=\u5185\u5BB9\u63D0\u793A +FR-Designer_Show_Content=\u663E\u793A\u5185\u5BB9 +FR-Designer_Auto_Adjust_Size=\u81EA\u52A8\u8C03\u6574 +FR-Designer_Show_As_Download=\u7528\u4E0B\u8F7D\u94FE\u63A5\u663E\u793A\u4E8C\u8FDB\u5236\u5185\u5BB9 +FR-Designer_File_Name_For_Download=\u4E0B\u8F7D\u6587\u4EF6\u540D +FR-Designer_No=\u5426 +FR-Designer_Pagination=\u5206\u9875 \ 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 f2c6e259a7..85e2f58bbe 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 @@ -532,4 +532,20 @@ FR-Designer_Allow_Blank=\u5141\u8A31\u70BA\u7A7A\u767D FR-Designer_PageSetup_Page=\u9801\u9762 FR-Designer_Custom_Job_Description=\u63CF\u8FF0 FR-Designer_Property=\u5C6C\u6027 -FR-Designer_ClassName=\u985E\u540D \ No newline at end of file +FR-Designer_ClassName=\u985E\u540D + +FR-Designer_Polyblock_Edit=\u805A\u5408\u584A\u7DE8\u8F2F +FR-Designer_Function_Description_Area_Text=\u8A72\u985E\u5FC5\u9808\u7E7C\u627F"com.fr.script.AbstractFunction"\u3002\u61C9\u5C07\u7DE8\u8B6F\u5F8C\u7684\u985E\u6A94\u6848\u62F7\u8C9D\u5230\nJ2EE\u4F3A\u670D\u5668 "{R1}WEB-INF{R2}classes" \u76EE\u9304\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8A71\u5C07class\u5C0D\u61C9\u7684java\u539F\u59CB\u6A94\u6848\u4E5F\u653E\u7F6E\u5230\u8A72\u76EE\u9304\u4E0B\u65B9\u4FBF\u7DE8\u8F2F\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R3}classes +FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 +FR-Designer_PageSetup_Vertical=\u7E31\u5411 +FR-Designer_Gradient_Direction=\u6F38\u8B8A\u65B9\u5411 +FR-Designer_Drag_To_Select_Gradient=\\ \u62D6\u52D5\u4E0B\u767C\u90A3\u500B\u6309\u9215\u61F8\u8457\u5340\u57DF\uFF0C\u55AE\u64CA\u6309\u9215\u9078\u64C7\u984F\u8272 +FR-Designer_Display_Value=\u986F\u793A\u503C +FR-Designer_Actual_Value=\u5BE6\u969B\u503C +FR-Designer_CellWrite_ToolTip=\u5167\u5BB9\u63D0\u793A +FR-Designer_Show_Content=\u986F\u793A\u5167\u5BB9 +FR-Designer_Auto_Adjust_Size=\u81EA\u52D5\u8ABF\u6574 +FR-Designer_Show_As_Download=\u7528\u4E0B\u8F09\u93C8\u63A5\u986F\u793A\u4E8C\u9032\u5236\u5167\u5BB9 +FR-Designer_File_Name_For_Download=\u4E0B\u8F09\u6A94\u6848\u540D +FR-Designer_No=\u5426 +FR-Designer_Pagination=\u5206\u9801 \ No newline at end of file From e91765d4046665442b2006eab3e8513d0dc1d8ec Mon Sep 17 00:00:00 2001 From: fr_shine Date: Fri, 10 Feb 2017 16:58:04 +0800 Subject: [PATCH 066/104] =?UTF-8?q?=E8=82=A1=E4=BB=B7=E5=9B=BE=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E9=85=8D=E7=BD=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/gui/data/table/StockPlotTableDataContentPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/StockPlotTableDataContentPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/StockPlotTableDataContentPane.java index fa94897947..b2928d3a8c 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/StockPlotTableDataContentPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/table/StockPlotTableDataContentPane.java @@ -160,7 +160,7 @@ public class StockPlotTableDataContentPane extends AbstractTableDataContentPane openLabel.setText(stockLabel.getOpenLabel()); highLabel.setText(stockLabel.getHighLabel()); lowLabel.setText(stockLabel.getLowLabel()); - closeLabel.setText(stockLabel.getLowLabel()); + closeLabel.setText(stockLabel.getCloseLabel()); combineCustomEditValue(axisBox, stock.getCateTime()); combineCustomEditValue(volumeBox, stock.getVolumnString()); From ef938eb4f355e9f70d4a71e622be07b95995aef4 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 Feb 2017 17:11:30 +0800 Subject: [PATCH 067/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/designer.iml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/designer/designer.iml b/designer/designer.iml index 661dcd939d..eca9d8fcd7 100644 --- a/designer/designer.iml +++ b/designer/designer.iml @@ -1,13 +1,14 @@ - - + + - + - + + \ No newline at end of file From 28317954b67b74739ef2dea1375071a0f5b6651c Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 13 Feb 2017 15:50:35 +0800 Subject: [PATCH 068/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E3=80=82=E6=96=B0=E5=A2=9E=E5=9B=BD=E9=99=85=E5=8C=96key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer.properties | 2 ++ .../src/com/fr/design/locale/designer_en_US.properties | 4 +++- .../src/com/fr/design/locale/designer_ja_JP.properties | 4 +++- .../src/com/fr/design/locale/designer_ko_KR.properties | 2 ++ .../src/com/fr/design/locale/designer_zh_CN.properties | 4 +++- .../src/com/fr/design/locale/designer_zh_TW.properties | 4 +++- 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 1178245972..eb1d6a7df4 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -557,3 +557,5 @@ FR-Designer_Show_As_Download=Display the binary content using download link FR-Designer_File_Name_For_Download=File Name For Download FR-Designer_No=No FR-Designer_Pagination=Page Break +FR-Designer_DS_TableData=Data Set +FR-Designer_Parameter-Formula=Formula \ No newline at end of file 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 6bf08eab69..e5f89932fe 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 @@ -556,4 +556,6 @@ FR-Designer_Auto_Adjust_Size=Auto adjust FR-Designer_Show_As_Download=Display the binary content using download link FR-Designer_File_Name_For_Download=File Name For Download FR-Designer_No=No -FR-Designer_Pagination=Page Break \ No newline at end of file +FR-Designer_Pagination=Page Break +FR-Designer_DS_TableData=Data Set +FR-Designer_Parameter-Formula=Formula \ 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 91ab6618ac..9b6ce19895 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 @@ -530,4 +530,6 @@ FR-Designer_Auto_Adjust_Size=\u81EA\u52D5\u8ABF\u6574 FR-Designer_Show_As_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30EA\u30F3\u30AF\u3067\uFF12\u9032\u6CD5\u306E\u5185\u5BB9\u3092\u8868\u793A FR-Designer_File_Name_For_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u540D FR-Designer_No=\u3044\u3044\u3048 -FR-Designer_Pagination=\u30DA\u30FC\u30B8\u30F3\u30B0 \ No newline at end of file +FR-Designer_Pagination=\u30DA\u30FC\u30B8\u30F3\u30B0 +FR-Designer_DS_TableData=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9 +FR-Designer_Parameter-Formula=\u6570\u5F0F 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 b1c5df2d67..22f6dd5415 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 @@ -532,3 +532,5 @@ FR-Designer_Show_As_Download=\uB2E4\uC6B4\uB85C\uB4DC\uB9C1\uD06C\uB85C2\uC9C4\u FR-Designer_File_Name_For_Download=\uB2E4\uC6B4\uB85C\uB4DC\uD30C\uC77C\uBA85 FR-Designer_No=\uC544\uB2C8\uC624 FR-Designer_Pagination=\uD398\uC774\uC9C0\uB098\uB204\uAE30 +FR-Designer_DS_TableData=\uB370\uC774\uD130\uC138\uD2B8 +FR-Designer_Parameter-Formula=\uC218\uC2DD 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 849c4c6913..b5a5106cea 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 @@ -560,4 +560,6 @@ FR-Designer_Auto_Adjust_Size=\u81EA\u52A8\u8C03\u6574 FR-Designer_Show_As_Download=\u7528\u4E0B\u8F7D\u94FE\u63A5\u663E\u793A\u4E8C\u8FDB\u5236\u5185\u5BB9 FR-Designer_File_Name_For_Download=\u4E0B\u8F7D\u6587\u4EF6\u540D FR-Designer_No=\u5426 -FR-Designer_Pagination=\u5206\u9875 \ No newline at end of file +FR-Designer_Pagination=\u5206\u9875 +FR-Designer_DS_TableData=\u6570\u636E\u96C6 +FR-Designer_Parameter-Formula=\u516C\u5F0F 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 3f1c330518..3699395670 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 @@ -548,4 +548,6 @@ FR-Designer_Auto_Adjust_Size=\u81EA\u52D5\u8ABF\u6574 FR-Designer_Show_As_Download=\u7528\u4E0B\u8F09\u93C8\u63A5\u986F\u793A\u4E8C\u9032\u5236\u5167\u5BB9 FR-Designer_File_Name_For_Download=\u4E0B\u8F09\u6A94\u6848\u540D FR-Designer_No=\u5426 -FR-Designer_Pagination=\u5206\u9801 \ No newline at end of file +FR-Designer_Pagination=\u5206\u9801 +FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 +FR-Designer_Parameter-Formula=\u516C\u5F0F From c6a96cc457ee95cf1cb21519677571047c425589 Mon Sep 17 00:00:00 2001 From: juhaoyu <2335173323@qq.com> Date: Mon, 13 Feb 2017 20:09:50 +0800 Subject: [PATCH 069/104] =?UTF-8?q?=E6=8F=90=E7=A4=BA=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/fun/HyperlinkProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/fun/HyperlinkProvider.java b/designer_base/src/com/fr/design/fun/HyperlinkProvider.java index e6eccc8820..9f0a53cfa2 100644 --- a/designer_base/src/com/fr/design/fun/HyperlinkProvider.java +++ b/designer_base/src/com/fr/design/fun/HyperlinkProvider.java @@ -10,7 +10,7 @@ import com.fr.stable.fun.mark.Mutable; public interface HyperlinkProvider extends Mutable { String XML_TAG = "HyperlinkProvider"; - int CURRENT_LEVEL = 1; + int CURRENT_LEVEL = 2; /** From 05b6fd9f8561e8b29dcdf0614fc1f1f9769e91e4 Mon Sep 17 00:00:00 2001 From: zhouping Date: Wed, 15 Feb 2017 12:46:15 +0800 Subject: [PATCH 070/104] =?UTF-8?q?REPORT-1940=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E4=BB=8E=E7=BB=9D=E5=AF=B9=E5=B8=83=E5=B1=80=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=88=B0=E8=87=AA=E9=80=82=E5=BA=94=EF=BC=8C=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E7=A9=BA=E7=99=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java b/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java index b290bcccfb..f864a6dd56 100644 --- a/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java +++ b/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java @@ -182,7 +182,7 @@ public class FRAbsoluteBodyLayoutPropertiesGroupModel extends FRAbsoluteLayoutPr private void moveComponents2FitLayout(XWFitLayout xwFitLayout) { int eachRowCount = 4; Component[] components = xwFitLayout.getComponents(); - if (components.length <= 1){ + if (components.length == 0){ xwFitLayout.updateBoundsWidget(); return; } From 4f599cdfa6c618e88f51b18a73b6e8bcf0941a78 Mon Sep 17 00:00:00 2001 From: zhouping Date: Wed, 15 Feb 2017 12:54:24 +0800 Subject: [PATCH 071/104] =?UTF-8?q?REPORT-1940=20=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E4=BB=8E=E7=BB=9D=E5=AF=B9=E5=B8=83=E5=B1=80=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=88=B0=E8=87=AA=E9=80=82=E5=BA=94=EF=BC=8C=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E7=A9=BA=E7=99=BD=20pmd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...AbsoluteBodyLayoutPropertiesGroupModel.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java b/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java index f864a6dd56..eb4b31154e 100644 --- a/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java +++ b/designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java @@ -26,8 +26,11 @@ import java.util.Comparator; public class FRAbsoluteBodyLayoutPropertiesGroupModel extends FRAbsoluteLayoutPropertiesGroupModel { private LayoutTypeEditor layoutTypeEditor; private LayoutTypeRenderer layoutTypeRenderer; + //默认body是0,自适应布局;1,绝对布局. private WBodyLayoutType layoutType = WBodyLayoutType.ABSOLUTE; + private static final int EACH_ROW_COUNT = 4; + public FRAbsoluteBodyLayoutPropertiesGroupModel(XWAbsoluteBodyLayout xwAbsoluteBodyLayout) { super(xwAbsoluteBodyLayout); } @@ -180,7 +183,6 @@ public class FRAbsoluteBodyLayoutPropertiesGroupModel extends FRAbsoluteLayoutPr // 把绝对布局中的元素按规则移动到自适应布局中 // 规则:各元素按顺序放置,其中每行最多4个元素,超出则换行,各元素均分body的高度和宽度 private void moveComponents2FitLayout(XWFitLayout xwFitLayout) { - int eachRowCount = 4; Component[] components = xwFitLayout.getComponents(); if (components.length == 0){ xwFitLayout.updateBoundsWidget(); @@ -191,17 +193,17 @@ public class FRAbsoluteBodyLayoutPropertiesGroupModel extends FRAbsoluteLayoutPr int leftMargin = xwFitLayout.toData().getMargin().getLeft(); int topMargin = xwFitLayout.toData().getMargin().getTop(); xwFitLayout.toData().setCompInterval(0); - int row = (components.length / eachRowCount) + (components.length % eachRowCount == 0 ? 0 : 1); + int row = (components.length / EACH_ROW_COUNT) + (components.length % EACH_ROW_COUNT == 0 ? 0 : 1); //最后一行的列数不定 - int column = components.length % eachRowCount == 0 ? eachRowCount : components.length % eachRowCount; - int componentWidth = layoutWidth / eachRowCount; + int column = components.length % EACH_ROW_COUNT == 0 ? EACH_ROW_COUNT : components.length % EACH_ROW_COUNT; + int componentWidth = layoutWidth / EACH_ROW_COUNT; int componentHeight = layoutHeight / row; for(int i = 0;i < row - 1;i++){ - for(int j = 0;j < eachRowCount;j++){ - components[eachRowCount * i + j].setBounds( + for(int j = 0;j < EACH_ROW_COUNT;j++){ + components[EACH_ROW_COUNT * i + j].setBounds( leftMargin + componentWidth * j, topMargin + componentHeight * i, - j == eachRowCount - 1 ? layoutWidth - componentWidth * (eachRowCount - 1) : componentWidth, + j == EACH_ROW_COUNT - 1 ? layoutWidth - componentWidth * (EACH_ROW_COUNT - 1) : componentWidth, componentHeight ); } @@ -210,7 +212,7 @@ public class FRAbsoluteBodyLayoutPropertiesGroupModel extends FRAbsoluteLayoutPr int lastRowWidth = layoutWidth / column; int lastRowHeight = layoutHeight - componentHeight * (row - 1); for (int i = 0;i < column;i++) { - components[eachRowCount * (row - 1) + i].setBounds( + components[EACH_ROW_COUNT * (row - 1) + i].setBounds( leftMargin + lastRowWidth * i, topMargin + componentHeight * (row - 1), i == column - 1 ? layoutWidth - lastRowWidth * (column - 1) : lastRowWidth, From d6b22c772d202e1beb0e1f440bead7e92b40c48f Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Thu, 16 Feb 2017 19:24:41 +0800 Subject: [PATCH 072/104] REPORT-1899 --- .../adapters/layout/FRBodyLayoutAdapter.java | 298 ++++++++++-------- .../layout/FRTabFitLayoutAdapter.java | 120 +++---- 2 files changed, 227 insertions(+), 191 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java index 313c08b02b..dc1fb7d368 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java @@ -2,6 +2,7 @@ package com.fr.design.designer.beans.adapters.layout; import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XLayoutContainer; +import com.fr.design.designer.creator.XWParameterLayout; import com.fr.design.designer.creator.cardlayout.XWCardMainBorderLayout; import com.fr.design.utils.ComponentUtils; import com.fr.form.ui.PaddingMargin; @@ -17,7 +18,7 @@ import java.util.*; * 所以把公共的方法挪动这边父类里来 * Created by zhouping on 2016/8/18. */ -public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ +public class FRBodyLayoutAdapter extends AbstractLayoutAdapter { protected static final int COMP_TOP = 1; protected static final int COMP_BOTTOM = 2; protected static final int COMP_LEFT = 3; @@ -49,6 +50,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ protected int minHeight = 0; protected int actualVal = 0; // 存在间隔时,add move drag 判断对齐等都要考虑 protected PaddingMargin margin; // 布局容器边距 + /** * 在添加组件状态时,当鼠标移动到某个容器上方时,如果该容器有布局管理器,则会调用该布局 * 管理适配器的accept来决定当前位置是否可以放置,并提供特殊的标识,比如红色区域标识。比 @@ -76,9 +78,10 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ /** * 交叉点区域时,能否对应位置放入组件 + * * @param comp 待放置组件 - * @param x x - * @param y y + * @param x x + * @param y y * @return 能否放入 */ protected boolean canAcceptWhileCrossPoint(Component comp, int x, int y) { @@ -95,7 +98,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ min = isNotDefaultArea ? min : minWidth * 2; } else if (ComparatorUtils.equals(crossPointAreaDirect, COMP_RIGHT_BOTTOM)) { bottomComp = container.getRightBottomComp(cX, cY, cH, cW); - isNotDefaultArea = (bottomComp == null) || (bottomComp.getX()+bottomComp.getWidth() != cX + cW) ; + isNotDefaultArea = (bottomComp == null) || (bottomComp.getX() + bottomComp.getWidth() != cX + cW); rightComp = container.getBottomRightComp(cX, cY, cH, cW); minLength = isNotDefaultArea ? Math.min(cH, rightComp.getHeight()) : Math.min(cW, bottomComp.getWidth()); min = isNotDefaultArea ? min : minWidth * 2; @@ -105,12 +108,12 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ minLength = isNotDefaultArea ? Math.min(cW, bottomComp.getWidth()) : Math.min(cH, leftComp.getHeight()); min = isNotDefaultArea ? minWidth * 2 : min; } else if (ComparatorUtils.equals(crossPointAreaDirect, COMP_RIGHT_TOP)) { - isNotDefaultArea = (rightComp == null) || (rightComp.getY() != cY) ; + isNotDefaultArea = (rightComp == null) || (rightComp.getY() != cY); topComp = container.getRightTopComp(cX, cY, cW); minLength = isNotDefaultArea ? Math.min(cW, topComp.getWidth()) : Math.min(cH, rightComp.getWidth()); - min = isNotDefaultArea ? minWidth * 2 : min ; + min = isNotDefaultArea ? minWidth * 2 : min; } else if (ComparatorUtils.equals(crossPointAreaDirect, COMP_TOP)) { - minLength= Math.min(rightComp.getHeight(), Math.min(cH, leftComp.getHeight())); + minLength = Math.min(rightComp.getHeight(), Math.min(cH, leftComp.getHeight())); } else if (ComparatorUtils.equals(crossPointAreaDirect, COMP_BOTTOM)) { leftComp = container.getBottomLeftComp(cX, cY, cH); rightComp = container.getBottomRightComp(cX, cY, cH, cW); @@ -129,9 +132,10 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ /** * 三等分区域时,能否对应位置放入组件 + * * @param comp 待放置组件 - * @param x x - * @param y y + * @param x x + * @param y y * @return 能否放入 */ protected boolean canAcceptWhileTrisection(Component comp, int x, int y) { @@ -142,28 +146,28 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ upMinHeight = getUpMinHeightComp(cY, x); downMinHeight = getDownMinHeightComp(comp, y); return upMinHeight == 0 ? downMinHeight >= minHeight * 2 + actualVal : (upMinHeight + downMinHeight) >= minHeight * 3 + actualVal; - } else if(ComparatorUtils.equals(trisectAreaDirect, COMP_BOTTOM)) { + } else if (ComparatorUtils.equals(trisectAreaDirect, COMP_BOTTOM)) { upMinHeight = getUpMinHeightComp(cY + cH + actualVal, x); - if (cY + cH + DEFAULT_AREA_LENGTH>container.getHeight() - margin.getBottom()){ + if (cY + cH + DEFAULT_AREA_LENGTH > container.getHeight() - margin.getBottom()) { downMinHeight = 0; } else { Component targetComp = container.getBottomComp(x, cY, cH); downMinHeight = getDownMinHeightComp(targetComp, cY + cH + DEFAULT_AREA_LENGTH + actualVal); } - return downMinHeight == 0 ? (upMinHeight >= minHeight * 2 + actualVal) : ((upMinHeight+downMinHeight) >= minHeight * 3 + actualVal); - } else if(ComparatorUtils.equals(trisectAreaDirect, COMP_LEFT)) { - rightMinWidth = getMinRightWidth(cX, 0, y); - if(cX - DEFAULT_AREA_LENGTH < margin.getLeft()) { + return downMinHeight == 0 ? (upMinHeight >= minHeight * 2 + actualVal) : ((upMinHeight + downMinHeight) >= minHeight * 3 + actualVal); + } else if (ComparatorUtils.equals(trisectAreaDirect, COMP_LEFT)) { + rightMinWidth = getMinRightWidth(cX, 0, y); + if (cX - DEFAULT_AREA_LENGTH < margin.getLeft()) { leftMinWidth = 0; } else { Component targetRightComp = container.getLeftComp(cX, y); leftMinWidth = getMinLeftWidth(targetRightComp, cX - DEFAULT_AREA_LENGTH - actualVal); } - return leftMinWidth == 0 ? (rightMinWidth >= minWidth * 2 + actualVal) : ((leftMinWidth+rightMinWidth) >= minWidth * 3 + actualVal); - } else if(ComparatorUtils.equals(trisectAreaDirect, COMP_RIGHT)) { + return leftMinWidth == 0 ? (rightMinWidth >= minWidth * 2 + actualVal) : ((leftMinWidth + rightMinWidth) >= minWidth * 3 + actualVal); + } else if (ComparatorUtils.equals(trisectAreaDirect, COMP_RIGHT)) { leftMinWidth = getMinLeftWidth(comp, x); rightMinWidth = getMinRightWidth(cX, cW, y); - return rightMinWidth == 0 ? (leftMinWidth >= minWidth * 2 + actualVal) : ((leftMinWidth+rightMinWidth) >= minWidth * 3 + actualVal); + return rightMinWidth == 0 ? (leftMinWidth >= minWidth * 2 + actualVal) : ((leftMinWidth + rightMinWidth) >= minWidth * 3 + actualVal); } return false; } @@ -176,16 +180,16 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (cY == margin.getTop()) { return 0; } - int max=container.getWidth() - margin.getRight(); + int max = container.getWidth() - margin.getRight(); int mouseX = x; int minHeight = cY; int bott = 0; if (isFindRelatedComps) { upComps = new ArrayList(); } - for(; mouseX margin.getLeft()) { + while (mouseX > margin.getLeft()) { Component comp = container.getTopComp(mouseX, cY); - bott = comp.getHeight() + comp.getY()+actualVal; + bott = comp.getHeight() + comp.getY() + actualVal; if (bott == cY) { if (comp.getHeight() < minHeight) { minHeight = comp.getHeight(); } - mouseX = comp.getX()-DEFAULT_AREA_LENGTH-actualVal; + mouseX = comp.getX() - DEFAULT_AREA_LENGTH - actualVal; if (isFindRelatedComps) { upComps.add(comp); } - } else{ + } else { break; } } @@ -231,13 +235,13 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ int cX = currentcomp.getX(); int cY = currentcomp.getY(); int minHeight = currentcomp.getHeight(); - int max=container.getWidth() - margin.getRight(); + int max = container.getWidth() - margin.getRight(); if (isFindRelatedComps) { downComps = new ArrayList(); } int mouseX = cX + DEFAULT_AREA_LENGTH; while (mouseX < max) { - Component comp = container.getComponentAt(mouseX, y); + Component comp = container.getComponentAt(mouseX, y); if (comp.getY() == cY) { if (comp.getHeight() < minHeight) { minHeight = comp.getHeight(); @@ -246,12 +250,12 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (isFindRelatedComps) { downComps.add(comp); } - }else{ + } else { break; } } mouseX = cX - DEFAULT_AREA_LENGTH - actualVal; - while(mouseX > margin.getLeft()) { + while (mouseX > margin.getLeft()) { Component comp = container.getComponentAt(mouseX, y); if (comp.getY() == cY) { if (comp.getHeight() < minHeight) { @@ -261,7 +265,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (isFindRelatedComps) { downComps.add(comp); } - }else{ + } else { break; } } @@ -273,9 +277,9 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ * 判断对齐时考虑间隔 */ private int getMinRightWidth(int cX, int cW, int y) { - int xL = cX + DEFAULT_AREA_LENGTH ; + int xL = cX + DEFAULT_AREA_LENGTH; xL = cW == 0 ? xL : (xL + cW + actualVal); - if (xL > container.getWidth() - margin.getRight()){ + if (xL > container.getWidth() - margin.getRight()) { return 0; } // 以当前组件紧挨着右侧的组件为基准,在y轴方向查找符合条件的组件 @@ -286,7 +290,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ rightComps = new ArrayList(); } int mouseY = targetComp.getY() + DEFAULT_AREA_LENGTH; - while (mouseY margin.getTop()) { + while (mouseY > margin.getTop()) { Component comp = container.getComponentAt(xL, mouseY); if (comp.getX() == targetComp.getX()) { if (comp.getWidth() < minWidth) { @@ -311,7 +315,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (isFindRelatedComps) { rightComps.add(comp); } - }else{ + } else { break; } } @@ -329,9 +333,9 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (isFindRelatedComps) { leftComps = new ArrayList(); } - int rightx = 0; + int rightx = 0; int mouseY = currentComp.getY() + DEFAULT_AREA_LENGTH; - while(mouseYmargin.getTop()) { + while (mouseY > margin.getTop()) { Component comp = container.getComponentAt(x, mouseY); - rightx = comp.getX()+comp.getWidth(); + rightx = comp.getX() + comp.getWidth(); if (rightx == compRightLength) { if (comp.getWidth() < minWidth) { minWidth = comp.getWidth(); @@ -358,7 +362,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (isFindRelatedComps) { leftComps.add(comp); } - }else{ + } else { break; } } @@ -367,13 +371,14 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ /** * 判断是否鼠标在组件的三等分区域,如果组件在布局管理器中间,上下左右都可能会三等分 + * * @param parentComp 鼠标所在区域的组件 - * @param x 坐标x - * @param y 坐标y + * @param x 坐标x + * @param y 坐标y * @return 是则返回true */ public boolean isTrisectionArea(Component parentComp, int x, int y) { - XCreator creator = (XCreator)parentComp; + XCreator creator = (XCreator) parentComp; if (container.getComponentCount() <= 1) { return false; } @@ -382,23 +387,23 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ int xL = parentComp.getX(); int yL = parentComp.getY(); // 组件宽高的十分之一和默认值取大 - int minRangeWidth = Math.max(maxWidth/BORDER_PROPORTION, DEFAULT_AREA_LENGTH); - int minRangeHeight = Math.max(maxHeight/BORDER_PROPORTION, DEFAULT_AREA_LENGTH); - if(y < yL+minRangeHeight ) { + int minRangeWidth = Math.max(maxWidth / BORDER_PROPORTION, DEFAULT_AREA_LENGTH); + int minRangeHeight = Math.max(maxHeight / BORDER_PROPORTION, DEFAULT_AREA_LENGTH); + if (y < yL + minRangeHeight) { // 在组件上侧三等分 trisectAreaDirect = COMP_TOP; - } else if(y > yL + maxHeight - minRangeHeight) { + } else if (y > yL + maxHeight - minRangeHeight) { // 在组件下侧三等分 trisectAreaDirect = COMP_BOTTOM; } else if (x < xL + minRangeWidth) { // 在组件左侧三等分 trisectAreaDirect = COMP_LEFT; - } else if(x > xL + maxWidth - minRangeWidth) { + } else if (x > xL + maxWidth - minRangeWidth) { // 在组件右侧三等分 trisectAreaDirect = COMP_RIGHT; } // tab布局的边界特殊处理,不进行三等分 - if(!creator.getTargetChildrenList().isEmpty()){ + if (!creator.getTargetChildrenList().isEmpty()) { return false; } @@ -407,21 +412,22 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ /** * 是否为组件交叉点区域 或者是相邻三组建中间点 + * * @param currentComp 当前组件 - * @param x 坐标x - * @param y 坐标y + * @param x 坐标x + * @param y 坐标y * @return 是则返回true */ public boolean isCrossPointArea(Component currentComp, int x, int y) { // 3个及以上都会出现交叉点区域(包括边界处的) - if(currentComp == null || container.getComponentCount() <= 2){ + if (currentComp == null || container.getComponentCount() <= 2) { return false; } int cX = currentComp.getX(); int cY = currentComp.getY(); int cW = currentComp.getWidth(); int cH = currentComp.getHeight(); - int areaWidth = Math.max(cW / BORDER_PROPORTION ,DEFAULT_AREA_LENGTH); + int areaWidth = Math.max(cW / BORDER_PROPORTION, DEFAULT_AREA_LENGTH); int areaHeight = Math.max(cH / BORDER_PROPORTION, DEFAULT_AREA_LENGTH); int rx = cX + cW; int by = cY + cH; @@ -432,27 +438,27 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ if (x < objX && y < objY) { //左上角区域 crossPointAreaDirect = cY > margin.getTop() || cX > margin.getLeft() ? COMP_LEFT_TOP : 0; - } else if (y < objY && x > rx - areaWidth){ + } else if (y < objY && x > rx - areaWidth) { //右上角 crossPointAreaDirect = cY > margin.getTop() || rx < containerW ? COMP_RIGHT_TOP : 0; } else if (x < objX && y > by - areaHeight) { //左下角 crossPointAreaDirect = cX > margin.getLeft() || by < containerH ? COMP_LEFT_BOTTOM : 0; - } else if (x > rx-areaWidth && y > by - areaHeight) { + } else if (x > rx - areaWidth && y > by - areaHeight) { //右下角 crossPointAreaDirect = by < containerH || rx < containerW ? COMP_RIGHT_BOTTOM : 0; } else { isMiddlePosition(currentComp, x, y, areaWidth, areaHeight); } // tab布局的边界特殊处理 - XCreator creator = (XCreator)currentComp; - if(!creator.getTargetChildrenList().isEmpty()){ + XCreator creator = (XCreator) currentComp; + if (!creator.getTargetChildrenList().isEmpty()) { return false; } return crossPointAreaDirect != 0; } - private void isMiddlePosition(Component comp, int x, int y, int areaWidth , int areaHeight) { + private void isMiddlePosition(Component comp, int x, int y, int areaWidth, int areaHeight) { int cX = comp.getX(); int cY = comp.getY(); int cW = comp.getWidth(); @@ -479,14 +485,14 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ Component bottomComp = container.getBottomComp(cX, cY, cH); if (x < (cX + areaWidth)) { isCrosspoint = topComp != null && bottomComp != null && topComp.getX() == cX && bottomComp.getX() == cX; - crossPointAreaDirect = isCrosspoint ? COMP_LEFT : 0; + crossPointAreaDirect = isCrosspoint ? COMP_LEFT : 0; } else if (x > (cX + cW - areaWidth)) { topComp = container.getRightTopComp(cX, cY, cW); bottomComp = container.getRightBottomComp(cX, cY, cH, cW); if (topComp != null && bottomComp != null) { - isCrosspoint = topComp.getX() + topComp.getWidth() == cX + cW && bottomComp.getX() + bottomComp.getWidth() == cX+cW; + isCrosspoint = topComp.getX() + topComp.getWidth() == cX + cW && bottomComp.getX() + bottomComp.getWidth() == cX + cW; } - crossPointAreaDirect = isCrosspoint ? COMP_RIGHT : 0; + crossPointAreaDirect = isCrosspoint ? COMP_RIGHT : 0; } } } @@ -513,15 +519,16 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ /** * 平分,正常情况拖入组件时,按照上1/4区域、下1/4区域为上下平分,中左侧1/2区域、中右侧1/2区域为左右平分 + * * @param currentComp 当前位置组件 - * @param child 待放置组件 - * @param x x - * @param y y + * @param child 待放置组件 + * @param x x + * @param y y */ protected void fixHalve(Component currentComp, XCreator child, int x, int y) { - XCreator creator = (XCreator)currentComp; - if(!creator.getTargetChildrenList().isEmpty()){ - fixHalveOfTab(creator,child,x,y); + XCreator creator = (XCreator) currentComp; + if (!creator.getTargetChildrenList().isEmpty()) { + fixHalveOfTab(creator, child, x, y); return; } int maxWidth = currentComp.getWidth(); @@ -536,18 +543,18 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ int finalY = yL; int finalW = maxWidth; int finalH = maxHeight; - if (isDividUp){ + if (isDividUp) { dim.width = maxWidth; dim.height = maxHeight / 2 - actualVal / 2; finalY = yL + dim.height + actualVal; finalH = maxHeight - dim.height - actualVal; - } else if(isDividDown){ + } else if (isDividDown) { // 若当前区域高度非偶数,那么和isDividUp时计算一致,否则永远都是上半部分小1px dim.height = maxHeight / 2 - actualVal / 2; dim.width = maxWidth; finalH = maxHeight - dim.height - actualVal; yL = yL + finalH + actualVal; - } else if(isDividLeft){ + } else if (isDividLeft) { dim.width = maxWidth / 2 - actualVal / 2; dim.height = maxHeight; finalX = xL + dim.width + actualVal; @@ -571,7 +578,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ // 边界判断抄得原来的逻辑 // tab布局的边界拖入新组件,和当前tab布局平分,这时候的actualVal组建间隔是tab里面的组建间隔 // 不应该在外层自适应布局添加 - private void fixHalveOfTab(XCreator currentCreator, XCreator child, int x, int y){ + private void fixHalveOfTab(XCreator currentCreator, XCreator child, int x, int y) { int maxWidth = currentCreator.getWidth(); int maxHeight = currentCreator.getHeight(); int xL = currentCreator.getX(); @@ -582,7 +589,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ int finalY = yL; int finalW = maxWidth; int finalH = maxHeight; - switch(position){ + switch (position) { case COMP_TOP: dim.width = maxWidth; dim.height = maxHeight / 2; @@ -592,7 +599,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ case COMP_BOTTOM: dim.height = maxHeight / 2; dim.width = maxWidth; - finalH = maxHeight-dim.height; + finalH = maxHeight - dim.height; yL = yL + finalH; break; case COMP_LEFT: @@ -619,13 +626,31 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ } } - private int getPositionOfFix(XCreator currentCreator,int x,int y){ + private int getPositionOfFix(XCreator currentCreator, int x, int y) { int position = 0; XLayoutContainer cardLayout = ((XWCardMainBorderLayout) currentCreator).getCardPart(); + XLayoutContainer container = (XLayoutContainer) cardLayout.getComponent(0); Rectangle rect = ComponentUtils.getRelativeBounds(container); + + /* + * 为了获取到鼠标drop位置的控件, + * 我们之前已经将y值变为相对坐标值; + * 由于在x轴上没有偏移,所以x值一直等于相对坐标值,最多差一个边界值1。 + * 在进行新添加的控件位置计算时, + * 又通过ComponentUtils.getRelativeBounds()方法获取到了绝对坐标, + * 再次计算相对坐标,所以将y值重新变成绝对坐标。 + * */ + if (currentCreator.getParent().getParent().getComponent(0) instanceof XWParameterLayout) { + int high = currentCreator.getParent().getParent().getComponent(0).getHeight(); + y = y + WCardMainBorderLayout.TAB_HEIGHT + high; + + } else { + y = y + WCardMainBorderLayout.TAB_HEIGHT; + } + int tempX = x - rect.x; - int tempY = y - rect.y + WCardMainBorderLayout.TAB_HEIGHT; + int tempY = y - rect.y; int containerX = container.getX(); int containerY = container.getY(); int containerWidth = container.getWidth(); @@ -634,13 +659,13 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ Rectangle currentXY = new Rectangle(tempX, tempY, 1, 1); // 上边缘 Rectangle upEdge = new Rectangle(containerX, containerY, containerWidth, BORDER_PROPORTION); - if(upEdge.intersects(currentXY)){ + if (upEdge.intersects(currentXY)) { position = COMP_TOP; } int bottomY = containerY + containerHeight - BORDER_PROPORTION; // 下边缘 Rectangle bottomEdge = new Rectangle(containerX, bottomY, containerWidth, BORDER_PROPORTION); - if(bottomEdge.intersects(currentXY)){ + if (bottomEdge.intersects(currentXY)) { position = COMP_BOTTOM; } //左右边缘的高度 -10*2 是为了不和上下边缘重合 @@ -648,7 +673,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ int leftY = containerY + BORDER_PROPORTION; // 左边缘 Rectangle leftEdge = new Rectangle(containerX, leftY, BORDER_PROPORTION, verticalHeight); - if(leftEdge.intersects(currentXY)){ + if (leftEdge.intersects(currentXY)) { position = COMP_LEFT; } return position; @@ -658,37 +683,38 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ * 组件交叉区域进行插入时,调整受到变动的其他组件,之前是交叉区域插入也按照三等分逻辑,后面测试中发现有bug,改为和bi一样的鼠标所在侧平分 * 默认左上角、右下角区域是垂直方向插入组件 * 右上角和左下角是水平方向插入组件,这样避免田字块时重复 + * * @param currentComp 当前位置组件 - * @param child 待放置组件 - * @param x x - * @param y y + * @param child 待放置组件 + * @param x x + * @param y y */ protected void fixCrossPointArea(Component currentComp, XCreator child, int x, int y) { //计算前先全部初始化待调整控件所在的list initCompsList(); - switch(crossPointAreaDirect) { - case COMP_LEFT_TOP : + switch (crossPointAreaDirect) { + case COMP_LEFT_TOP: dealCrossPointAtLeftTop(currentComp, child); break; - case COMP_RIGHT_BOTTOM : + case COMP_RIGHT_BOTTOM: dealCrossPointAtRightBottom(currentComp, child); break; - case COMP_LEFT_BOTTOM : + case COMP_LEFT_BOTTOM: dealCrossPointAtLeftBottom(currentComp, child); break; - case COMP_RIGHT_TOP : + case COMP_RIGHT_TOP: dealCrossPointAtRightTop(currentComp, child); break; - case COMP_TOP : + case COMP_TOP: dealCrossPointAtTop(currentComp, child); break; - case COMP_BOTTOM : + case COMP_BOTTOM: dealCrossPointAtBottom(currentComp, child); break; - case COMP_LEFT : + case COMP_LEFT: dealCrossPointAtLeft(currentComp, child); break; - case COMP_RIGHT : + case COMP_RIGHT: dealCrossPointAtRight(currentComp, child); break; } @@ -708,16 +734,16 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ Component topComp = container.getTopComp(cX, cY); Component leftComp = container.getLeftComp(cX, cY); //上方没有组件或者有一个x坐标不相同的组件 - if (topComp==null || topComp.getX()!=cX) { + if (topComp == null || topComp.getX() != cX) { minDH = cH < leftComp.getHeight() ? cH : leftComp.getHeight(); downComps.add(leftComp); downComps.add(currentComp); int dLength = minDH / 2; - childw = leftComp.getWidth()+cW+actualVal; - childh = dLength-actualVal / 2; + childw = leftComp.getWidth() + cW + actualVal; + childh = dLength - actualVal / 2; if (isCalculateChildPos) { childPosition = new int[]{leftComp.getX(), leftComp.getY(), childw, childh}; - } else{ + } else { //先设置child位置,不然leftComp坐标调整后就不对了 child.setLocation(leftComp.getX(), leftComp.getY()); child.setSize(childw, childh); @@ -726,7 +752,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ } else { rightComps.add(currentComp); rightComps.add(topComp); - minRW = cW= minDH) { minDH -= actualVal / 2; if ((minDH * 2 / 3) < minHeight) { dLength = minDH - minHeight; - }else { + } else { dLength = minDH / 3; } uLength = averageH - dLength; - } else{ + } else { minUH -= actualVal / 2; if ((minUH * 2 / 3) < minHeight) { uLength = minUH - minHeight; - }else { + } else { uLength = minUH / 3; } dLength = averageH - uLength; @@ -999,16 +1026,16 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ child.setLocation(margin.getLeft(), margin.getRight()); child.setSize(rightLength - actualVal / 2, height); } else { - childPosition = new int[] {margin.getLeft(), margin.getRight(), rightLength - actualVal / 2, height}; + childPosition = new int[]{margin.getLeft(), margin.getRight(), rightLength - actualVal / 2, height}; } return; - } else if(minRW == 0){ + } else if (minRW == 0) { leftLength = minLW / 2; calculateLeftComps(leftLength, child, leftLength); return; } else if (minRW >= minLW) { minLW -= actualVal / 2; - if(minLW * 2 / 3 < minWidth) { + if (minLW * 2 / 3 < minWidth) { leftLength = minLW - minWidth; } else { leftLength = minLW / 3; @@ -1016,7 +1043,7 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ rightLength = averageW - leftLength; } else { minRW -= actualVal / 2; - if(minRW * 2 / 3 < minWidth) { + if (minRW * 2 / 3 < minWidth) { rightLength = minRW - minWidth; } else { rightLength = minRW / 3; @@ -1033,12 +1060,12 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ private void calculateBottomComps(int length) { length += actualVal / 2; - for (int i = 0,num = downComps.size(); i < num; i++){ + for (int i = 0, num = downComps.size(); i < num; i++) { Component comp = downComps.get(i); comp.setLocation(comp.getX(), comp.getY() + length); int offset = comp.getHeight() - length; comp.setSize(comp.getWidth(), offset); - XCreator creator = (XCreator)comp; + XCreator creator = (XCreator) comp; creator.recalculateChildHeight(offset); } } @@ -1048,24 +1075,24 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ int childWidth = (upComps.size() - 1) * actualVal; int childX = container.getWidth() - margin.getLeft() - margin.getRight(); int childY = 0; - if(upComps.size() > INDEX_ZERO){ + if (upComps.size() > INDEX_ZERO) { childY = upComps.get(INDEX_ZERO).getY() + upComps.get(INDEX_ZERO).getHeight() - length; } - for (int i = 0,num = upComps.size(); i < num; i++){ + for (int i = 0, num = upComps.size(); i < num; i++) { Component comp = upComps.get(i); childWidth += comp.getWidth(); - if (comp.getX() < childX){ + if (comp.getX() < childX) { childX = comp.getX(); } if (!isCalculateChildPos) { int offset = comp.getHeight() - length; comp.setSize(comp.getWidth(), offset); - XCreator creator = (XCreator)comp; + XCreator creator = (XCreator) comp; creator.recalculateChildHeight(offset); } } childY += actualVal; - averageH -= actualVal/2; + averageH -= actualVal / 2; if (isCalculateChildPos) { childPosition = new int[]{childX, childY, childWidth, averageH}; } else { @@ -1081,25 +1108,25 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ } int childH = (leftComps.size() - 1) * actualVal; int childX = 0; - if(leftComps.size() > INDEX_ZERO){ + if (leftComps.size() > INDEX_ZERO) { childX = leftComps.get(INDEX_ZERO).getX() + leftComps.get(INDEX_ZERO).getWidth() - length; } int childY = container.getHeight() - margin.getBottom(); - for (int i = 0,num = leftComps.size(); i < num; i++){ + for (int i = 0, num = leftComps.size(); i < num; i++) { Component comp = leftComps.get(i); childH += comp.getHeight(); - if (comp.getY() < childY){ + if (comp.getY() < childY) { childY = comp.getY(); } if (!isCalculateChildPos) { int offset = comp.getWidth() - length; comp.setSize(offset, comp.getHeight()); - XCreator creator = (XCreator)comp; + XCreator creator = (XCreator) comp; creator.recalculateChildWidth(offset); } } childX += actualVal; - averageW -= actualVal/2; + averageW -= actualVal / 2; if (isCalculateChildPos) { childPosition = new int[]{childX, childY, averageW, childH}; } else { @@ -1110,33 +1137,34 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter{ private void calculateRightComps(int length) { length += actualVal / 2; - for (int i=0,num=rightComps.size(); i Date: Fri, 17 Feb 2017 10:16:19 +0800 Subject: [PATCH 073/104] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E6=96=B9?= =?UTF-8?q?=E9=9D=A2=E5=AE=9E=E7=8E=B0=E4=BA=86=E6=8E=A7=E4=BB=B6=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E5=B1=9E=E6=80=A7=E8=A1=A8=201.=E5=B0=86MobileBodyWid?= =?UTF-8?q?getTable=E6=9B=B4=E5=90=8D=E4=B8=BAMobileWidgetTable=202.?= =?UTF-8?q?=E9=87=8D=E5=86=99MobieWidgetTable=E5=92=8CMobileParaWidgetTabl?= =?UTF-8?q?e=E7=9A=84=E6=8B=96=E5=8A=A8=E9=80=BB=E8=BE=91=203.=E5=B0=86Bod?= =?UTF-8?q?yAppRelayout=E4=BB=8Edesigner=5Fform\src\com\fr\design\designer?= =?UTF-8?q?\properties=E7=A7=BB=E5=8A=A8=E5=88=B0designer=5Fform\src\com\f?= =?UTF-8?q?r\design\designer\properties\mobile=204.=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E6=96=87=E4=BB=B6=205.=E6=95=B4?= =?UTF-8?q?=E7=90=86WidgetPropertyPane=E7=9A=84=E4=BB=A3=E7=A0=81=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E5=B9=B6=E4=B8=94=E5=8A=A0=E4=BB=A5=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81=206.?= =?UTF-8?q?=E7=94=B1=E4=BA=8E=E5=BC=95=E6=93=8E=E4=BB=A3=E7=A0=81=E4=B8=AD?= =?UTF-8?q?BoundsWidget=E4=BD=8D=E7=BD=AE=E5=8F=98=E5=8A=A8=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=86=97=E4=BD=99=E7=9A=84import=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E4=BF=AE=E6=94=B9import=20BoundsWidget?= =?UTF-8?q?=E6=96=B0=E4=BD=8D=E7=BD=AE=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/itable/AbstractPropertyTable.java | 61 ++- .../fr/design/gui/itable/PropertyGroup.java | 22 +- .../com/fr/design/locale/designer.properties | 3 +- .../design/locale/designer_en_US.properties | 3 +- .../design/locale/designer_zh_CN.properties | 3 +- .../design/locale/designer_zh_TW.properties | 3 +- .../designer/beans/ConnectorCreator.java | 3 +- .../layout/FRAbsoluteLayoutAdapter.java | 4 +- .../adapters/layout/FRFitLayoutAdapter.java | 2 +- .../beans/location/AccessDirection.java | 2 +- .../design/designer/beans/location/Inner.java | 3 +- .../designer/creator/XWAbsoluteLayout.java | 16 +- .../design/designer/creator/XWFitLayout.java | 2 +- .../designer/creator/XWScaleLayout.java | 2 +- .../designer/creator/XWTitleLayout.java | 2 +- .../cardlayout/XWCardMainBorderLayout.java | 2 +- .../creator/cardlayout/XWTabFitLayout.java | 2 +- .../{ => mobile}/BodyAppRelayoutTable.java | 16 +- .../mobile/BodyMobilePropertyUI.java | 1 - .../fr/design/mainframe/ConnectorHelper.java | 2 +- .../mainframe/MobileBodyWidgetTable.java | 267 ---------- .../mainframe/MobileParaWidgetTable.java | 431 ++++++++++++++++ .../design/mainframe/MobileWidgetTable.java | 460 +++++++++--------- .../design/mainframe/WidgetPropertyPane.java | 269 ++++++---- 24 files changed, 911 insertions(+), 670 deletions(-) rename designer_form/src/com/fr/design/designer/properties/{ => mobile}/BodyAppRelayoutTable.java (89%) delete mode 100644 designer_form/src/com/fr/design/mainframe/MobileBodyWidgetTable.java create mode 100644 designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java diff --git a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java index 02a6f547b8..6d36c31bdc 100644 --- a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java +++ b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java @@ -26,7 +26,7 @@ import com.fr.general.Inter; */ public abstract class AbstractPropertyTable extends JTable { - // 属性分组 + // // 所有数据组, 把数据分组,一个可折叠的项里面的所有行 为一组 protected ArrayList groups; protected TableModel default_table_model; // 属性表被选中的行加一个浅蓝色的背景 @@ -35,23 +35,34 @@ public abstract class AbstractPropertyTable extends JTable { public static final int PROPERTY_TABLE_ROW_HEIGHT = 22; public AbstractPropertyTable() { - this.setRowHeight(PROPERTY_TABLE_ROW_HEIGHT); + this.setTableProperties(); + this.initPopup(); + default_table_model = new DefaultTableModel(); + this.setModel(default_table_model); + } + + /** + * 设置表格属性 + */ + private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); header.setPreferredSize(new Dimension(0, PROPERTY_TABLE_ROW_HEIGHT)); header.setDefaultRenderer(new HeaderRenderer()); + this.setRowHeight(PROPERTY_TABLE_ROW_HEIGHT); this.setGridColor(new Color(212, 208, 200)); this.setSelectionBackground(PROPERTY_SELECTION_BACKGROUND); this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); this.setColumnSelectionAllowed(false); this.setRowSelectionAllowed(true); this.setFillsViewportHeight(true); - this.initPopup(); - default_table_model = new DefaultTableModel(); - this.setModel(default_table_model); this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); } + /** + * 在这个函数里面初始化表格数据再repaint + * @param source + */ public abstract void initPropertyGroups(Object source); public void fireValueChanged(Object old_value, boolean success, Object newValue) { @@ -64,24 +75,26 @@ public abstract class AbstractPropertyTable extends JTable { @Override public TableCellRenderer getCellRenderer(int row, int column) { + //如果数据组不为空 if (groups != null) { Point pIndex = getGroupIndex(row); if (pIndex == null){ return super.getCellRenderer(row, column); } + //拿出当前行所在的那个属性组 PropertyGroup group = groups.get(pIndex.x); + //如果是标题行 if (pIndex.y == 0) { - if (column == 0) { - return group.getFirstRenderer(); - } else { - return group.getSecondRenderer(); - } + //采用group中定义好的标题行渲染器 + return group.getRenderer(); } else { + //如果是非标题行第一列,采用默认渲染器 if (column == 0) { return super.getCellRenderer(row, column); } else { TableCellRenderer renderer = group.getModel().getRenderer(pIndex.y - 1); if (renderer instanceof Component) { + //如果这个渲染器是继承自Component,根据当前行列是否可编辑决定该控件是否可用 ((Component) renderer).setEnabled(isCellEditable(row, column)); } return renderer; @@ -115,6 +128,12 @@ public abstract class AbstractPropertyTable extends JTable { } } + /** + * 看懂了。。写个注释先 + * 获取当前row行的Point(x, y), x代表当前row行是属于groups中的第x个组,y代表当前row行所在的第x组里面的第y行 + * @param row + * @return + */ private Point getGroupIndex(int row) { int count = 0; for (int i = 0; i < groups.size(); i++) { @@ -135,6 +154,10 @@ public abstract class AbstractPropertyTable extends JTable { this.addMouseListener(new MouseAdapter() { + /** + * 如果点到标题行就要触发折叠事件 + * @param e + */ @Override public void mouseClicked(MouseEvent e) { if (!e.isPopupTrigger() && groups != null) { @@ -148,6 +171,11 @@ public abstract class AbstractPropertyTable extends JTable { } } + /** + * 这个mousePressed和上面的mouseClicked唯一不同的地方是单双击和e.getX() < 10 的判断 + * 这个意思应该就是说点到图标(加号减号),立即触发折叠效果,否则点其他处要双击才能触发 + * @param e + */ @Override public void mousePressed(MouseEvent e) { if (!e.isPopupTrigger() && groups != null) { @@ -163,16 +191,27 @@ public abstract class AbstractPropertyTable extends JTable { }); } + /** + * 切换属性组折叠属性true/false + * @param groupIndex + */ private void toggleCollapse(int groupIndex) { PropertyGroup group = groups.get(groupIndex); group.setCollapsed(!group.isCollapsed()); + //这里获取表格的父控件是为了当表格被折叠了后,装表格的父控件也要相应的重新布局一下 + //比如折叠之后表格行数应该比原来的少,占用父容器空间应该小点,不重新布局父容器,表格大小不会改变 Container parent = AbstractPropertyTable.this.getParent(); if (parent != null) { - parent.doLayout(); +// parent.doLayout(); // 这里还是用revalidate吧。。daLayout有时候会失效不知道为什么 + parent.revalidate(); } repaint(); } + /** + * BeanTableModel类,提供表格数据 + * 它的所有数据来源均来自PropertyGroup中的AbstractPropertyGroupModel中的descriptor + */ public class BeanTableModel extends AbstractTableModel { @Override diff --git a/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java b/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java index f66288e391..0e6426ac17 100644 --- a/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java +++ b/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java @@ -4,18 +4,19 @@ import javax.swing.table.TableCellRenderer; import com.fr.design.beans.GroupModel; +/** + * PropertyGroup类描述了属性表中一个属性分组 + */ public class PropertyGroup { - private GroupModel model; - private String name; - private boolean collapsed; - private GroupRenderer renderer1; - private GroupRenderer renderer2; + private GroupModel model; // 描述这个属性组中的数据model + private String name; // 这组属性的标题名称 + private boolean collapsed; // 这组属性是否折叠 + private GroupRenderer renderer; // 属性标题渲染器 public PropertyGroup(GroupModel model) { this(model.getGroupName(), model, false); - renderer1 = new GroupRenderer(); - renderer2 = new GroupRenderer(); + renderer = new GroupRenderer(); } public PropertyGroup(String name, GroupModel model, boolean collapsed) { @@ -48,11 +49,8 @@ public class PropertyGroup { this.collapsed = collapsed; } - public TableCellRenderer getFirstRenderer() { - return renderer1; + public TableCellRenderer getRenderer() { + return renderer; } - public TableCellRenderer getSecondRenderer() { - return renderer2; - } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 41f3c8cdd8..2140d85182 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -520,4 +520,5 @@ FR-Designer_Background_Clear= FR-Designer_Background_Image_Select= FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= +FR-Designer_WidgetOrder= \ No newline at end of file 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 334e01ca8c..7067d99320 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 @@ -520,4 +520,5 @@ FR-Designer_Background_Clear=Clear FR-Designer_Background_Image_Select=Select Picture FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= +FR-Designer_WidgetOrder=Widget Order \ No newline at end of file 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 10c53380d0..b86e381ba7 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 @@ -524,4 +524,5 @@ FR-Designer_Background_Clear=\u6E05\u9664 FR-Designer_Background_Image_Select=\u9009\u62E9\u56FE\u7247 FR-Designer_Tab_carousel=tab\u8F6E\u64AD FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD -FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 \ No newline at end of file +FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F \ 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 96cb4260a9..795ae69876 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 @@ -512,4 +512,5 @@ FR-Designer_Background_Clear= FR-Designer_Background_Image_Select= FR-Designer_Tab_carousel= FR-Designer_setCarousel= -FR-Designer_carouselInterval= \ No newline at end of file +FR-Designer_carouselInterval= +FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java b/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java index 2bfc0bf3f6..70a5d71f2c 100644 --- a/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java +++ b/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java @@ -6,8 +6,7 @@ import java.util.ArrayList; import java.util.PriorityQueue; import com.fr.form.ui.container.WLayout; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; - +import com.fr.form.ui.widget.BoundsWidget; public class ConnectorCreator { diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java index 3d53eab015..140204e75c 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapter.java @@ -12,7 +12,7 @@ import com.fr.design.designer.properties.FRAbsoluteLayoutPropertiesGroupModel; import com.fr.form.ui.container.WAbsoluteLayout; import com.fr.design.utils.ComponentUtils; import com.fr.design.utils.gui.LayoutUtils; -import com.fr.form.ui.container.WBodyLayoutType; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; @@ -111,7 +111,7 @@ public class FRAbsoluteLayoutAdapter extends FRBodyLayoutAdapter { Rectangle curRec = new Rectangle(creatorX, creatorY, creator.getWidth(), creator.getHeight()); WAbsoluteLayout wAbsoluteLayout = (WAbsoluteLayout)topLayout.toData(); for (int i = 0, count = wAbsoluteLayout.getWidgetCount(); i < count; i++) { - WAbsoluteLayout.BoundsWidget temp = (WAbsoluteLayout.BoundsWidget) wAbsoluteLayout.getWidget(i); + BoundsWidget temp = (BoundsWidget) wAbsoluteLayout.getWidget(i); Rectangle rectangle = temp.getBounds(); if (curRec.intersects(rectangle)){ return false; diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java index 25b079caf0..0cfd0c7143 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRFitLayoutAdapter.java @@ -26,9 +26,9 @@ import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.mainframe.JForm; import com.fr.design.utils.ComponentUtils; import com.fr.form.ui.LayoutBorderStyle; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.WLayout; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.ComparatorUtils; /** diff --git a/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java b/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java index a9d7007703..aa9125e5df 100644 --- a/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java +++ b/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java @@ -12,8 +12,8 @@ import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormSelection; import com.fr.design.utils.ComponentUtils; import com.fr.form.ui.container.WAbsoluteLayout; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.WParameterLayout; +import com.fr.form.ui.widget.BoundsWidget; /** * @author richer diff --git a/designer_form/src/com/fr/design/designer/beans/location/Inner.java b/designer_form/src/com/fr/design/designer/beans/location/Inner.java index c54796a0ab..3abe94730d 100644 --- a/designer_form/src/com/fr/design/designer/beans/location/Inner.java +++ b/designer_form/src/com/fr/design/designer/beans/location/Inner.java @@ -9,9 +9,8 @@ import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormSelection; import com.fr.design.utils.ComponentUtils; import com.fr.form.ui.container.WAbsoluteLayout; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.stable.ArrayUtils; -import com.fr.third.com.lowagie.text.*; import java.awt.*; import java.awt.Rectangle; diff --git a/designer_form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java b/designer_form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java index 06ae6fa785..4ed1b6549b 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java @@ -8,39 +8,25 @@ import java.awt.event.ContainerEvent; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.beans.IntrospectionException; -import java.util.ArrayList; import java.util.HashMap; import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.ComponentAdapter; import com.fr.design.designer.beans.LayoutAdapter; -import com.fr.design.designer.beans.adapters.layout.AbsoluteLayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRAbsoluteLayoutAdapter; import com.fr.design.designer.beans.location.Direction; import com.fr.design.designer.beans.models.SelectionModel; -import com.fr.design.designer.creator.cardlayout.XWTabFitLayout; import com.fr.design.form.layout.FRAbsoluteLayout; -import com.fr.design.form.util.XCreatorConstants; -import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.icon.IconPathConstants; import com.fr.design.mainframe.*; -import com.fr.design.mainframe.widget.editors.PaddingMarginEditor; -import com.fr.design.mainframe.widget.editors.WLayoutBorderStyleEditor; -import com.fr.design.mainframe.widget.renderer.LayoutBorderStyleRenderer; -import com.fr.design.mainframe.widget.renderer.PaddingMarginCellRenderer; import com.fr.form.ui.Connector; import com.fr.form.ui.Widget; import com.fr.form.ui.container.WAbsoluteLayout; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; -import com.fr.form.ui.container.WFitLayout; import com.fr.form.ui.container.WLayout; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.FRScreen; import com.fr.general.IOUtils; import com.fr.general.Inter; -import com.fr.stable.core.PropertyChangeAdapter; -import org.eclipse.swt.internal.gdip.Rect; - -import javax.swing.*; /** * @author richer diff --git a/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java b/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java index 483b08fe59..340ec9cd1e 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java @@ -20,10 +20,10 @@ import com.fr.design.mainframe.FormArea; import com.fr.design.utils.gui.LayoutUtils; import com.fr.form.ui.PaddingMargin; import com.fr.form.ui.Widget; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.WBodyLayoutType; import com.fr.form.ui.container.WFitLayout; import com.fr.form.ui.container.WLayout; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.FRScreen; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; diff --git a/designer_form/src/com/fr/design/designer/creator/XWScaleLayout.java b/designer_form/src/com/fr/design/designer/creator/XWScaleLayout.java index 46683401b8..8dad2c7f07 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWScaleLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWScaleLayout.java @@ -11,8 +11,8 @@ import com.fr.design.designer.beans.LayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRScaleLayoutAdapter; import com.fr.design.form.layout.FRScaleLayout; import com.fr.form.ui.Widget; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.WScaleLayout; +import com.fr.form.ui.widget.BoundsWidget; /** * 自适应布局中添加组件时,部分控件如数字文本下拉等需要保持控件默认高度21, 用此容器来实现 diff --git a/designer_form/src/com/fr/design/designer/creator/XWTitleLayout.java b/designer_form/src/com/fr/design/designer/creator/XWTitleLayout.java index c0f45c8889..0e1a293bdf 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWTitleLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWTitleLayout.java @@ -10,8 +10,8 @@ import com.fr.design.fun.WidgetPropertyUIProvider; import com.fr.form.ui.Label; import com.fr.form.ui.Widget; import com.fr.form.ui.WidgetTitle; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.WTitleLayout; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.ComparatorUtils; import java.awt.*; diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java index 42a45c53c3..08f5765b99 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java @@ -18,8 +18,8 @@ import com.fr.design.icon.IconPathConstants; import com.fr.design.mainframe.EditingMouseListener; import com.fr.design.mainframe.FormDesigner; import com.fr.form.ui.container.WBorderLayout; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.IOUtils; import com.fr.general.Inter; diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index d772e3b453..a1fafb0075 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -23,9 +23,9 @@ import com.fr.design.mainframe.widget.editors.ImgBackgroundEditor; import com.fr.design.mainframe.widget.renderer.FontCellRenderer; import com.fr.design.utils.gui.LayoutUtils; import com.fr.form.ui.CardSwitchButton; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WTabFitLayout; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.general.Background; import com.fr.general.FRFont; import com.fr.general.Inter; diff --git a/designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java b/designer_form/src/com/fr/design/designer/properties/mobile/BodyAppRelayoutTable.java similarity index 89% rename from designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java rename to designer_form/src/com/fr/design/designer/properties/mobile/BodyAppRelayoutTable.java index 36bde25d82..fb0cc93b49 100644 --- a/designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java +++ b/designer_form/src/com/fr/design/designer/properties/mobile/BodyAppRelayoutTable.java @@ -1,9 +1,9 @@ -package com.fr.design.designer.properties; +package com.fr.design.designer.properties.mobile; +import java.awt.*; import java.awt.event.MouseEvent; import java.beans.IntrospectionException; import java.util.ArrayList; -import javax.swing.table.TableModel; import com.fr.base.FRContext; import com.fr.design.designer.beans.events.DesignerEvent; @@ -17,7 +17,9 @@ import com.fr.design.mainframe.WidgetPropertyPane; import com.fr.design.mainframe.widget.editors.InChangeBooleanEditor; import com.fr.general.Inter; - +/** + * 将body的控件列表中再加入手机重布局选项 + */ public class BodyAppRelayoutTable extends AbstractPropertyTable { private XCreator xCreator; @@ -31,7 +33,6 @@ public class BodyAppRelayoutTable extends AbstractPropertyTable { CRPropertyDescriptor[] propertyTableEditor = { new CRPropertyDescriptor("appRelayout", this.xCreator.toData().getClass()).setEditorClass(InChangeBooleanEditor.class) .setI18NName(Inter.getLocText("FR-Designer-App_ReLayout")) - .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, Inter.getLocText("FR-Designer-Layout_Adaptive_Layout")) }; return propertyTableEditor; } @@ -43,6 +44,7 @@ public class BodyAppRelayoutTable extends AbstractPropertyTable { public void initPropertyGroups(Object source) { this.designer = WidgetPropertyPane.getInstance().getEditingFormDesigner(); + this.setFillsViewportHeight(false); groups = new ArrayList(); CRPropertyDescriptor[] propertyTableEditor = null; @@ -55,8 +57,7 @@ public class BodyAppRelayoutTable extends AbstractPropertyTable { groups.add(new PropertyGroup(new ReportAppPropertyGroupModel(Inter.getLocText("FR-Designer_Properties_Mobile"), xCreator, propertyTableEditor, designer))); - TableModel model = new BeanTableModel(); - setModel(model); + setModel(new BeanTableModel()); this.repaint(); } @@ -78,8 +79,9 @@ public class BodyAppRelayoutTable extends AbstractPropertyTable { } /** - * 待说明 + * 触发控件编辑事件 */ + @Override public void firePropertyEdit() { designer.getEditListenerTable().fireCreatorModified(DesignerEvent.CREATOR_EDITED); } diff --git a/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java b/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java index 70b80bc990..a3a1e5086a 100644 --- a/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java +++ b/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java @@ -3,7 +3,6 @@ package com.fr.design.designer.properties.mobile; import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XWAbsoluteBodyLayout; import com.fr.design.designer.creator.XWFitLayout; -import com.fr.design.designer.properties.BodyAppRelayoutTable; import com.fr.design.fun.impl.AbstractWidgetPropertyUIProvider; import com.fr.design.gui.itable.AbstractPropertyTable; import com.fr.general.Inter; diff --git a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java index e592a48c9b..f2b68043d1 100644 --- a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java +++ b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java @@ -7,12 +7,12 @@ import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.util.ArrayList; +import com.fr.form.ui.widget.BoundsWidget; import com.fr.stable.Constants; import com.fr.base.GraphHelper; import com.fr.design.designer.beans.ConnectorCreator; import com.fr.design.designer.creator.XWAbsoluteLayout; import com.fr.form.ui.Connector; -import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; public class ConnectorHelper { //这个类是用来画连接线的,暂时用不到 diff --git a/designer_form/src/com/fr/design/mainframe/MobileBodyWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileBodyWidgetTable.java deleted file mode 100644 index 90e2316a67..0000000000 --- a/designer_form/src/com/fr/design/mainframe/MobileBodyWidgetTable.java +++ /dev/null @@ -1,267 +0,0 @@ -package com.fr.design.mainframe; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Cursor; -import java.awt.Dimension; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.ArrayList; - -import javax.swing.BorderFactory; -import javax.swing.JLabel; -import javax.swing.JTable; -import javax.swing.ListSelectionModel; -import javax.swing.table.DefaultTableCellRenderer; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.JTableHeader; -import javax.swing.table.TableModel; - -import com.fr.design.designer.creator.XCreator; -import com.fr.design.designer.creator.XLayoutContainer; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itable.HeaderRenderer; -import com.fr.form.ui.Widget; -import com.fr.form.ui.container.WFitLayout; -import com.fr.general.ComparatorUtils; -import com.fr.general.Inter; -import com.fr.stable.StringUtils; - -/** - * Created with IntelliJ IDEA. - * User: zx - * Date: 14-9-15 - * Time: 下午4:52 - */ -public class MobileBodyWidgetTable extends JTable { - - private FormDesigner designer; - protected TableModel defaultmodel; - private String[][] cellData; - private String[] headers = {Inter.getLocText("Form-Widget_Name")}; - public static final int WIDGET_TABLE_ROW_HEIGHT = 22; - private UILabel moveComponent = new UILabel(); - private int selectedRow = -1; - private int GAP = 10; - private boolean draging = false; - - - public MobileBodyWidgetTable(FormDesigner designer) { - this.designer = designer; - cellData = getData(); - this.setRowHeight(WIDGET_TABLE_ROW_HEIGHT); - JTableHeader header = getTableHeader(); - header.setReorderingAllowed(false); - header.setPreferredSize(new Dimension(0, WIDGET_TABLE_ROW_HEIGHT)); - HeaderRenderer headerRenderer = new HeaderRenderer(); - headerRenderer.setHorizontalAlignment(JLabel.CENTER); - header.setDefaultRenderer(headerRenderer); - this.setGridColor(new Color(212, 208, 200)); - this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - this.setColumnSelectionAllowed(false); - this.setRowSelectionAllowed(false); - this.setFillsViewportHeight(true); - defaultmodel = new BeanTableModel(); - this.setModel(defaultmodel); - this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); - this.repaint(); - this.setDefaultRenderer(Object.class,new MobileWidgetTableCellRenderer()); - refresh(); - this.addMouseListener(mouseAdapter); - this.addMouseMotionListener(mouseAdapter); - add(moveComponent); - } - - private MouseAdapter mouseAdapter = new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - if(getSelectedRow() != -1){ - String widgetName = cellData[getSelectedRow()][0]; - if (StringUtils.isNotEmpty(widgetName)){ - XLayoutContainer root = getEditingDesigner().getRootComponent(); - int count = root.getXCreatorCount(); - for (int i = 0;i < count ;i++){ - XCreator xCreator = root.getXCreator(i).getEditingChildCreator(); - Widget widget = xCreator.toData(); - if (ComparatorUtils.equals(widgetName, widget.getWidgetName())) { - getEditingDesigner().getSelectionModel().setSelectedCreator(xCreator); - setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); - selectedRow = getSelectedRow(); - } - } - } - } - } - public void mouseExited(MouseEvent e) { - draging = false; - moveComponent.setVisible(false); - setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - } - - @Override - public void mouseMoved(MouseEvent e) { - int overRow = 0; - for (int i = 0;i < getRowCount();i++) { - if (e.getY() > i * WIDGET_TABLE_ROW_HEIGHT && e.getY() <= (i + 1) * WIDGET_TABLE_ROW_HEIGHT){ - overRow = i; - } - } - if (overRow == getSelectedRow()) { - setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); - } else { - setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - } - } - - @Override - public void mouseDragged(MouseEvent e) { - int width = getColumnModel().getColumn(0).getWidth(); - if (getCursor().getType() == Cursor.MOVE_CURSOR){ - draging = true; - //下面这句话太重要了,拖拽过程中选中的不变 - getInstance().setRowSelectionInterval(selectedRow,selectedRow); - moveComponent.setText(getValueAt(getSelectedRow(), getSelectedColumn()).toString()); - moveComponent.setLocation(0, e.getY() - GAP); - moveComponent.setPreferredSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); - moveComponent.setSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); - moveComponent.setVisible(true); - moveComponent.setForeground(Color.lightGray); - moveComponent.setBorder(BorderFactory.createLineBorder(Color.lightGray)); - } - } - @Override - public void mouseReleased(MouseEvent e) { - if(!draging){ - return; - } - draging = false; - moveComponent.setVisible(false); - int toIndex = e.getY() < GAP ? 0 : (int)Math.rint((e.getY() - GAP)/WIDGET_TABLE_ROW_HEIGHT) + 1; - ((WFitLayout) designer.getRootComponent().toData()).adjustOrder(getSelectedRow(), toIndex); - getInstance().setRowSelectionInterval(0,getRowCount() - 1); - refresh(); - getInstance().repaint(); - designer.fireTargetModified(); - } - }; - - public MobileBodyWidgetTable getInstance(){ - return this; - } - - public FormDesigner getEditingDesigner(){ - return designer; - } - - /** - * 刷新 - */ - public void refresh(){ - XCreator creator = designer.getSelectionModel().getSelection().getSelectedCreator(); - cellData = getData(); - if(creator != null){ - String widgetName =creator.toData().getWidgetName(); - int row = -1; - for (int i =0; i < cellData.length;i++){ - if(ComparatorUtils.equals(widgetName, cellData[i][0])){ - row = i; - break; - } - } - selectedRow = row; - changeSelection(row,0,false,false); - if(row == -1){ - this.clearSelection(); - } - } - } - - private String[][] getData(){ - if(designer.isFormParaDesigner()){ - return new String[0][0]; - } - XLayoutContainer paraContainer = designer.getRootComponent(); - if(paraContainer == null || !paraContainer.acceptType(WFitLayout.class)){ - return new String[0][0]; - } - - WFitLayout fitLayout = (WFitLayout) (paraContainer.toData()); - ArrayList strings = fitLayout.getMobileWidgetList(); - String[][] widgetName = new String[strings.size()][2]; - for(int i = 0;i < strings.size();i++){ - widgetName[i][0] = strings.get(i); - } - return widgetName; - } - - private class MobileWidgetTableCellRenderer extends DefaultTableCellRenderer { - public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, - boolean hasFocus, int row, int column) { - if (getCursor().getType() == Cursor.MOVE_CURSOR){ - if(selectedRow > -1 && selectedRow < getRowCount()){ - //拖拽过程中选中的不变 - getInstance().setRowSelectionInterval(selectedRow,selectedRow); - } - } - super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - return this; - } - - } - - public class BeanTableModel extends DefaultTableModel { - public BeanTableModel() { - super(cellData,headers); - } - - @Override - public int getRowCount() { - return cellData.length; - } - - @Override - public int getColumnCount() { - return 1; - } - - - @Override - public Object getValueAt(int row, int column) { - if (row >= getRowCount() || column >= getColumnCount()) { - return null; - } - - return cellData[row][0]; - } - - @Override - public String getColumnName(int column) { - return headers[0]; - } - - - @Override - public void setValueAt(Object aValue, int row, int column) { - if (row >= getRowCount() || column >= getColumnCount()) { - return; - } - if (aValue == null) { - cellData[row] = null; - return; - } - cellData[row][0] = aValue.toString(); - } - - /** - * 是否可编辑 - * @param row 行号 - * @param column 列号 - * @return 是否可编辑 - */ - public boolean isCellEditable(int row, int column) { - return false; - } - - } - -} \ No newline at end of file diff --git a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java new file mode 100644 index 0000000000..9d670db2ca --- /dev/null +++ b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java @@ -0,0 +1,431 @@ +package com.fr.design.mainframe; + + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Component; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.geom.RoundRectangle2D; +import java.util.EventObject; + +import javax.swing.AbstractCellEditor; +import javax.swing.BorderFactory; +import javax.swing.JTable; +import javax.swing.ListSelectionModel; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.table.DefaultTableCellRenderer; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.JTableHeader; +import javax.swing.table.TableCellEditor; +import javax.swing.table.TableColumn; +import javax.swing.table.TableModel; + +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itable.GroupRenderer; +import com.fr.design.gui.itable.HeaderRenderer; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.designer.creator.XCreator; +import com.fr.design.designer.creator.XLayoutContainer; +import com.fr.design.designer.creator.XWParameterLayout; +import com.fr.form.ui.Label; +import com.fr.form.ui.Widget; +import com.fr.form.ui.container.WParameterLayout; +import com.fr.general.ComparatorUtils; +import com.fr.general.Inter; +import com.fr.stable.StringUtils; + +/** + * MobileParaWidgetTable主要显示参数面板容器的控件列表,与MobileWidgetTable的区别就是该表多了UITextField这一列 + * Created with IntelliJ IDEA. + * User: zx + * Date: 14-7-9 + * Time: 上午11:26 + * Modified by fanglei during 2017/1/22 - 2017/2/ + */ +class MobileParaWidgetTable extends JTable { + + private FormDesigner designer; + private String[][] cellData ; + private String[] headers = {Inter.getLocText("FR-Utils_Label"), Inter.getLocText("Form-Widget_Name")}; + private static final int WIDGET_TABLE_ROW_HEIGHT = 22; + private static final int UITEXTFIELD_WIDTH = 40; + private UILabel moveComponent = new UILabel(); // 作为拖动时候随鼠标移动的那个半透明控件 + private int selectedRow = -1; + private int selectedColumn = -1; + private int GAP = 11; + private boolean draging = false; + + MobileParaWidgetTable(FormDesigner designer) { + this.designer = designer; + this.cellData = getData(); + this.setTableProperties(); + this.setDefaultEditor(Object.class, new MobileCellEditor()); + TableModel defaultModel = new BeanTableModel(); + this.setModel(defaultModel); + this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + TableColumn tc = this.getColumn(this.getColumnName(0)); + tc.setPreferredWidth(UITEXTFIELD_WIDTH); + this.repaint(); + this.setDefaultRenderer(Object.class,new MobileWidgetTableCellRenderer()); + refreshData(); + this.addMouseListener(mouseAdapter); + this.addMouseMotionListener(mouseAdapter); + add(moveComponent); + } + + /** + * 设置表格属性 + */ + private void setTableProperties() { + JTableHeader header = getTableHeader(); + header.setReorderingAllowed(false); + header.setPreferredSize(new Dimension(0, WIDGET_TABLE_ROW_HEIGHT)); + header.setDefaultRenderer(new HeaderRenderer()); + + this.setRowHeight(WIDGET_TABLE_ROW_HEIGHT); + this.setGridColor(new Color(212, 208, 200)); + this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + this.setColumnSelectionAllowed(false); + this.setRowSelectionAllowed(false); + this.setFillsViewportHeight(true); + } + + private MouseAdapter mouseAdapter = new MouseAdapter() { + /** + * 鼠标按下时处理的事件(设置当前选中的行列) + * @param e + */ + @Override + public void mousePressed(MouseEvent e) { + getInstance().setCellSelected(); + } + + /** + * 鼠标放开时处理的事件(如果是正在拖动则执行换位操作,重新绘制属性表,如果不是则什么也不做) + * @param e + */ + @Override + public void mouseReleased(MouseEvent e) { + if(!draging){ + return; + } + draging = false; + moveComponent.setVisible(false); + int toIndex = e.getY() < GAP ? 0 : (int)Math.rint((e.getY() - GAP)/WIDGET_TABLE_ROW_HEIGHT) + 1; + //当鼠标放开时,将选中的容器调整至新的顺序 + ((WParameterLayout) designer.getParaComponent().toData()).adjustOrder(selectedRow, toIndex); + //拿取排序后表格数据,然后重绘表格 + getInstance().refreshData(); + getInstance().repaint(); + designer.fireTargetModified(); + getInstance().setCellSelected(); + } + + /** + * 设置鼠标在属性表区域移动时候的事件 + * @param e + */ + @Override + public void mouseMoved(MouseEvent e) { + int overColumn = e.getX() < getColumnModel().getColumn(0).getWidth() ? 0 : 1; // 判断当前鼠标在哪一列 + int overRow = -1; + for (int i = 0;i < getRowCount();i++) { + if (e.getY() > i * WIDGET_TABLE_ROW_HEIGHT && e.getY() <= (i + 1) * WIDGET_TABLE_ROW_HEIGHT) { + overRow = i; //判断当前鼠标在哪一行 + } + } + //如果鼠标移动到当前选中的行列上面的时候,并且不能在第一列 + if (overRow == selectedRow && overColumn == selectedColumn && overColumn !=0) { + //把当前选中的那一列行的光标改成(除了第一列)移动样式MOVE_CURSOR + setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + } else { + setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + } + } + + /** + * 鼠标拖动事件(如果鼠标当前是MOVE_CURSOR状态则执行开始拖动的代码, + * 绘制一个moveComponent来跟随鼠标移动) + * @param e + */ + @Override + public void mouseDragged(MouseEvent e) { + int width = getColumnModel().getColumn(1).getWidth(); + //如果点击选中的是第二列,就可以拖动 + if (selectedColumn == 1){ + setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + draging = true; + moveComponent.setText(getValueAt(selectedRow, selectedColumn).toString()); + moveComponent.setLocation(getColumnModel().getColumn(0).getWidth(), e.getY() - GAP); + moveComponent.setSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); + moveComponent.setVisible(true); + moveComponent.setForeground(Color.lightGray); + moveComponent.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + } + } + + /** + * 设置鼠标单击时处理的事件(单击第二列的控件列表进入控件属性表) + * @param e + */ + @Override + public void mouseClicked(MouseEvent e) { + if(getSelectedRow() != -1 && getSelectedColumn() == 1){ + String widgetName = cellData[getSelectedRow()][getSelectedColumn()]; + if (StringUtils.isNotEmpty(widgetName)){ + int count = getEditingDesigner().getParaComponent().getComponentCount(); + for (int i = 0; i < count; i++){ + XCreator xCreator = (XCreator)getEditingDesigner().getParaComponent().getComponent(i); + Widget widget = xCreator.toData(); + if (!widget.acceptType(Label.class) && ComparatorUtils.equals(widgetName,widget.getWidgetName())) { + //设置选中的component,这句代码控制点击之后跳转到相应component属性表 + getEditingDesigner().getSelectionModel().setSelectedCreator(xCreator); + } + } + } + } + } + + /** + * 鼠标离开属性表区域事件 + * @param e + */ + @Override + public void mouseExited(MouseEvent e) { + draging = false; + moveComponent.setVisible(false); + setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + } + }; + + public MobileParaWidgetTable getInstance(){ + return this; + } + + private FormDesigner getEditingDesigner(){ + return designer; + } + + /** + * 设置当前get到的行列的单元格为选中状态 + */ + private void setCellSelected() { + selectedRow = getSelectedRow(); + selectedColumn = getSelectedColumn(); + if (selectedRow != -1) { + this.setRowSelectionInterval(selectedRow, selectedRow); + } + if (selectedColumn != -1) { + this.setColumnSelectionInterval(selectedColumn, selectedColumn); + } + } + + /** + * 重新get排序后的数据 + */ + public void refreshData(){ + cellData = getData(); + } + + /** + * 获取参数面板的控件列表 + * + * @return String[][] 二维数组,[0][0]widgetTag, [0][1]widgetName + */ + private String[][] getData(){ + XLayoutContainer paraContainer = designer.getParaComponent(); + if(paraContainer == null || !paraContainer.acceptType(XWParameterLayout.class)){ + return new String[0][0]; + } + + WParameterLayout para = (WParameterLayout) (paraContainer.toData()); + return para.getWidgetNameTag(); // TODO 从这个函数开始看,可以看到后台如何决定拖动后的控件顺序的 + } + + /** + * 自定义的tableRender类 + */ + private class MobileWidgetTableCellRenderer extends DefaultTableCellRenderer{ + @Override + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, + boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + if (column == 0){ + UITextField uiTableTextField; + if (getSelectedColumn() == column && getSelectedRow() == row){ + uiTableTextField = new UITableTextField(value.toString()); + } else { + uiTableTextField = new UITextField(value.toString()); + } + return uiTableTextField; + } + return this; + } + + } + + /** + * 自定义的tableEditor类 + */ + private class MobileCellEditor extends AbstractCellEditor implements TableCellEditor { + UITableTextField uiTableTextField; + MobileCellEditor(){ + uiTableTextField = new UITableTextField(); + uiTableTextField.addFocusListener(new FocusAdapter() { + @Override + public void focusLost(FocusEvent evt) { + stopCellEditing(); + designer.fireTargetModified(); + } + }); + uiTableTextField.getDocument().addDocumentListener(new DocumentListener() { + @Override + public void insertUpdate(DocumentEvent e) { + firePropertyChange(); + } + + @Override + public void removeUpdate(DocumentEvent e) { + firePropertyChange(); + } + + @Override + public void changedUpdate(DocumentEvent e) { + firePropertyChange(); + } + }); + } + + /** + * cell改变,相应的nametag改变 + */ + private void firePropertyChange(){ + ((WParameterLayout) designer.getParaComponent().toData()).add2NameTagMap(uiTableTextField.getText(), + cellData[getSelectedRow()][1]); + } + + @Override + public Object getCellEditorValue(){ + return uiTableTextField.getText(); + } + + /** + * 双击以编辑, 表示只有双击的情况下才可以编辑 + */ + @Override + public boolean isCellEditable(EventObject anEvent) { + return !(anEvent instanceof MouseEvent) || ((MouseEvent) anEvent).getClickCount() >= 2; + } + + @Override + public Component getTableCellEditorComponent( JTable table,Object value, + boolean isSelected,int row,int column){ + uiTableTextField.setText(value.toString()); + return uiTableTextField; + } + } + + /** + * BeanTableModel类继承DefaultTableModel类,指定了表格的表头和内容 + */ + private class BeanTableModel extends DefaultTableModel { + BeanTableModel() { + super(cellData, headers); + } + + @Override + public int getRowCount() { + return cellData.length; + } + + @Override + public int getColumnCount() { + return headers.length; + } + + + @Override + public Object getValueAt(int row, int column) { + if (row >= getRowCount() || column >= getColumnCount()) { + return null; + } + Object[] rowValue = cellData[row]; + if (column > -1 && column < rowValue.length) { + return cellData[row][column]; + } + return null; + } + + @Override + public String getColumnName(int column) { + if (column == 0) { + return headers[0]; + } else { + return headers[1]; + } + } + + + @Override + public void setValueAt(Object aValue, int row, int column) { + if (row >= getRowCount() || column >= getColumnCount()) { + return; + } + if (aValue == null) { + cellData[row][column] = null; + return; + } + cellData[row][column] = aValue.toString(); + } + + /** + * 是否可编辑 控件标签列可以编辑,控件名不可编辑 + * @param row 行号 + * @param column 列号 + * @return 是否可编辑 + */ + public boolean isCellEditable(int row, int column) { + if(column ==1){ + return false; + } + return true; + } + + } + + /** + * 继承自JTextField类,重写了编辑框的样式 + */ + private class UITableTextField extends UITextField { + public UITableTextField(){ + super(); + } + + public UITableTextField(String string){ + super(string); + } + + protected void paintBorder(Graphics g) { + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + if (this.isFocusOwner()) { + g2d.setStroke(new BasicStroke(1.5f)); + } else { + g2d.setStroke(new BasicStroke(1f)); + } + RoundRectangle2D.Double rect = new RoundRectangle2D.Double(0, 0, this.getWidth() - 2, this.getHeight() - 2, 4, 4); + g2d.setColor(Color.orange); + g2d.draw(rect); + } + + } +} \ No newline at end of file diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index fb8f5fc861..a692e37667 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -1,167 +1,208 @@ package com.fr.design.mainframe; - -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Component; -import java.awt.Cursor; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.awt.geom.RoundRectangle2D; -import java.util.EventObject; +import java.util.ArrayList; -import javax.swing.AbstractCellEditor; import javax.swing.BorderFactory; +import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.ListSelectionModel; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import javax.swing.table.DefaultTableCellRenderer; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.JTableHeader; -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableColumn; -import javax.swing.table.TableModel; +import javax.swing.table.*; +import com.fr.design.designer.creator.XCreator; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itable.GroupRenderer; import com.fr.design.gui.itable.HeaderRenderer; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.designer.creator.XCreator; -import com.fr.design.designer.creator.XLayoutContainer; -import com.fr.design.designer.creator.XWParameterLayout; -import com.fr.form.ui.Label; import com.fr.form.ui.Widget; -import com.fr.form.ui.container.WParameterLayout; +import com.fr.form.ui.container.*; +import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; +import com.fr.form.ui.container.cardlayout.WCardTitleLayout; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.StringUtils; /** + * MobileWidgetTable类主要显示各种容器的控件列表(body,tab,绝对布局快,不包括参数面板) * Created with IntelliJ IDEA. * User: zx - * Date: 14-7-9 - * Time: 上午11:26 + * Date: 14-9-15 + * Time: 下午4:52 + * Modified by fanglei at 2017/01/23 */ public class MobileWidgetTable extends JTable { private FormDesigner designer; - protected TableModel defaultmodel; - private String[][] cellData ; - private String[] headers = {Inter.getLocText("FR-Utils_Label"),Inter.getLocText("Form-Widget_Name")}; - public static final int WIDGET_TABLE_ROW_HEIGHT = 22; - private UILabel moveComponent = new UILabel(); + private String[][] cellData; + private String[] headers = {Inter.getLocText("Form-Widget_Name")}; + private static final int WIDGET_TABLE_ROW_HEIGHT = 22; + private UILabel moveComponent = new UILabel(); // 作为拖动时候随鼠标移动的那个半透明控件 private int selectedRow = -1; - private int GAP = 10; + private int GAP = 11; private boolean draging = false; + private boolean collapsed = false; // 控件列表是否折叠 + + @Override + public TableCellRenderer getCellRenderer(int row, int column) { + //第一行渲染成为标题的样子 + if (row == 0) { + return new GroupRenderer(); + } + return super.getCellRenderer(row, column); + } + public MobileWidgetTable(FormDesigner designer) { this.designer = designer; - this.cellData = getData(); - this.setRowHeight(WIDGET_TABLE_ROW_HEIGHT); + cellData = getData(); + this.setTableProperties(); + TableModel defaultModel = new BeanTableModel(); + this.setModel(defaultModel); + this.repaint(); + this.setDefaultRenderer(Object.class,new DefaultTableCellRenderer()); + refreshData(); + this.addMouseListener(mouseAdapter); + this.addMouseMotionListener(mouseAdapter); + add(moveComponent); + } + + /** + * 设置表格属性 + */ + private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); - header.setPreferredSize(new Dimension(0, WIDGET_TABLE_ROW_HEIGHT)); - header.setDefaultRenderer(new HeaderRenderer()); + header.setPreferredSize(new Dimension(0, 0)); // 隐藏表头 + GroupRenderer headerRenderer = new GroupRenderer(); + headerRenderer.setPreferredSize(new Dimension(0, 0)); //这行代码隐藏表头。因为要实现折叠效果,表头不好监听事件 + headerRenderer.setHorizontalAlignment(JLabel.LEFT); + header.setDefaultRenderer(headerRenderer); + + this.setRowHeight(WIDGET_TABLE_ROW_HEIGHT); this.setGridColor(new Color(212, 208, 200)); this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); this.setColumnSelectionAllowed(false); this.setRowSelectionAllowed(false); - this.setFillsViewportHeight(true); - this.setDefaultEditor(Object.class,new MobileCellEditor()); - defaultmodel = new BeanTableModel(); - this.setModel(defaultmodel); + this.setFillsViewportHeight(false); this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); - TableColumn tc = this.getColumn(this.getColumnName(0)); - tc.setPreferredWidth(30); - this.repaint(); - this.setDefaultRenderer(Object.class,new MobileWidgetTableCellRenderer()); - refresh(); - this.addMouseListener(mouseAdapter); - this.addMouseMotionListener(mouseAdapter); - add(moveComponent); } private MouseAdapter mouseAdapter = new MouseAdapter() { + /** + * 鼠标按下时处理的事件(设置当前选中的行列) + * @param e + */ @Override - public void mouseClicked(MouseEvent e) { - if(getSelectedRow() != -1 && getSelectedColumn() == 1){ - String widgetName = cellData[getSelectedRow()][getSelectedColumn()]; - if (StringUtils.isNotEmpty(widgetName)){ - int count = getEditingDesigner().getParaComponent().getComponentCount(); - for (int i = 0;i < count ;i++){ - XCreator xCreator = (XCreator)getEditingDesigner().getParaComponent().getComponent(i); - Widget widget = xCreator.toData(); - if (!widget.acceptType(Label.class) && ComparatorUtils.equals(widgetName,widget.getWidgetName())) { - getEditingDesigner().getSelectionModel().setSelectedCreator(xCreator); - setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); - selectedRow = getSelectedRow(); - } - } - } - } + public void mousePressed(MouseEvent e) { + getInstance().setCellSelected(); + if (selectedRow == 0 && !e.isPopupTrigger() && e.getClickCount() == 1 && e.getX() < 10){ // 如果是点击在第一行 + toggleCollapse(); + } + } + + /** + * 鼠标放开时处理的事件(如果是正在拖动则执行换位操作,重新绘制属性表,如果不是则什么也不做) + * 所谓的换行就是简单的重新拿到一次表格数据然后重新绘制表格 + * @param e + */ + @Override + public void mouseReleased(MouseEvent e) { + if(!draging){ + return; } - public void mouseExited(MouseEvent e) { draging = false; moveComponent.setVisible(false); - setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + int toIndex = e.getY() < GAP ? 0 : (int)Math.rint((e.getY() - GAP)/WIDGET_TABLE_ROW_HEIGHT) + 1; + //当鼠标放开时,将选中的容器调整至新的顺序 + ((WLayout)designer.getSelectionModel().getSelection().getSelectedCreator().toData()).adjustOrder(selectedRow - 1, toIndex - 1); + //拿取排序后表格数据,然后重绘表格 + getInstance().refreshData(); + getInstance().repaint(); + designer.fireTargetModified(); + getInstance().setCellSelected(); } + /** + * 设置鼠标在属性表区域移动时候的事件 + * @param e + */ @Override public void mouseMoved(MouseEvent e) { - int overColumn = e.getX() < getColumnModel().getColumn(0).getWidth() ? 0 : 1; - int overRow = -1; + int overRow = 0; for (int i = 0;i < getRowCount();i++) { if (e.getY() > i * WIDGET_TABLE_ROW_HEIGHT && e.getY() <= (i + 1) * WIDGET_TABLE_ROW_HEIGHT){ - overRow = i; + overRow = i; //判断鼠标在哪一行 } } - if (overRow == getSelectedRow() && overColumn == getSelectedColumn() && overColumn !=0) { + //如果鼠标移动到当前选中的行上面的时候 + if (overRow == selectedRow && selectedRow > 0) { + //把当前选中的那一行的光标改成(除了第一列)移动样式MOVE_CURSOR setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); } else { setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } } - @Override + /** + * 鼠标拖动事件(如果鼠标当前是MOVE_CURSOR状态则执行开始拖动的代码, + * 绘制一个moveComponent来跟随鼠标移动) + * @param e + */ + @Override public void mouseDragged(MouseEvent e) { - if (e.getX() < getColumnModel().getColumn(0).getWidth()) { - draging = false; - moveComponent.setVisible(false); - setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - } - int width = getColumnModel().getColumn(1).getWidth(); - if (getCursor().getType() == Cursor.MOVE_CURSOR){ - draging = true; - //下面这句话太重要了,拖拽过程中选中的不变 - getInstance().setRowSelectionInterval(selectedRow,selectedRow); - moveComponent.setText(getValueAt(getSelectedRow(), getSelectedColumn()).toString()); - moveComponent.setLocation(getColumnModel().getColumn(0).getWidth(), e.getY() - GAP); - moveComponent.setPreferredSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); - moveComponent.setSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); - moveComponent.setVisible(true); - moveComponent.setForeground(Color.lightGray); - moveComponent.setBorder(BorderFactory.createLineBorder(Color.lightGray)); - } + int width = getColumnModel().getColumn(0).getWidth(); + //如果当前选中的行的范围是合理的话,就可以拖动 + if (selectedRow < getRowCount() && selectedRow > 0){ + setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + draging = true; + moveComponent.setText(getValueAt(selectedRow,0).toString()); + moveComponent.setLocation(0, e.getY() - GAP); + moveComponent.setSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); + moveComponent.setVisible(true); + moveComponent.setForeground(Color.lightGray); + moveComponent.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + } } + + /** + * 设置鼠标单击时处理的事件(单击控件列表进入控件属性表) + * @param e + */ @Override - public void mouseReleased(MouseEvent e) { - if(!draging){ - return; + public void mouseClicked(MouseEvent e) { + if(selectedRow > 0){ + //当前点击的控件的名字 + String widgetName = cellData[selectedRow][0]; + if (StringUtils.isNotEmpty(widgetName)){ + //当前选择的容器 + XCreator selectedContainer = designer.getSelectionModel().getSelection().getSelectedCreator(); + WLayout selectedWidget = (WLayout)selectedContainer.toData(); + //当前选择的容器中的控件数量 + int count = selectedWidget.getWidgetCount(); + for (int i = 0;i < count ;i++){ + XCreator xCreator = (XCreator) selectedContainer.getComponent(i); + Widget widget = xCreator.toData(); + if (ComparatorUtils.equals(widgetName, widget.getWidgetName())) { + getEditingDesigner().getSelectionModel().setSelectedCreator(xCreator); + } + } + } + } else if (selectedRow == 0){ // 如果是点击在第一行 + if (!e.isPopupTrigger() && e.getClickCount() > 1) { + toggleCollapse(); + } } + } + + /** + * 鼠标离开属性表区域事件 + * @param e + */ + public void mouseExited(MouseEvent e) { draging = false; moveComponent.setVisible(false); - int toIndex = e.getY() < GAP ? 0 : (int)Math.rint((e.getY() - GAP)/WIDGET_TABLE_ROW_HEIGHT) + 1; - ((WParameterLayout) designer.getParaComponent().toData()).adjustOrder(getSelectedRow(), toIndex); - getInstance().setRowSelectionInterval(0,getRowCount() - 1); - refresh(); - getInstance().repaint(); - designer.fireTargetModified(); + setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } }; @@ -170,130 +211,90 @@ public class MobileWidgetTable extends JTable { } public FormDesigner getEditingDesigner(){ - return designer; + return designer; } /** - * 刷新 + * 设置当前get到的行列的单元格为选中状态 */ - public void refresh(){ - XCreator creator = designer.getSelectionModel().getSelection().getSelectedCreator(); - cellData = getData(); - if(creator != null){ - String widgetName =creator.toData().getWidgetName(); - int row = -1; - int column = -1; - for (int i =0; i < cellData.length;i++){ - if(ComparatorUtils.equals(widgetName, cellData[i][0])){ - row = i; - column = 0; - break; - } - if(ComparatorUtils.equals(widgetName, cellData[i][1])){ - row = i; - column = 1; - break; - } - } - selectedRow = row; - changeSelection(row,column,false,false); - if(row == -1){ - this.clearSelection(); - } + private void setCellSelected() { + selectedRow = getSelectedRow(); + if (selectedRow != -1) { + this.setRowSelectionInterval(selectedRow, selectedRow); + this.setColumnSelectionInterval(0, 0); } } - private String[][] getData(){ - XLayoutContainer paraContainer = designer.getParaComponent(); - if(paraContainer == null || !paraContainer.acceptType(XWParameterLayout.class)){ - return new String[0][0]; - } - - WParameterLayout para = (WParameterLayout) (paraContainer.toData()); - return para.getWidgetNameTag(); - } - - private class MobileWidgetTableCellRenderer extends DefaultTableCellRenderer{ - public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, - boolean hasFocus, int row, int column) { - if (getCursor().getType() == Cursor.MOVE_CURSOR){ - if(selectedRow > -1 && selectedRow < getRowCount()){ - //拖拽过程中选中的不变 - getInstance().setRowSelectionInterval(selectedRow,selectedRow); - } - } - super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if (column == 0){ - UITextField uiTableTextField; - if (getSelectedColumn() == column && getSelectedRow() == row){ - uiTableTextField = new UITableTextField(value.toString()); - } else { - uiTableTextField = new UITextField(value.toString()); - } - return uiTableTextField; - } - return this; + /** + * 切换属性组折叠属性true/false + */ + private void toggleCollapse() { + this.setCollapsed(!this.isCollapsed()); + //这里获取表格的父控件是为了当表格被折叠了后,装表格的父控件也要相应的重新布局一下 + //比如折叠之后表格行数应该比原来的少,占用父容器空间应该小点,不重新布局父容器,表格大小不会改变 + Container parent = MobileWidgetTable.this.getParent(); + if (parent != null) { + parent.revalidate(); } - + repaint(); } - private class MobileCellEditor extends AbstractCellEditor implements TableCellEditor { - UITableTextField uiTableTextField; - MobileCellEditor(){ - uiTableTextField = new UITableTextField(); - uiTableTextField.addFocusListener(new FocusAdapter() { - @Override - public void focusLost(FocusEvent evt) { - stopCellEditing(); - designer.fireTargetModified(); - } - }); - uiTableTextField.getDocument().addDocumentListener(new DocumentListener() { - @Override - public void insertUpdate(DocumentEvent e) { - firePropertyChange(); - } - @Override - public void removeUpdate(DocumentEvent e) { - firePropertyChange(); - } + /** + * 重新get排序后的数据 + */ + public void refreshData(){ + cellData = getData(); + } - @Override - public void changedUpdate(DocumentEvent e) { - firePropertyChange(); - } - }); + /** + * 获取选中控件的控件列表 + * + * @return String[][] 二维数组,[0][0]widgetName + */ + private String[][] getData(){ + if(designer.isFormParaDesigner()){ + return new String[0][0]; } - /** - * cell改变,相应的nametag改变 - */ - public void firePropertyChange(){ - ((WParameterLayout) designer.getParaComponent().toData()).add2NameTagMap(uiTableTextField.getText(), - cellData[getSelectedRow()][1]); - } + //选择的控件 + Widget selectedModel = designer.getSelectionModel().getSelection().getSelectedCreator().toData(); - public Object getCellEditorValue(){ - return uiTableTextField.getText(); + if(selectedModel == null){ + return new String[0][0]; } - /* - * 双击以编辑 - */ - public boolean isCellEditable(EventObject anEvent) { - if (anEvent instanceof MouseEvent) { - return ((MouseEvent)anEvent).getClickCount() >= 2; + // 选择的控件有两种类型,一种是WLayout,代表容器,一种是Widget,代表控件 + if (selectedModel.acceptType(WLayout.class)) { + //WCardLayout里面并不是控件,而仍然是容器TabFitLayout,故要向下获取控件 + //WCardTitlelLayout是XWCardLayout的标题容器,里面同样不是控件,不能获取MobileList + //WTitleLayout是标题容器,比如图表的标题,里面是图表控件和Label标题控件,但是不需要获取MobileList + if (selectedModel.acceptType(WCardLayout.class) || selectedModel.acceptType(WCardTitleLayout.class) + || selectedModel.acceptType(WTitleLayout.class) || selectedModel.acceptType(WCardMainBorderLayout.class)) { + return new String[0][0]; + } + ArrayList strings = ((WLayout)selectedModel).getMobileWidgetList(); + String[][] widgetName = new String[strings.size() + 1][1]; + widgetName[0][0] = Inter.getLocText("FR-Designer_WidgetOrder"); + for (int i = 0; i < strings.size(); i++) { + widgetName[i + 1][0] = strings.get(i); } - return true; + return widgetName; + } else { + return new String[0][0]; } + } - public Component getTableCellEditorComponent( JTable table,Object value, - boolean isSelected,int row,int column){ - uiTableTextField.setText(value.toString()); - return uiTableTextField; - } + public boolean isCollapsed() { + return collapsed; } + public void setCollapsed(boolean collapsed) { + this.collapsed = collapsed; + } + + /** + * 自定义的tableEditor类 + */ public class BeanTableModel extends DefaultTableModel { public BeanTableModel() { super(cellData,headers); @@ -301,12 +302,15 @@ public class MobileWidgetTable extends JTable { @Override public int getRowCount() { + if (isCollapsed()) { + return 1; + } return cellData.length; } @Override public int getColumnCount() { - return 2; + return 1; } @@ -315,20 +319,16 @@ public class MobileWidgetTable extends JTable { if (row >= getRowCount() || column >= getColumnCount()) { return null; } - Object[] rowValue = cellData[row]; - if (column > -1 && column < rowValue.length) { - return cellData[row][column]; + if (row == 0) { + return (isCollapsed()? "+" : "-") + cellData[row][0]; } - return null; + + return cellData[row][0]; } @Override public String getColumnName(int column) { - if (column == 0) { - return headers[0]; - } else { - return headers[1]; - } + return headers[0]; } @@ -338,10 +338,10 @@ public class MobileWidgetTable extends JTable { return; } if (aValue == null) { - cellData[row][column] = null; + cellData[row] = null; return; } - cellData[row][column] = aValue.toString(); + cellData[row][0] = aValue.toString(); } /** @@ -351,35 +351,9 @@ public class MobileWidgetTable extends JTable { * @return 是否可编辑 */ public boolean isCellEditable(int row, int column) { - if(column ==1){ return false; - } - return true; } } - private class UITableTextField extends UITextField { - public UITableTextField(){ - super(); - } - - public UITableTextField(String string){ - super(string); - } - - protected void paintBorder(Graphics g) { - Graphics2D g2d = (Graphics2D) g; - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - if (this.isFocusOwner()) { - g2d.setStroke(new BasicStroke(1.5f)); - } else { - g2d.setStroke(new BasicStroke(1f)); - } - RoundRectangle2D.Double rect = new RoundRectangle2D.Double(0, 0, this.getWidth() - 2, this.getHeight() - 2, 4, 4); - g2d.setColor(Color.orange); - g2d.draw(rect); - } - - } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index a5ec304718..23242e399e 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -13,39 +13,41 @@ import com.fr.design.designer.properties.WidgetPropertyTable; import com.fr.design.fun.WidgetPropertyUIProvider; import com.fr.design.gui.frpane.UITabbedPane; import com.fr.design.gui.icontainer.UIScrollPane; -import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itable.AbstractPropertyTable; import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.form.ui.Widget; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; import javax.swing.*; import javax.swing.border.LineBorder; +import javax.swing.table.JTableHeader; import java.awt.*; import java.util.ArrayList; import java.util.List; import java.util.Set; /** - * 控件属性表Docking + * 控件属性表绘制 + * Modified by fanglei */ public class WidgetPropertyPane extends FormDockView implements BaseWidgetPropertyPane { - private WidgetPropertyTable propertyTable; - private EventPropertyTable eventTable; - private List widgetPropertyTables; - private FormDesigner designer; - private JPanel wsp; - private MobileWidgetTable mobileWidgetTable; - private MobileBodyWidgetTable mobileBodyWidgetTable; - private UIScrollPane downPanel; - private JPanel centerPane; - private CardLayout cardLayout; - public static final String PARA = "para"; - public static final String BODY = "body"; - public static final int NODE_LENGTH = 2; - public boolean isrefresh = true; - + private WidgetPropertyTable propertyTable; // 控件的属性表 + private EventPropertyTable eventTable; // 控件的事件表 + private List widgetPropertyTables; // 这个变量应该是保存控件拓展的属性tab + private FormDesigner designer; // 当前designer + private UIScrollPane psp; // 用来装载属性表table的容器 + private UIScrollPane esp; //用来装载事件table的容器 + private JPanel wsp; // 装载移动端tab的容器,包括移动端属性表和控件拓展的移动端属性表 + private MobileParaWidgetTable mobileParaWidgetTable; // 参数面板的移动端属性tab(和body的移动端属性tab区别是没有标签名column) + private MobileWidgetTable mobileWidgetTable; // body的移动端属性tab + private UIScrollPane downPanel; // 这个滚动容器是用于装载centerPane的 + private JPanel centerPane; // 此centerPane采用的是cardLayout布局,装载着mobileWidgetTable和mobileBodyWidgetTable + private CardLayout cardLayout; // 卡片布局,选中参数面板时显示mobileWidgetTable,选中body时显示mobileBodyWidgetTable + private JTableHeader header;//把表头单独get出来作为一个组件 + private static final String PARA = "para"; + private static final String BODY = "body"; public static WidgetPropertyPane getInstance() { if (HOLDER.singleton == null) { @@ -68,37 +70,6 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper setLayout(FRGUIPaneFactory.createBorderLayout()); } - public class mobileWidgetDesignerAdapter implements DesignerEditListener { - - public mobileWidgetDesignerAdapter() { - } - - /** - * 响应界面改变事件 - * @param evt 事件 - */ - public void fireCreatorModified(DesignerEvent evt) { - if (evt.getCreatorEventID() == DesignerEvent.CREATOR_RESIZED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_ADDED) { - int value = downPanel.getVerticalScrollBar().getValue(); - if(hasSelectParaPane(getEditingFormDesigner())){ - cardLayout.show(centerPane,PARA); - mobileWidgetTable.refresh(); - } else { - cardLayout.show(centerPane,BODY); - mobileBodyWidgetTable.refresh(); - } - //出现滚动条 - downPanel.doLayout(); - //控件列表选中某组件,触发表单中选中控件,选中事件又触发列表刷新,滚动条回到0 - //此处设置滚动条值为刷新前 - downPanel.getVerticalScrollBar().setValue(value); - } - } - } - @Override public String getViewTitle() { return Inter.getLocText("Form-Widget_Property_Table"); @@ -110,6 +81,9 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper } @Override + /** + * 绘制属性表tab + */ public void refreshDockingView() { designer = this.getEditingFormDesigner(); removeAll(); @@ -118,66 +92,149 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper return; } widgetPropertyTables = new ArrayList(); + + //依次创建属性表、事件表、移动端表,再将它们整合到TabPane中去 + this.createPropertyTable(); + this.createEventTable(); + this.createMobileWidgetTable(); + this.createTabPane(); + + this.initTables(); + } + + /** + * 初始化属性表,事件表,移动端拓展的属性表 + */ + private void initTables() { + propertyTable.initPropertyGroups(null); + eventTable.refresh(); + for (AbstractPropertyTable propertyTable : widgetPropertyTables) { + propertyTable.initPropertyGroups(designer); + } + } + + /** + * 创建属性表table + */ + private void createPropertyTable() { propertyTable = new WidgetPropertyTable(designer); designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); propertyTable.setBorder(null); - UIScrollPane psp = new UIScrollPane(propertyTable); + psp = new UIScrollPane(propertyTable); // 用来装载属性表table psp.setBorder(null); + } + + /** + * 创建事件表(事件选项卡不是JTable) + */ + private void createEventTable() { eventTable = new EventPropertyTable(designer); designer.addDesignerEditListener(new EventPropertyDesignerAdapter(eventTable)); eventTable.setBorder(null); - UIScrollPane esp = new UIScrollPane(eventTable); + esp = new UIScrollPane(eventTable); //用来装载事件table esp.setBorder(null); - wsp = FRGUIPaneFactory.createBorderLayout_S_Pane(); + } + + /** + * 创建移动端控件列表 + */ + private void createMobileWidgetTable() { + //加上表头后,这里不再使用borderLayout布局,而采用BoxLayout布局 + wsp = FRGUIPaneFactory.createY_AXISBoxInnerContainer_S_Pane(); wsp.setBorder(null); + mobileParaWidgetTable = new MobileParaWidgetTable(designer); mobileWidgetTable = new MobileWidgetTable(designer); - mobileBodyWidgetTable = new MobileBodyWidgetTable(designer); designer.addDesignerEditListener(new mobileWidgetDesignerAdapter()); centerPane = FRGUIPaneFactory.createCardLayout_S_Pane(); cardLayout = (CardLayout) centerPane.getLayout(); - centerPane.add(mobileWidgetTable,PARA); - centerPane.add(mobileBodyWidgetTable,BODY); + centerPane.add(mobileParaWidgetTable, PARA);// 采用卡片布局的容器必须指定卡片名字,如果没有卡片名字 + // 就会出现:Exception in thread "main" java.lang.IllegalArgumentException: + // cannot add to layout: constraint must be a string + // 第二个参数代表卡片的名字。后来show方法调用时通过名字找到要显示的卡片 + centerPane.add(mobileWidgetTable, BODY); //这两句代码,是把JTable放到一个JPanel中去了,表头不会显示, + //只有放到JScrollPanel中去表头才能正常显示,这就是MobileWidgetTable中定义了表头却没有显示的原因! + //解决方案:MobileWidgetTable实在无法直接放到JScrollPanel中去的时候,应该把表头get出来单独作为一个组件显示 + if(hasSelectParaPane(designer)){ cardLayout.show(centerPane,PARA); + header = mobileParaWidgetTable.getTableHeader(); } else { cardLayout.show(centerPane,BODY); + header = mobileWidgetTable.getTableHeader(); } downPanel = new UIScrollPane(centerPane); - downPanel.setBorder(new LineBorder(Color.gray)); - wsp.add(downPanel,BorderLayout.CENTER); + downPanel.setBorder(new LineBorder(Color.GRAY)); - UITabbedPane tabbedPane = new UITabbedPane(); - initTabPane(psp, esp, tabbedPane); + //获取拓展移动端属性tab WidgetPropertyUIProvider[] widgetAttrProviders = getExtraPropertyUIProviders(); + addWidgetAttr(widgetAttrProviders); + } + + /** + * 将属性表,事件表,移动端控件列表整合到TabPane里面去 + */ + private void createTabPane() { + UITabbedPane tabbedPane = new UITabbedPane(); // tab选项卡容器 + initTabPane(tabbedPane); add(tabbedPane, BorderLayout.CENTER); - propertyTable.initPropertyGroups(null); - eventTable.refresh(); - for (AbstractPropertyTable propertyTable : widgetPropertyTables) { - propertyTable.initPropertyGroups(designer); + } + + /** + * 获取当前控件扩展的属性tab + * 来源有两个: + * 1, 各个控件从各自的Xcreator里扩展(例如手机重布局的tab就是从Xcreator中扩展的); + * 2, 所有的控件从插件里扩展. + * + * @return 扩展的tab + */ + private WidgetPropertyUIProvider[] getExtraPropertyUIProviders() { + FormSelection selection = designer.getSelectionModel().getSelection(); + WidgetPropertyUIProvider[] embeddedPropertyUIProviders = null; + if (selection != null && selection.getSelectedCreator() != null) { + embeddedPropertyUIProviders = selection.getSelectedCreator().getWidgetPropertyUIProviders(); } - isrefresh = false; + Set set = ExtraDesignClassManager.getInstance().getArray(WidgetPropertyUIProvider.XML_TAG); + return ArrayUtils.addAll(embeddedPropertyUIProviders, set.toArray(new WidgetPropertyUIProvider[set.size()])); } + /** + * 判断是将拓展的tab放入属性表还是将原来的tab放入属性表 + * @param widgetAttrProviders 拓展的tab + */ private void addWidgetAttr(WidgetPropertyUIProvider[] widgetAttrProviders) { - if (widgetAttrProviders.length == 0) { - UILabel upLabel = new UILabel(Inter.getLocText("FR-Widget_Mobile_Table"), SwingConstants.CENTER); - upLabel.setBorder(BorderFactory.createEmptyBorder(6,0,6,0)); - wsp.add(upLabel, BorderLayout.NORTH); + if (widgetAttrProviders.length == 0) { // 判断有没有拓展的tab,没有就使用原来的 + wsp.add(header); + wsp.add(downPanel); } else { for (WidgetPropertyUIProvider widgetAttrProvider : widgetAttrProviders) { AbstractPropertyTable propertyTable = widgetAttrProvider.createWidgetAttrTable(); widgetPropertyTables.add(propertyTable); designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); - UIScrollPane uiScrollPane = new UIScrollPane(propertyTable); - uiScrollPane.setBorder(null); + UIScrollPane uiScrollPane = new UIScrollPane(getExtraBodyTable(propertyTable)); wsp.add(uiScrollPane); - } } } - private void initTabPane(UIScrollPane psp, UIScrollPane esp, UITabbedPane tabbedPane) { + /** + * 如果是body的拓展属性表,那么要额外加上一张控件顺序表 + * @return + */ + private Component getExtraBodyTable(AbstractPropertyTable abstractPropertyTable) { + Widget selection = designer.getSelectionModel().getSelection().getSelectedCreator().toData(); + if (selection.getWidgetName().equals("body")) { + JPanel jPanel = FRGUIPaneFactory.createY_AXISBoxInnerContainer_S_Pane(); + jPanel.add(abstractPropertyTable); + MobileWidgetTable mobileWidgetTable = new MobileWidgetTable(designer); + jPanel.add(mobileWidgetTable.getTableHeader()); + jPanel.add(mobileWidgetTable); + return jPanel; + } + return abstractPropertyTable; + } + + private void initTabPane(UITabbedPane tabbedPane) { tabbedPane.setOpaque(true); tabbedPane.setBorder(null); tabbedPane.setTabPlacement(SwingConstants.BOTTOM); @@ -201,31 +258,12 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper return xCreator.acceptType(XWParameterLayout.class) || container.acceptType(XWParameterLayout.class); } - /** - * 获取当前控件扩展的属性tab - * 来源有两个: - * 1, 各个控件从各自的Xcreator里扩展; - * 2, 所有的控件从插件里扩展. - * - * @return 扩展的tab - */ - private WidgetPropertyUIProvider[] getExtraPropertyUIProviders() { - FormSelection selection = designer.getSelectionModel().getSelection(); - WidgetPropertyUIProvider[] embeddedPropertyUIProviders = null; - if (selection != null && selection.getSelectedCreator() != null) { - embeddedPropertyUIProviders = selection.getSelectedCreator().getWidgetPropertyUIProviders(); - } - Set set = ExtraDesignClassManager.getInstance().getArray(WidgetPropertyUIProvider.XML_TAG); - WidgetPropertyUIProvider[] widgetAttrProviders = ArrayUtils.addAll(embeddedPropertyUIProviders, set.toArray(new WidgetPropertyUIProvider[set.size()])); - return widgetAttrProviders; - } - public void setEditingFormDesigner(BaseFormDesigner editor) { FormDesigner fd = (FormDesigner) editor; super.setEditingFormDesigner(fd); } - public void clearDockingView() { + private void clearDockingView() { propertyTable = null; eventTable = null; if (widgetPropertyTables != null) { @@ -236,10 +274,13 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper this.add(psp, BorderLayout.CENTER); } - public class WidgetPropertyDesignerAdapter implements DesignerEditListener { + /** + * 属性表监听界面事件(编辑,删除,选中,改变大小) + */ + private class WidgetPropertyDesignerAdapter implements DesignerEditListener { AbstractPropertyTable propertyTable; - public WidgetPropertyDesignerAdapter(AbstractPropertyTable propertyTable) { + WidgetPropertyDesignerAdapter(AbstractPropertyTable propertyTable) { this.propertyTable = propertyTable; } @@ -260,17 +301,19 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper } } - public class EventPropertyDesignerAdapter implements DesignerEditListener { + /** + * 事件表监听界面事件(编辑,选中) + */ + private class EventPropertyDesignerAdapter implements DesignerEditListener { EventPropertyTable propertyTable; - public EventPropertyDesignerAdapter(EventPropertyTable eventTable) { + EventPropertyDesignerAdapter(EventPropertyTable eventTable) { this.propertyTable = eventTable; } @Override public void fireCreatorModified(DesignerEvent evt) { if (evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { propertyTable.refresh(); } @@ -282,6 +325,40 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper } } + /** + * 移动端属性表监听界面事件(改变大小,编辑,选中,增加控件) + */ + private class mobileWidgetDesignerAdapter implements DesignerEditListener { + + mobileWidgetDesignerAdapter() { + } + + /** + * 响应界面改变事件 + * @param evt 事件 + */ + public void fireCreatorModified(DesignerEvent evt) { + if (evt.getCreatorEventID() == DesignerEvent.CREATOR_RESIZED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_ADDED) { + int value = downPanel.getVerticalScrollBar().getValue(); + if(hasSelectParaPane(getEditingFormDesigner())){ + cardLayout.show(centerPane,PARA); + mobileParaWidgetTable.refreshData(); + } else { + cardLayout.show(centerPane,BODY); + mobileWidgetTable.refreshData(); + } + //出现滚动条 + downPanel.doLayout(); + //控件列表选中某组件,触发表单中选中控件,选中事件又触发列表刷新,滚动条回到0 + //此处设置滚动条值为刷新前 + downPanel.getVerticalScrollBar().setValue(value); + } + } + } + @Override public Location preferredLocation() { return Location.WEST_BELOW; From 37bf96ab161e77804543edc99e24271e17146be9 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Fri, 17 Feb 2017 10:43:49 +0800 Subject: [PATCH 074/104] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer.properties | 1 + designer_base/src/com/fr/design/locale/designer_en_US.properties | 1 + designer_base/src/com/fr/design/locale/designer_zh_CN.properties | 1 + designer_base/src/com/fr/design/locale/designer_zh_TW.properties | 1 + 4 files changed, 4 insertions(+) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index ab71e8be89..157c125257 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -562,3 +562,4 @@ FR-Designer-Move_Tab_Prev=move to previous FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. +FR-Designer_WidgetOrder=Widget Order 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 24c7a87c7a..9735aa3d27 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 @@ -562,3 +562,4 @@ FR-Designer_Role=Role FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. +FR-Designer_WidgetOrder=Widget Order 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 f448c6f623..7255d42bf0 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 @@ -566,3 +566,4 @@ FR-Designer_Role=\u89D2\u8272 FR-Designer_DS_TableData=\u6570\u636E\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F \ 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 0b150c205b..96c6d0d888 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 @@ -554,3 +554,4 @@ FR-Designer_Role= FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u633F\u4EF6\u7248\u672C\u904E\u4F4E\uFF0C\u5B58\u5728API\u4E0D\u76F8\u5BB9\uFF0C\u8ACB\u806F\u7CFB\u958B\u767C\u8005\u965E\u7D1A\u633F\u4EF6 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F \ No newline at end of file From 7f9f64f09e12e559ff1d713a992c41bede861b69 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Fri, 17 Feb 2017 11:54:36 +0800 Subject: [PATCH 075/104] =?UTF-8?q?=E6=B6=88=E9=99=A4PMD=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hanlder/BottomCornerMouseHanlder.java | 2 +- .../fr/design/beans/location/MoveUtils.java | 2 +- .../gui/itable/AbstractPropertyTable.java | 3 +- .../designer/beans/ConnectorCreator.java | 10 +- .../beans/location/AccessDirection.java | 6 +- .../design/designer/beans/location/Inner.java | 164 ++++++++++-------- .../cardlayout/XWCardMainBorderLayout.java | 2 +- .../fr/design/mainframe/ConnectorHelper.java | 5 +- .../design/mainframe/MobileWidgetTable.java | 9 +- 9 files changed, 109 insertions(+), 94 deletions(-) diff --git a/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java b/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java index 729562740e..e42835abbb 100644 --- a/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java +++ b/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java @@ -170,7 +170,7 @@ public class BottomCornerMouseHanlder extends MouseInputAdapter { * @return 重叠 */ @Override - public boolean getWidgetsIntersects() { + public boolean isWidgetsIntersects() { return false; } diff --git a/designer_base/src/com/fr/design/beans/location/MoveUtils.java b/designer_base/src/com/fr/design/beans/location/MoveUtils.java index f796768a63..fcd4f90eee 100644 --- a/designer_base/src/com/fr/design/beans/location/MoveUtils.java +++ b/designer_base/src/com/fr/design/beans/location/MoveUtils.java @@ -83,7 +83,7 @@ public class MoveUtils { * 获取designer内部组件是否重叠的标志位 * @return 重叠 */ - boolean getWidgetsIntersects(); + boolean isWidgetsIntersects(); //TODO 消除PMD检查错误,把getWidgetsIntersects改成isWidgetsIntersects /** * 获取designer相对屏幕的位置 diff --git a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java index 6d36c31bdc..96c9a5c1e4 100644 --- a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java +++ b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java @@ -33,6 +33,7 @@ public abstract class AbstractPropertyTable extends JTable { public static final Color PROPERTY_SELECTION_BACKGROUND = new Color(153, 204, 255); // 属性表的行高 public static final int PROPERTY_TABLE_ROW_HEIGHT = 22; + private static final int PROPERTY_ICON_WIDTH = 10; public AbstractPropertyTable() { this.setTableProperties(); @@ -182,7 +183,7 @@ public abstract class AbstractPropertyTable extends JTable { int row = AbstractPropertyTable.super.rowAtPoint(e.getPoint()); if (row != -1) { Point pIndex = getGroupIndex(row); - if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < 10) { + if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < PROPERTY_ICON_WIDTH) { toggleCollapse(pIndex.x); } } diff --git a/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java b/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java index 70a5d71f2c..350235d453 100644 --- a/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java +++ b/designer_form/src/com/fr/design/designer/beans/ConnectorCreator.java @@ -13,7 +13,7 @@ public class ConnectorCreator { public static final int UNIT = 10; public static final int SIDE = 2; public static final int CORNER_LOSS = 20; - public static final int vector[][] = { { UNIT, 0 }, { -UNIT, 0 }, { 0, UNIT }, { 0, -UNIT } }; + public static final int VECTOR[][] = { { UNIT, 0 }, { -UNIT, 0 }, { 0, UNIT }, { 0, -UNIT } }; private long timeOut = 200; private boolean beyond; @@ -178,8 +178,8 @@ public class ConnectorCreator { } void pushInto() { - for (int i = 0; i < vector.length; i++) { - Point temp = new Point(p.x + vector[i][0], p.y + vector[i][1]); + for (int i = 0; i < VECTOR.length; i++) { + Point temp = new Point(p.x + VECTOR[i][0], p.y + VECTOR[i][1]); if (parent != null && parent.x == temp.x && parent.y == temp.y) { continue; } @@ -191,8 +191,8 @@ public class ConnectorCreator { } boolean reCheck() { - for (int i = 0; i < vector.length; i++) { - Point temp = new Point(p.x + SIDE * vector[i][0], p.y + SIDE * vector[i][1]); + for (int i = 0; i < VECTOR.length; i++) { + Point temp = new Point(p.x + SIDE * VECTOR[i][0], p.y + SIDE * VECTOR[i][1]); AssessedPoint ap = new AssessedPoint(temp, this, loss(temp)); if (check(temp)) { open.add(ap); diff --git a/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java b/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java index aa9125e5df..a2a57c4ff3 100644 --- a/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java +++ b/designer_form/src/com/fr/design/designer/beans/location/AccessDirection.java @@ -11,6 +11,7 @@ import com.fr.design.designer.creator.*; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormSelection; import com.fr.design.utils.ComponentUtils; +import com.fr.form.main.Form; import com.fr.form.ui.container.WAbsoluteLayout; import com.fr.form.ui.container.WParameterLayout; import com.fr.form.ui.widget.BoundsWidget; @@ -66,10 +67,8 @@ public abstract class AccessDirection implements Direction { protected void sorptionPoint(Point point, Rectangle current_bounds,FormDesigner designer) { boolean findInX = current_bounds.getWidth() <= MoveUtils.SORPTION_UNIT ? true : false; boolean findInY = current_bounds.getHeight() <= MoveUtils.SORPTION_UNIT ? true : false; - WAbsoluteLayout layout =getLayout(designer); FormSelection selection = designer.getSelectionModel().getSelection(); - boolean isWidgetsIntersect = false; for (int i = 0, count = layout.getWidgetCount(); i < count; i++) { BoundsWidget temp = (BoundsWidget) layout.getWidget(i); @@ -111,7 +110,10 @@ public abstract class AccessDirection implements Direction { } } processRectangleIntersects(designer, point.x, point.y, isWidgetsIntersect); + setDesignerStateModelProperties(designer, findInX, findInY, current_bounds, point); + } + private void setDesignerStateModelProperties (FormDesigner designer, boolean findInX, boolean findInY, Rectangle current_bounds, Point point) { designer.getStateModel().setXAbsorptionline(findInX && current_bounds.getWidth() > MoveUtils.SORPTION_UNIT ? Absorptionline.createXAbsorptionline(point.x) : null); designer.getStateModel().setYAbsorptionline(findInY && current_bounds.getHeight() > MoveUtils.SORPTION_UNIT ? Absorptionline.createYAbsorptionline(point.y) : null); designer.getStateModel().setEquidistantLine(null); diff --git a/designer_form/src/com/fr/design/designer/beans/location/Inner.java b/designer_form/src/com/fr/design/designer/beans/location/Inner.java index 3abe94730d..5c3c38844f 100644 --- a/designer_form/src/com/fr/design/designer/beans/location/Inner.java +++ b/designer_form/src/com/fr/design/designer/beans/location/Inner.java @@ -46,89 +46,99 @@ public class Inner extends AccessDirection { return new Point(x, y); } - @Override - protected void sorptionPoint(Point point, Rectangle current_bounds, final FormDesigner designer) { - RectangleDesigner rd = new RectangleDesigner() { - public void setXAbsorptionline(Absorptionline line) { - designer.getStateModel().setXAbsorptionline(line); - } - public void setYAbsorptionline(Absorptionline line) { - designer.getStateModel().setYAbsorptionline(line); - } - - /** - * 获取当前选中块的水平线数组 - * - * @return 块的水平线数组 - * - */ - public int[] getHorizontalLine(){ - return ArrayUtils.EMPTY_INT_ARRAY; - } - - /** - * 获取当前选中块的垂直线数组 - * - * @return 块的垂直线数组 - * - */ - public int[] getVerticalLine(){ - return ArrayUtils.EMPTY_INT_ARRAY; - } - public RectangleIterator createRectangleIterator() { - return getRectangleIterator(designer); - } + //TODO 原先这个类是通过一个new一个匿名类继承RectangleDesigner接口实现的,但是报了方法超过50行的PMD错误 + //TODO 暂时就先这样命名,请原作者看到后重新命名 + private class RectangleDesigner1 implements RectangleDesigner { + private FormDesigner designer = null; - /** - * 设置designer内部组件是否重叠的标志位 - * - * @param isIntersects 是否重叠 - */ - @Override - public void setWidgetsIntersects(boolean isIntersects) { - designer.setWidgetsIntersect(isIntersects); - } + public RectangleDesigner1(FormDesigner designer) { + this.designer = designer; + } - /** - * 获取designer内部组件是否重叠的标志位 - * - * @return 重叠 - */ - @Override - public boolean getWidgetsIntersects() { - return designer.isWidgetsIntersect(); - } + public void setXAbsorptionline(Absorptionline line) { + designer.getStateModel().setXAbsorptionline(line); + } + public void setYAbsorptionline(Absorptionline line) { + designer.getStateModel().setYAbsorptionline(line); + } - /** - * 获取designer相对屏幕的位置 - * - * @return 位置 - */ - @Override - public Point getDesignerLocationOnScreen() { - return designer.getLocationOnScreen(); - } + /** + * 获取当前选中块的水平线数组 + * + * @return 块的水平线数组 + * + */ + public int[] getHorizontalLine(){ + return ArrayUtils.EMPTY_INT_ARRAY; + } - /** - * 设置等距线 - * - * @param line 吸附线 - */ - @Override - public void setEquidistantLine(Absorptionline line) { - designer.getStateModel().setEquidistantLine(line); - } + /** + * 获取当前选中块的垂直线数组 + * + * @return 块的垂直线数组 + * + */ + public int[] getVerticalLine(){ + return ArrayUtils.EMPTY_INT_ARRAY; + } + public RectangleIterator createRectangleIterator() { + return getRectangleIterator(designer); + } - @Override - public int getDesignerScrollHorizontalValue() { - return designer.getArea().getHorizontalValue(); - } + /** + * 设置designer内部组件是否重叠的标志位 + * + * @param isIntersects 是否重叠 + */ + @Override + public void setWidgetsIntersects(boolean isIntersects) { + designer.setWidgetsIntersect(isIntersects); + } - @Override - public int getDesignerScrollVerticalValue() { - return designer.getArea().getVerticalValue(); - } - }; + /** + * 获取designer内部组件是否重叠的标志位 + * + * @return 重叠 + */ + @Override + public boolean isWidgetsIntersects() { + return designer.isWidgetsIntersect(); + } + + /** + * 获取designer相对屏幕的位置 + * + * @return 位置 + */ + @Override + public Point getDesignerLocationOnScreen() { + return designer.getLocationOnScreen(); + } + + /** + * 设置等距线 + * + * @param line 吸附线 + */ + @Override + public void setEquidistantLine(Absorptionline line) { + designer.getStateModel().setEquidistantLine(line); + } + + @Override + public int getDesignerScrollHorizontalValue() { + return designer.getArea().getHorizontalValue(); + } + + @Override + public int getDesignerScrollVerticalValue() { + return designer.getArea().getVerticalValue(); + } + } + + @Override + protected void sorptionPoint(Point point, Rectangle current_bounds, final FormDesigner designer) { + RectangleDesigner1 rd = new RectangleDesigner1(designer); //判断当前操作的是不是参数面板,要特殊处理 boolean isParameterLayout = ((XCreator)(designer.getSelectionModel().getSelection().getSelectedCreator().getParent())).acceptType(XWParameterLayout.class); point.setLocation(MoveUtils.sorption(point.x, point.y, current_bounds.width, current_bounds.height, rd, isParameterLayout)); diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java index 08f5765b99..9b778f850f 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java @@ -231,7 +231,7 @@ public class XWCardMainBorderLayout extends XWBorderLayout{ ); g2d.setColor(Color.BLACK); //画编辑文字 - g2d.drawString(Inter.getLocText("Edit"), x + w / 2 - 2, y + h / 2 + 5); + g2d.drawString(Inter.getLocText("FR-Designer_Edit"), x + w / 2 - 2, y + h / 2 + 5); } } diff --git a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java index f2b68043d1..0c4bdd2be6 100644 --- a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java +++ b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java @@ -19,6 +19,8 @@ public class ConnectorHelper { public static final int NEAR = 5; private static double ratio = 0.5; + // TODO 为了消除魔术数错误,我不清楚这个15代表什么,先这样命名了,原作者看到了请改一下 + private final static int magicNumber1 = 15; private ArrayList drawingPoint; private FormDesigner designer; private boolean drawing; @@ -67,7 +69,6 @@ public class ConnectorHelper { ConnectorCreator cc = new ConnectorCreator(designer.getTarget().getContainer(), new Point(startPoint), new Point(endPoint)); ArrayList p = cc.createPointList(); long e = System.currentTimeMillis(); - System.out.println("useTime:" + (e - s)); return p; } @@ -87,7 +88,7 @@ public class ConnectorHelper { public void createDefalutLine() { if (drawingPoint != null && drawingPoint.size() > 1 - && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > 15) { + && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > magicNumber1) { ((XWAbsoluteLayout) designer.getRootComponent()).addConnector(new Connector().addAll(drawingPoint)); } drawingPoint = null; diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index a692e37667..9b589b09b0 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -96,7 +96,7 @@ public class MobileWidgetTable extends JTable { @Override public void mousePressed(MouseEvent e) { getInstance().setCellSelected(); - if (selectedRow == 0 && !e.isPopupTrigger() && e.getClickCount() == 1 && e.getX() < 10){ // 如果是点击在第一行 + if (selectedRow == 0 && !e.isPopupTrigger() && e.getClickCount() == 1 && e.getX() < WIDGET_TABLE_ROW_HEIGHT / 2){ // 如果是点击在第一行 toggleCollapse(); } } @@ -268,9 +268,10 @@ public class MobileWidgetTable extends JTable { //WCardLayout里面并不是控件,而仍然是容器TabFitLayout,故要向下获取控件 //WCardTitlelLayout是XWCardLayout的标题容器,里面同样不是控件,不能获取MobileList //WTitleLayout是标题容器,比如图表的标题,里面是图表控件和Label标题控件,但是不需要获取MobileList - if (selectedModel.acceptType(WCardLayout.class) || selectedModel.acceptType(WCardTitleLayout.class) - || selectedModel.acceptType(WTitleLayout.class) || selectedModel.acceptType(WCardMainBorderLayout.class)) { - return new String[0][0]; + if (selectedModel.acceptType(WCardLayout.class) || selectedModel.acceptType(WCardTitleLayout.class)) { + if (selectedModel.acceptType(WTitleLayout.class) || selectedModel.acceptType(WCardMainBorderLayout.class)) { + return new String[0][0]; + } } ArrayList strings = ((WLayout)selectedModel).getMobileWidgetList(); String[][] widgetName = new String[strings.size() + 1][1]; From 821ef73086172840c2e4f5f0a64d9c599b6ecd9a Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Fri, 17 Feb 2017 12:00:37 +0800 Subject: [PATCH 076/104] =?UTF-8?q?=E6=B6=88=E9=99=A4PMD=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/beans/location/MoveUtils.java | 5 +++-- .../src/com/fr/design/mainframe/ConnectorHelper.java | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/designer_base/src/com/fr/design/beans/location/MoveUtils.java b/designer_base/src/com/fr/design/beans/location/MoveUtils.java index fcd4f90eee..1e110358ce 100644 --- a/designer_base/src/com/fr/design/beans/location/MoveUtils.java +++ b/designer_base/src/com/fr/design/beans/location/MoveUtils.java @@ -16,6 +16,7 @@ import java.util.ArrayList; public class MoveUtils { public static final int SORPTION_UNIT = 5; + private static final int EQUIDISTANTLINE_UNIT = 4; public static WidgetForbidWindow widgetForbidWindow = new WidgetForbidWindow(); @@ -479,10 +480,10 @@ public class MoveUtils { } private static void processEquidistantLinesList(PlacePointing pEquidistantX, PlacePointing pEquidistantY, Rectangle operatingRectangle){ - EquidistantLine[] equidistantLines1 = new EquidistantLine[4]; + EquidistantLine[] equidistantLines1 = new EquidistantLine[EQUIDISTANTLINE_UNIT]; //先按方向处理,只保留四个方向上距离最近 for(int count = 0; count < equidistantLines.size(); count++){ - for (int direction = 0; direction < 4; direction++){ + for (int direction = 0; direction < EQUIDISTANTLINE_UNIT; direction++){ if(equidistantLines.get(count).getDirection() == (direction + 1)){//direction 1,2,3,4 分别对应top,left,bottom,right if(equidistantLines1[direction] != null && equidistantLines1[direction].getDistance() > equidistantLines.get(count).getDistance() diff --git a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java index 0c4bdd2be6..b4d8972818 100644 --- a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java +++ b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java @@ -20,7 +20,7 @@ public class ConnectorHelper { public static final int NEAR = 5; private static double ratio = 0.5; // TODO 为了消除魔术数错误,我不清楚这个15代表什么,先这样命名了,原作者看到了请改一下 - private final static int magicNumber1 = 15; + private final static int MAGICNUMBER = 15; private ArrayList drawingPoint; private FormDesigner designer; private boolean drawing; @@ -88,7 +88,7 @@ public class ConnectorHelper { public void createDefalutLine() { if (drawingPoint != null && drawingPoint.size() > 1 - && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > magicNumber1) { + && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > MAGICNUMBER) { ((XWAbsoluteLayout) designer.getRootComponent()).addConnector(new Connector().addAll(drawingPoint)); } drawingPoint = null; From a295e13b280b3f97f879b74f4abc39ac0b32bb3f Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 20 Feb 2017 10:07:39 +0800 Subject: [PATCH 077/104] =?UTF-8?q?REPORT-1967=20=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/locale/designer_en_US.properties | 6 ++++++ .../src/com/fr/design/locale/designer_ja_JP.properties | 8 +++++++- .../src/com/fr/design/locale/designer_ko_KR.properties | 10 ++++++---- .../src/com/fr/design/locale/designer_zh_CN.properties | 6 ++++++ .../src/com/fr/design/locale/designer_zh_TW.properties | 6 ++++++ 5 files changed, 31 insertions(+), 5 deletions(-) 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 e5f89932fe..26d5bc85fe 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=Close other templates FR-Designer_File=file FR-Designer_Filter_Conditions=Filter condition FR-Designer_Finish-Modify-Share=Finish Modification And Share +FR-Designer_Fit-App=App self-adaption FR-Designer_Fit=self-adaption FR-Designer_Font-Family=Font name FR-Designer_Font-Size=Font size @@ -358,6 +359,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar=Please Update Jar +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=DB FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -486,6 +488,10 @@ FR-Designer-DS-Database_Query=DB Query FR-Designer_Is_Share_DBTableData=Shared data set FR-Designer_Event=Event FR-Designer_Properties=Properties +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page Break +FR-Designer_Export_Excel_Simple=Original +FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet FR-Designer_Export_failed=Export failed FR-Designer_Exported_successfully=Exported successfully FR-Designer_Exporting=Exporting 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 9b6ce19895..d86d0a164c 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u305D\u306E\u4ED6\u30C6\u30F3\u30D7\u30EC\ FR-Designer_File=\u30D5\u30A1\u30A4\u30EB FR-Designer_Filter_Conditions=\u9078\u5225\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u4FEE\u6B63\u3092\u5B8C\u4E86\u3057\u3066\u30B7\u30A7\u30A2 +FR-Designer_Fit-App=App\u81EA\u9069\u5FDC FR-Designer_Fit=\u81EA\u9069\u5FDC FR-Designer_Font-Family=\u30D5\u30A9\u30F3\u30C8\u540D\u79F0 FR-Designer_Font-Size=\u30D5\u30A9\u30F3\u30C8\u5927\u5C0F @@ -465,10 +466,15 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u6539\u30DA\u30FC\u30B8\u691C\u FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 FR-Designer_Event=\u30A4\u30D9\u30F3\u30C8 FR-Designer_Properties=\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 +FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B +FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B +FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 FR-Designer_Export_failed=\u5C0E\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F FR-Designer_Exported_successfully=\u5C0E\u51FA\u6210\u529F FR-Designer_Exporting=\u5C0E\u51FA\u3057\u3066\u3044\u307E\u3059 -FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8FR-Designer_Button_OK=FR-Designer_Button_OK=\u78BA\u5B9A +FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8 +FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB FR-Designer_JavaScript=JavaScript FR-Designer_JavaScript_Form_Submit=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u66F8\u304D\u8FBC\u307F 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 22f6dd5415..dfb5ec78ff 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\uAE30\uD0C0\uD15C\uD50C\uB9BF\uB2EB\uAE30 FR-Designer_File=\uD30C\uC77C FR-Designer_Filter_Conditions=\uD544\uD130\uC870\uAC74 FR-Designer_Finish-Modify-Share=\uC218\uC815\uC644\uB8CC\uBC0F\uACF5\uC720 +FR-Designer_Fit-App=App\uC790\uAE30\uC801\uC751 FR-Designer_Fit=\uC790\uAE30\uC801\uC751 FR-Designer_Font-Family=\uAE00\uAF34\uBA85\uCE6D FR-Designer_Font-Size=\uAE00\uAF34\uD06C\uAE30 @@ -445,6 +446,7 @@ FR-Designer_WLayout-Absolute-ToolTips=\uC790\uC720\uC2DD\uB808\uC774\uC544\uC6C3 FR-Designer_Add_all=\uBAA8\uB450\uCD94\uAC00 FR-Designer_Reset= FR-Designer_Language_Change_Successful= +FR-Designer_Template_Web_Attributes= FR-Designer_Basic=\uAE30\uBCF8 FR-Designer_Printers(Server)=\uD504\uB9B0\uD130(\uC11C\uBC84) FR-Designer_Pagination_Setting=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uBBF8\uB9AC\uBCF4\uAE30\uC124\uC815 @@ -459,6 +461,10 @@ FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql FR-Designer_Event= +FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 +FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 FR-Designer_Properties=\uFFFD FR-Designer_Export_failed=\uB0B4\uBCF4\uB0B4\uAE30\uC2E4\uD328 FR-Designer_Exported_successfully=\uB0B4\uBCF4\uB0B4\uAE30\uC131\uACF5 @@ -483,7 +489,6 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= - FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCCAB\uBC88\uC9F8\uD589\uB450\uBC88\uC9F8\uC5F4\uC758\uB370\uC774\uD130\uB97C\uC785\uB825\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. FR-Designer_FormulaPane_Variables=\uBCC0\uC218 FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 @@ -492,14 +497,11 @@ FR-Designer_FormulaPane_Search=\uAC80\uC0C9 FR-Designer_Tab_carousel= FR-Designer_setCarousel= FR-Designer_carouselInterval= - FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 FR-Designer_Description_panel=\uC124\uBA85 FR-Designer_Edit_panel=\uD3B8\uC9D1 FR-Designer_Property_panel=\uC18D\uC131 FR-Designer_Select_panel=\uC120\uD0DD -<<<<<<< HEAD - FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\uAE30\uC785\uD604\uC7AC\uD3B8\uC9D1\uD589\uBC30\uACBD\uC124\uC815 FR-Designer_Unload_Check=\uBBF8\uC81C\uCD9C\uB098\uAC14\uC74C\uC54C\uB9BC 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 b5a5106cea..367884033e 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u5173\u95ED\u5176\u4ED6\u6A21\u677F FR-Designer_File=\u6587\u4EF6 FR-Designer_Filter_Conditions=\u8FC7\u6EE4\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u5E76\u5206\u4EAB +FR-Designer_Fit-App=App\u81EA\u9002\u5E94 FR-Designer_Fit=\u81EA\u9002\u5E94 FR-Designer_Font-Family=\u5B57\u4F53\u540D\u79F0 FR-Designer_Font-Size=\u5B57\u4F53\u5927\u5C0F @@ -358,6 +359,7 @@ FR-Designer_KeyPoint=\u5173\u952E\u8282\u70B9 FR-Designer_loadedTreeModel=\u52A0\u8F7D\u5931\u8D25,\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 FR-Designer-Failed_to_load_the_plugin=\u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u8BF7\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8BF7\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u65E0\u6548\u9875\u7801 FR-Designer_Get-CubeGetting=\u83B7\u53D6cube FR-Designer_XMLA_Database=\u6570\u636E\u5E93 FR-Designer_XMLA_UserName=\u7528\u6237\u540D @@ -490,6 +492,10 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u4E49\u5206\u9875\u67E5\u FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 +FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 +FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA FR-Designer_Export_failed=\u5BFC\u51FA\u5931\u8D25 FR-Designer_Exported_successfully=\u5BFC\u51FA\u6210\u529F FR-Designer_Exporting=\u6B63\u5728\u5BFC\u51FA 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 3699395670..95aba53fff 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u95DC\u9589\u5176\u4ED6\u7BC4\u672C FR-Designer_File=\u6A94\u6848 FR-Designer_Filter_Conditions=\u904E\u6FFE\u689D\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u4E26\u5206\u4EAB +FR-Designer_Fit-App=App\u81EA\u9069\u61C9 FR-Designer_Fit=\u81EA\u9069\u61C9 FR-Designer_Font-Family=\u5B57\u9AD4\u540D\u7A31 FR-Designer_Font-Size=\u5B57\u9AD4\u5927\u5C0F @@ -357,6 +358,7 @@ FR-Designer_KeyPoint=\u95DC\u9375\u7BC0\u9EDE FR-Designer_loadedTreeModel=\u52A0\u8F09\u5931\u6557,\u8ACB\u6AA2\u67E5\u5F8C\u91CD\u8A66 FR-Designer-Failed_to_load_the_plugin=\u7121\u6CD5\u52A0\u8F09\u63D2\u4EF6\uFF0C\u8ACB\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8ACB\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u7121\u6548\u9801\u78BC FR-Designer_Get-CubeGetting=\u7372\u53D6cube FR-Designer_XMLA_Database=\u8CC7\u6599\u5EAB FR-Designer_XMLA_UserName=\u5E33\u865F @@ -478,6 +480,10 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u5206\u9801\u67E5\u FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 +FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F +FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA FR-Designer_Export_failed=\u532F\u51FA\u5931\u6557 FR-Designer_Exported_successfully=\u532F\u51FA\u6210\u529F FR-Designer_Exporting=\u6B63\u5728\u532F\u51FA... From ae2dac569b3109713ff901449c50d5f66d419256 Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Mon, 20 Feb 2017 11:00:44 +0800 Subject: [PATCH 078/104] =?UTF-8?q?=E6=97=A0jira=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=E5=B1=9E=E6=80=A7=E4=BF=AE=E6=94=B9=E4=B8=BA=E7=A7=81?= =?UTF-8?q?=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapters/layout/FRBodyLayoutAdapter.java | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java index dc1fb7d368..e189c607f5 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java @@ -19,37 +19,37 @@ import java.util.*; * Created by zhouping on 2016/8/18. */ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter { - protected static final int COMP_TOP = 1; - protected static final int COMP_BOTTOM = 2; - protected static final int COMP_LEFT = 3; - protected static final int COMP_RIGHT = 4; + private static final int COMP_TOP = 1; + private static final int COMP_BOTTOM = 2; + private static final int COMP_LEFT = 3; + private static final int COMP_RIGHT = 4; private static final int COMP_LEFT_TOP = 5; private static final int COMP_LEFT_BOTTOM = 6; private static final int COMP_RIGHT_TOP = 7; private static final int COMP_RIGHT_BOTTOM = 8; private static final int INDEX_ZERO = 0; - protected static final double TOP_HALF = 0.25; - protected static final double BOTTOM_HALF = 0.75; - protected static final int DEFAULT_AREA_LENGTH = 5; //判断交叉区域范围的默认长度 - protected static final int BORDER_PROPORTION = 10; //边界三等分或交叉区域大小取组件1/10和默认大小 + private static final double TOP_HALF = 0.25; + private static final double BOTTOM_HALF = 0.75; + private static final int DEFAULT_AREA_LENGTH = 5; //判断交叉区域范围的默认长度 + private static final int BORDER_PROPORTION = 10; //边界三等分或交叉区域大小取组件1/10和默认大小 - protected int trisectAreaDirect = 0; - protected int crossPointAreaDirect = 0; + private int trisectAreaDirect = 0; + private int crossPointAreaDirect = 0; // 增加删除拉伸控件用的临时list - protected java.util.List rightComps; - protected java.util.List leftComps; - protected java.util.List downComps; - protected java.util.List upComps; + private java.util.List rightComps; + private java.util.List leftComps; + private java.util.List downComps; + private java.util.List upComps; // 三等分时计算对应侧的组件 - protected boolean isFindRelatedComps = false; + private boolean isFindRelatedComps = false; // 渲染时只计算对应的bounds而不调整 private boolean isCalculateChildPos = false; private int[] childPosition = null; //painter用的位置 - protected int minWidth = 0; // 最小尺寸,由于屏幕百分比里不同,显示的最小大小也不同 - protected int minHeight = 0; - protected int actualVal = 0; // 存在间隔时,add move drag 判断对齐等都要考虑 - protected PaddingMargin margin; // 布局容器边距 + private int minWidth = 0; // 最小尺寸,由于屏幕百分比里不同,显示的最小大小也不同 + private int minHeight = 0; + private int actualVal = 0; // 存在间隔时,add move drag 判断对齐等都要考虑 + private PaddingMargin margin; // 布局容器边距 /** * 在添加组件状态时,当鼠标移动到某个容器上方时,如果该容器有布局管理器,则会调用该布局 @@ -629,10 +629,8 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter { private int getPositionOfFix(XCreator currentCreator, int x, int y) { int position = 0; XLayoutContainer cardLayout = ((XWCardMainBorderLayout) currentCreator).getCardPart(); - XLayoutContainer container = (XLayoutContainer) cardLayout.getComponent(0); Rectangle rect = ComponentUtils.getRelativeBounds(container); - /* * 为了获取到鼠标drop位置的控件, * 我们之前已经将y值变为相对坐标值; @@ -644,11 +642,9 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter { if (currentCreator.getParent().getParent().getComponent(0) instanceof XWParameterLayout) { int high = currentCreator.getParent().getParent().getComponent(0).getHeight(); y = y + WCardMainBorderLayout.TAB_HEIGHT + high; - } else { y = y + WCardMainBorderLayout.TAB_HEIGHT; } - int tempX = x - rect.x; int tempY = y - rect.y; int containerX = container.getX(); From 58ad4ecbf0d1fa8379ae2e4ba71b05f0e3f50666 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Mon, 20 Feb 2017 11:20:01 +0800 Subject: [PATCH 079/104] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=87=A0=E4=B8=AA?= =?UTF-8?q?=E4=B8=8D=E8=A7=84=E8=8C=83=E7=9A=84=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../poly/hanlder/BottomCornerMouseHanlder.java | 2 +- .../com/fr/design/beans/location/MoveUtils.java | 2 +- .../gui/itable/AbstractPropertyTable.java | 17 +++++++---------- .../com/fr/design/gui/itable/PropertyGroup.java | 14 ++++++++++---- .../design/designer/beans/location/Inner.java | 10 ++++------ .../fr/design/mainframe/ConnectorHelper.java | 5 ++--- .../design/mainframe/MobileParaWidgetTable.java | 3 --- .../fr/design/mainframe/MobileWidgetTable.java | 3 --- 8 files changed, 25 insertions(+), 31 deletions(-) diff --git a/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java b/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java index e42835abbb..1a895cbfef 100644 --- a/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java +++ b/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java @@ -170,7 +170,7 @@ public class BottomCornerMouseHanlder extends MouseInputAdapter { * @return 重叠 */ @Override - public boolean isWidgetsIntersects() { + public boolean isWidgetsIntersected() { return false; } diff --git a/designer_base/src/com/fr/design/beans/location/MoveUtils.java b/designer_base/src/com/fr/design/beans/location/MoveUtils.java index 1e110358ce..853e37026a 100644 --- a/designer_base/src/com/fr/design/beans/location/MoveUtils.java +++ b/designer_base/src/com/fr/design/beans/location/MoveUtils.java @@ -84,7 +84,7 @@ public class MoveUtils { * 获取designer内部组件是否重叠的标志位 * @return 重叠 */ - boolean isWidgetsIntersects(); //TODO 消除PMD检查错误,把getWidgetsIntersects改成isWidgetsIntersects + boolean isWidgetsIntersected(); /** * 获取designer相对屏幕的位置 diff --git a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java index 96c9a5c1e4..340b554505 100644 --- a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java +++ b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java @@ -28,23 +28,17 @@ public abstract class AbstractPropertyTable extends JTable { // // 所有数据组, 把数据分组,一个可折叠的项里面的所有行 为一组 protected ArrayList groups; - protected TableModel default_table_model; // 属性表被选中的行加一个浅蓝色的背景 public static final Color PROPERTY_SELECTION_BACKGROUND = new Color(153, 204, 255); // 属性表的行高 public static final int PROPERTY_TABLE_ROW_HEIGHT = 22; - private static final int PROPERTY_ICON_WIDTH = 10; public AbstractPropertyTable() { this.setTableProperties(); this.initPopup(); - default_table_model = new DefaultTableModel(); - this.setModel(default_table_model); + this.setModel(new DefaultTableModel()); } - /** - * 设置表格属性 - */ private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); @@ -86,8 +80,11 @@ public abstract class AbstractPropertyTable extends JTable { PropertyGroup group = groups.get(pIndex.x); //如果是标题行 if (pIndex.y == 0) { - //采用group中定义好的标题行渲染器 - return group.getRenderer(); + if (column == 0) { + return group.getFirstRenderer(); + } else { + return group.getSecondRenderer(); + } } else { //如果是非标题行第一列,采用默认渲染器 if (column == 0) { @@ -183,7 +180,7 @@ public abstract class AbstractPropertyTable extends JTable { int row = AbstractPropertyTable.super.rowAtPoint(e.getPoint()); if (row != -1) { Point pIndex = getGroupIndex(row); - if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < PROPERTY_ICON_WIDTH) { + if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < 10) { toggleCollapse(pIndex.x); } } diff --git a/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java b/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java index 0e6426ac17..c863c882d6 100644 --- a/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java +++ b/designer_base/src/com/fr/design/gui/itable/PropertyGroup.java @@ -12,11 +12,13 @@ public class PropertyGroup { private GroupModel model; // 描述这个属性组中的数据model private String name; // 这组属性的标题名称 private boolean collapsed; // 这组属性是否折叠 - private GroupRenderer renderer; // 属性标题渲染器 + private GroupRenderer renderer1; + private GroupRenderer renderer2; public PropertyGroup(GroupModel model) { this(model.getGroupName(), model, false); - renderer = new GroupRenderer(); + renderer1 = new GroupRenderer(); + renderer2 = new GroupRenderer(); } public PropertyGroup(String name, GroupModel model, boolean collapsed) { @@ -49,8 +51,12 @@ public class PropertyGroup { this.collapsed = collapsed; } - public TableCellRenderer getRenderer() { - return renderer; + public TableCellRenderer getFirstRenderer() { + return renderer1; + } + + public TableCellRenderer getSecondRenderer() { + return renderer2; } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/beans/location/Inner.java b/designer_form/src/com/fr/design/designer/beans/location/Inner.java index 5c3c38844f..d400a064ca 100644 --- a/designer_form/src/com/fr/design/designer/beans/location/Inner.java +++ b/designer_form/src/com/fr/design/designer/beans/location/Inner.java @@ -46,12 +46,10 @@ public class Inner extends AccessDirection { return new Point(x, y); } - //TODO 原先这个类是通过一个new一个匿名类继承RectangleDesigner接口实现的,但是报了方法超过50行的PMD错误 - //TODO 暂时就先这样命名,请原作者看到后重新命名 - private class RectangleDesigner1 implements RectangleDesigner { + private class RectDesigner implements RectangleDesigner { private FormDesigner designer = null; - public RectangleDesigner1(FormDesigner designer) { + public RectDesigner(FormDesigner designer) { this.designer = designer; } @@ -101,7 +99,7 @@ public class Inner extends AccessDirection { * @return 重叠 */ @Override - public boolean isWidgetsIntersects() { + public boolean isWidgetsIntersected() { return designer.isWidgetsIntersect(); } @@ -138,7 +136,7 @@ public class Inner extends AccessDirection { @Override protected void sorptionPoint(Point point, Rectangle current_bounds, final FormDesigner designer) { - RectangleDesigner1 rd = new RectangleDesigner1(designer); + RectDesigner rd = new RectDesigner(designer); //判断当前操作的是不是参数面板,要特殊处理 boolean isParameterLayout = ((XCreator)(designer.getSelectionModel().getSelection().getSelectedCreator().getParent())).acceptType(XWParameterLayout.class); point.setLocation(MoveUtils.sorption(point.x, point.y, current_bounds.width, current_bounds.height, rd, isParameterLayout)); diff --git a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java index b4d8972818..2bc38699e2 100644 --- a/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java +++ b/designer_form/src/com/fr/design/mainframe/ConnectorHelper.java @@ -19,8 +19,7 @@ public class ConnectorHelper { public static final int NEAR = 5; private static double ratio = 0.5; - // TODO 为了消除魔术数错误,我不清楚这个15代表什么,先这样命名了,原作者看到了请改一下 - private final static int MAGICNUMBER = 15; + private final static int ADSORPTION = 15; // 吸附距离 private ArrayList drawingPoint; private FormDesigner designer; private boolean drawing; @@ -88,7 +87,7 @@ public class ConnectorHelper { public void createDefalutLine() { if (drawingPoint != null && drawingPoint.size() > 1 - && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > MAGICNUMBER) { + && ConnectorCreator.getMinimumDistance(drawingPoint.get(0), drawingPoint.get(drawingPoint.size() - 1)) > ADSORPTION) { ((XWAbsoluteLayout) designer.getRootComponent()).addConnector(new Connector().addAll(drawingPoint)); } drawingPoint = null; diff --git a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java index 9d670db2ca..67f47f951a 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java @@ -82,9 +82,6 @@ class MobileParaWidgetTable extends JTable { add(moveComponent); } - /** - * 设置表格属性 - */ private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index 9b589b09b0..bb7ba99187 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -67,9 +67,6 @@ public class MobileWidgetTable extends JTable { add(moveComponent); } - /** - * 设置表格属性 - */ private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); From 0403b6e3cc2a049424e6c28c7f95d354693e3f1c Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Mon, 20 Feb 2017 11:31:06 +0800 Subject: [PATCH 080/104] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=B0=8F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/gui/itable/AbstractPropertyTable.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java index 340b554505..36e9cc17d1 100644 --- a/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java +++ b/designer_base/src/com/fr/design/gui/itable/AbstractPropertyTable.java @@ -32,6 +32,7 @@ public abstract class AbstractPropertyTable extends JTable { public static final Color PROPERTY_SELECTION_BACKGROUND = new Color(153, 204, 255); // 属性表的行高 public static final int PROPERTY_TABLE_ROW_HEIGHT = 22; + private static final int PROPERTY_ICON_WIDTH = 10; public AbstractPropertyTable() { this.setTableProperties(); @@ -180,7 +181,7 @@ public abstract class AbstractPropertyTable extends JTable { int row = AbstractPropertyTable.super.rowAtPoint(e.getPoint()); if (row != -1) { Point pIndex = getGroupIndex(row); - if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < 10) { + if (pIndex.y == 0 && e.getClickCount() == 1 && e.getX() < PROPERTY_ICON_WIDTH) { toggleCollapse(pIndex.x); } } From bb99b03e2b30c2cd433662fb29076e24f526bf5c Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Mon, 20 Feb 2017 14:06:08 +0800 Subject: [PATCH 081/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapters/layout/FRBodyLayoutAdapter.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java index e189c607f5..8db19d9fba 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java @@ -19,37 +19,37 @@ import java.util.*; * Created by zhouping on 2016/8/18. */ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter { - private static final int COMP_TOP = 1; - private static final int COMP_BOTTOM = 2; - private static final int COMP_LEFT = 3; - private static final int COMP_RIGHT = 4; + protected static final int COMP_TOP = 1; + protected static final int COMP_BOTTOM = 2; + protected static final int COMP_LEFT = 3; + protected static final int COMP_RIGHT = 4; private static final int COMP_LEFT_TOP = 5; private static final int COMP_LEFT_BOTTOM = 6; private static final int COMP_RIGHT_TOP = 7; private static final int COMP_RIGHT_BOTTOM = 8; private static final int INDEX_ZERO = 0; - private static final double TOP_HALF = 0.25; - private static final double BOTTOM_HALF = 0.75; - private static final int DEFAULT_AREA_LENGTH = 5; //判断交叉区域范围的默认长度 - private static final int BORDER_PROPORTION = 10; //边界三等分或交叉区域大小取组件1/10和默认大小 + protected static final double TOP_HALF = 0.25; + protected static final double BOTTOM_HALF = 0.75; + protected static final int DEFAULT_AREA_LENGTH = 5; //判断交叉区域范围的默认长度 + protected static final int BORDER_PROPORTION = 10; //边界三等分或交叉区域大小取组件1/10和默认大小 - private int trisectAreaDirect = 0; + protected int trisectAreaDirect = 0; private int crossPointAreaDirect = 0; // 增加删除拉伸控件用的临时list - private java.util.List rightComps; - private java.util.List leftComps; - private java.util.List downComps; - private java.util.List upComps; + protected java.util.List rightComps; + protected java.util.List leftComps; + protected java.util.List downComps; + protected java.util.List upComps; // 三等分时计算对应侧的组件 - private boolean isFindRelatedComps = false; + protected boolean isFindRelatedComps = false; // 渲染时只计算对应的bounds而不调整 private boolean isCalculateChildPos = false; private int[] childPosition = null; //painter用的位置 - private int minWidth = 0; // 最小尺寸,由于屏幕百分比里不同,显示的最小大小也不同 - private int minHeight = 0; - private int actualVal = 0; // 存在间隔时,add move drag 判断对齐等都要考虑 - private PaddingMargin margin; // 布局容器边距 + protected int minWidth = 0; // 最小尺寸,由于屏幕百分比里不同,显示的最小大小也不同 + protected int minHeight = 0; + protected int actualVal = 0; // 存在间隔时,add move drag 判断对齐等都要考虑 + protected PaddingMargin margin; // 布局容器边距 /** * 在添加组件状态时,当鼠标移动到某个容器上方时,如果该容器有布局管理器,则会调用该布局 From f91cec5562e296c8450ca3c2c712ea0efb2b13c7 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Mon, 20 Feb 2017 14:20:03 +0800 Subject: [PATCH 082/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java | 2 +- .../src/com/fr/design/beans/location/MoveUtils.java | 6 +++--- .../src/com/fr/design/designer/beans/location/Inner.java | 2 +- .../src/com/fr/design/mainframe/WidgetPropertyPane.java | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java b/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java index 1a895cbfef..3f063e21d4 100644 --- a/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java +++ b/designer/src/com/fr/poly/hanlder/BottomCornerMouseHanlder.java @@ -161,7 +161,7 @@ public class BottomCornerMouseHanlder extends MouseInputAdapter { * @param isIntersects 是否重叠 */ @Override - public void setWidgetsIntersects(boolean isIntersects) { + public void setWidgetsIntersected(boolean isIntersects) { } /** diff --git a/designer_base/src/com/fr/design/beans/location/MoveUtils.java b/designer_base/src/com/fr/design/beans/location/MoveUtils.java index 853e37026a..d898484464 100644 --- a/designer_base/src/com/fr/design/beans/location/MoveUtils.java +++ b/designer_base/src/com/fr/design/beans/location/MoveUtils.java @@ -78,7 +78,7 @@ public class MoveUtils { * 设置designer内部组件是否重叠的标志位 * @param isIntersects 是否重叠 */ - void setWidgetsIntersects(boolean isIntersects); + void setWidgetsIntersected(boolean isIntersects); /** * 获取designer内部组件是否重叠的标志位 @@ -358,10 +358,10 @@ public class MoveUtils { if(designer.getDesignerLocationOnScreen() != null) { displayForbidWindow(x + designer.getDesignerLocationOnScreen().x, y + designer.getDesignerLocationOnScreen().y); } - designer.setWidgetsIntersects(true); + designer.setWidgetsIntersected(true); } else{ - designer.setWidgetsIntersects(false); + designer.setWidgetsIntersected(false); hideForbidWindow(); } } diff --git a/designer_form/src/com/fr/design/designer/beans/location/Inner.java b/designer_form/src/com/fr/design/designer/beans/location/Inner.java index d400a064ca..4f475adf09 100644 --- a/designer_form/src/com/fr/design/designer/beans/location/Inner.java +++ b/designer_form/src/com/fr/design/designer/beans/location/Inner.java @@ -89,7 +89,7 @@ public class Inner extends AccessDirection { * @param isIntersects 是否重叠 */ @Override - public void setWidgetsIntersects(boolean isIntersects) { + public void setWidgetsIntersected(boolean isIntersects) { designer.setWidgetsIntersect(isIntersects); } diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index 23242e399e..33736ac0a0 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -33,6 +33,8 @@ import java.util.Set; */ public class WidgetPropertyPane extends FormDockView implements BaseWidgetPropertyPane { + private static final String PARA = "para"; + private static final String BODY = "body"; private WidgetPropertyTable propertyTable; // 控件的属性表 private EventPropertyTable eventTable; // 控件的事件表 private List widgetPropertyTables; // 这个变量应该是保存控件拓展的属性tab @@ -46,8 +48,6 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper private JPanel centerPane; // 此centerPane采用的是cardLayout布局,装载着mobileWidgetTable和mobileBodyWidgetTable private CardLayout cardLayout; // 卡片布局,选中参数面板时显示mobileWidgetTable,选中body时显示mobileBodyWidgetTable private JTableHeader header;//把表头单独get出来作为一个组件 - private static final String PARA = "para"; - private static final String BODY = "body"; public static WidgetPropertyPane getInstance() { if (HOLDER.singleton == null) { From ba719cab5edcfb234825a2ba11b119c9b3d3f3ba Mon Sep 17 00:00:00 2001 From: neil Date: Mon, 20 Feb 2017 19:52:21 +0800 Subject: [PATCH 083/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=20designer=E6=89=93=E5=8C=85=E7=94=A81.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_form/build.dev.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_form/build.dev.gradle b/designer_form/build.dev.gradle index 20dc49a335..ae16b033e3 100644 --- a/designer_form/build.dev.gradle +++ b/designer_form/build.dev.gradle @@ -4,7 +4,7 @@ tasks.withType(JavaCompile){ options.encoding = 'UTF-8' } //指定构建的jdk版本 -sourceCompatibility=1.8 +sourceCompatibility=1.7 //指定生成的jar包版本 version='8.0' From f9e6d148c7b8bda391bb54dbbcaedc01eb0bb084 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Tue, 21 Feb 2017 14:53:05 +0800 Subject: [PATCH 084/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=B0=8F=E9=94=99=E8=AF=AF=EF=BC=8CWLayout->WSortLayout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/MobileParaWidgetTable.java | 2 +- .../design/mainframe/MobileWidgetTable.java | 22 ++++++------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java index 67f47f951a..a39d3d94a3 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java @@ -245,7 +245,7 @@ class MobileParaWidgetTable extends JTable { } WParameterLayout para = (WParameterLayout) (paraContainer.toData()); - return para.getWidgetNameTag(); // TODO 从这个函数开始看,可以看到后台如何决定拖动后的控件顺序的 + return para.getWidgetNameTag(); } /** diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index bb7ba99187..5044b4f8d1 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -3,7 +3,7 @@ package com.fr.design.mainframe; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.util.ArrayList; +import java.util.List; import javax.swing.BorderFactory; import javax.swing.JLabel; @@ -14,11 +14,8 @@ import javax.swing.table.*; import com.fr.design.designer.creator.XCreator; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itable.GroupRenderer; -import com.fr.design.gui.itable.HeaderRenderer; import com.fr.form.ui.Widget; import com.fr.form.ui.container.*; -import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; -import com.fr.form.ui.container.cardlayout.WCardTitleLayout; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.StringUtils; @@ -67,6 +64,9 @@ public class MobileWidgetTable extends JTable { add(moveComponent); } + /** + * 设置表格属性 + */ private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); @@ -112,7 +112,7 @@ public class MobileWidgetTable extends JTable { moveComponent.setVisible(false); int toIndex = e.getY() < GAP ? 0 : (int)Math.rint((e.getY() - GAP)/WIDGET_TABLE_ROW_HEIGHT) + 1; //当鼠标放开时,将选中的容器调整至新的顺序 - ((WLayout)designer.getSelectionModel().getSelection().getSelectedCreator().toData()).adjustOrder(selectedRow - 1, toIndex - 1); + ((WSortLayout)designer.getSelectionModel().getSelection().getSelectedCreator().toData()).adjustOrder(selectedRow - 1, toIndex - 1); //拿取排序后表格数据,然后重绘表格 getInstance().refreshData(); getInstance().repaint(); @@ -261,16 +261,8 @@ public class MobileWidgetTable extends JTable { } // 选择的控件有两种类型,一种是WLayout,代表容器,一种是Widget,代表控件 - if (selectedModel.acceptType(WLayout.class)) { - //WCardLayout里面并不是控件,而仍然是容器TabFitLayout,故要向下获取控件 - //WCardTitlelLayout是XWCardLayout的标题容器,里面同样不是控件,不能获取MobileList - //WTitleLayout是标题容器,比如图表的标题,里面是图表控件和Label标题控件,但是不需要获取MobileList - if (selectedModel.acceptType(WCardLayout.class) || selectedModel.acceptType(WCardTitleLayout.class)) { - if (selectedModel.acceptType(WTitleLayout.class) || selectedModel.acceptType(WCardMainBorderLayout.class)) { - return new String[0][0]; - } - } - ArrayList strings = ((WLayout)selectedModel).getMobileWidgetList(); + if (selectedModel.acceptType(WSortLayout.class)) { + List strings = ((WSortLayout)selectedModel).getMobileWidgetList(); String[][] widgetName = new String[strings.size() + 1][1]; widgetName[0][0] = Inter.getLocText("FR-Designer_WidgetOrder"); for (int i = 0; i < strings.size(); i++) { From 8ec71ac73598f1e90ae55bec10a1965901254078 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Tue, 21 Feb 2017 14:55:50 +0800 Subject: [PATCH 085/104] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/MobileWidgetTable.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index 5044b4f8d1..7893ddf185 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -64,9 +64,6 @@ public class MobileWidgetTable extends JTable { add(moveComponent); } - /** - * 设置表格属性 - */ private void setTableProperties() { JTableHeader header = getTableHeader(); header.setReorderingAllowed(false); From 3ddef78aecfd87679785c06434f6f7b2f80f3420 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Tue, 21 Feb 2017 15:15:28 +0800 Subject: [PATCH 086/104] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/MobileWidgetTable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index 7893ddf185..683d464558 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -259,7 +259,7 @@ public class MobileWidgetTable extends JTable { // 选择的控件有两种类型,一种是WLayout,代表容器,一种是Widget,代表控件 if (selectedModel.acceptType(WSortLayout.class)) { - List strings = ((WSortLayout)selectedModel).getMobileWidgetList(); + List strings = ((WSortLayout)selectedModel).getOrderedMobileWidgetList(); String[][] widgetName = new String[strings.size() + 1][1]; widgetName[0][0] = Inter.getLocText("FR-Designer_WidgetOrder"); for (int i = 0; i < strings.size(); i++) { From c7ad29b02f7fa10c4ee6422f11f8fb54adfbabef Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Tue, 21 Feb 2017 15:26:46 +0800 Subject: [PATCH 087/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/MobileWidgetTable.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index 683d464558..e3c655c054 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -259,11 +259,11 @@ public class MobileWidgetTable extends JTable { // 选择的控件有两种类型,一种是WLayout,代表容器,一种是Widget,代表控件 if (selectedModel.acceptType(WSortLayout.class)) { - List strings = ((WSortLayout)selectedModel).getOrderedMobileWidgetList(); - String[][] widgetName = new String[strings.size() + 1][1]; + List mobileWidgetLists = ((WSortLayout)selectedModel).getOrderedMobileWidgetList(); + String[][] widgetName = new String[mobileWidgetLists.size() + 1][1]; widgetName[0][0] = Inter.getLocText("FR-Designer_WidgetOrder"); - for (int i = 0; i < strings.size(); i++) { - widgetName[i + 1][0] = strings.get(i); + for (int i = 0; i < mobileWidgetLists.size(); i++) { + widgetName[i + 1][0] = mobileWidgetLists.get(i); } return widgetName; } else { From 53f31b794e9832b914ba2f6373de8991c323b7ae Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Tue, 21 Feb 2017 15:27:39 +0800 Subject: [PATCH 088/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/MobileWidgetTable.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java index e3c655c054..f79eca1a92 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java @@ -259,11 +259,11 @@ public class MobileWidgetTable extends JTable { // 选择的控件有两种类型,一种是WLayout,代表容器,一种是Widget,代表控件 if (selectedModel.acceptType(WSortLayout.class)) { - List mobileWidgetLists = ((WSortLayout)selectedModel).getOrderedMobileWidgetList(); - String[][] widgetName = new String[mobileWidgetLists.size() + 1][1]; + List mobileWidgetList = ((WSortLayout)selectedModel).getOrderedMobileWidgetList(); + String[][] widgetName = new String[mobileWidgetList.size() + 1][1]; widgetName[0][0] = Inter.getLocText("FR-Designer_WidgetOrder"); - for (int i = 0; i < mobileWidgetLists.size(); i++) { - widgetName[i + 1][0] = mobileWidgetLists.get(i); + for (int i = 0; i < mobileWidgetList.size(); i++) { + widgetName[i + 1][0] = mobileWidgetList.get(i); } return widgetName; } else { From 23b20520b8171d1ccae70c5fd7bb931f7bc6b6dc Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 21 Feb 2017 17:06:19 +0800 Subject: [PATCH 089/104] =?UTF-8?q?report-1343=20ftp=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=BC=8F=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/gui/controlpane/JListControlPane.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java index dd91b7824b..52802921a7 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java @@ -109,6 +109,10 @@ public abstract class JListControlPane extends JControlPane { } + protected void doBeforePopulate(ListModelElement el, Object obj) { + + } + @Override protected ShortCut4JControlPane addItemShortCut() { ShortCut addItemShortCut; @@ -832,6 +836,7 @@ public abstract class JListControlPane extends JControlPane { cardPane.add(updatePanes[i], String.valueOf(i)); } card.show(cardPane, String.valueOf(i)); + doBeforePopulate(el, ob2Populate); updatePanes[i].populateBean(ob2Populate); doWhenPopulate(updatePanes[i]); break; From 8691ee6d2f0d3a93179936fe1a4341bb322b2a14 Mon Sep 17 00:00:00 2001 From: juhaoyu <2335173323@qq.com> Date: Wed, 22 Feb 2017 10:02:25 +0800 Subject: [PATCH 090/104] =?UTF-8?q?=E5=85=B6=E4=BB=96=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/DesignerFrameFileDealerPane.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index 9355a33486..352fc15641 100644 --- a/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -29,6 +29,7 @@ import com.fr.file.filetree.FileNode; import com.fr.general.ComparatorUtils; import com.fr.general.GeneralContext; import com.fr.general.Inter; +import com.fr.plugin.proxy.PluginProxyCompatibleUtils; import com.fr.stable.CoreConstants; import com.fr.stable.StableUtils; import com.fr.stable.project.ProjectConstants; @@ -131,6 +132,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } toolbarDef.addShortCut(delFileAction); Set extraShortCuts = ExtraDesignClassManager.getInstance().getArray(ShortCut.TEMPLATE_TREE); + extraShortCuts = PluginProxyCompatibleUtils.toOriObjectHashSet(extraShortCuts); for (ShortCut shortCut : extraShortCuts){ toolbarDef.addShortCut(shortCut); } From 19b23f813e2fe6409f5784844da3a1436d9d3099 Mon Sep 17 00:00:00 2001 From: neil Date: Wed, 22 Feb 2017 17:04:16 +0800 Subject: [PATCH 091/104] ct --- .../fr/design/write/submit/CustomJobPane.java | 2 +- .../creator/cardlayout/XCardAddButton.java | 14 ++-- .../creator/cardlayout/XCardSwitchButton.java | 80 ++++++++++++------- .../creator/cardlayout/XWCardLayout.java | 38 +++++++-- .../creator/cardlayout/XWTabFitLayout.java | 12 ++- 5 files changed, 101 insertions(+), 45 deletions(-) diff --git a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java index d986a8beee..d9368d87dd 100644 --- a/designer_base/src/com/fr/design/write/submit/CustomJobPane.java +++ b/designer_base/src/com/fr/design/write/submit/CustomJobPane.java @@ -1 +1 @@ -package com.fr.design.write.submit; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("FR-Designer_Select_panel")); browserButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("FR-Designer_Edit_panel")); editButton.setPreferredSize(new Dimension( browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_ClassName_panel"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_Property_panel"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.AbstractSubmitTask"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_Description_panel"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(StringUtils.isNotEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file +package com.fr.design.write.submit; import com.fr.base.GraphHelper; import com.fr.data.AbstractClassJob; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.beans.BasicBeanPane; import com.fr.design.formula.JavaEditorPane; import com.fr.design.gui.frpane.ObjectProperiesPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Author : Shockway * Date: 13-7-29 * Time: 下午6:48 */ public abstract class CustomJobPane extends BasicBeanPane { protected UITextField classNameTextField; protected ObjectProperiesPane objectProperiesPane; public static final int DEFAULT_LENGTH = 30; public CustomJobPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); classNameTextField = new UITextField(getLengthOfTextField()); reportletNamePane.add(classNameTextField); UIButton browserButton = new UIButton(Inter.getLocText("FR-Designer_Select")); browserButton.setPreferredSize(new Dimension( GraphHelper.getLocTextWidth("FR-Designer_Select") + 20, classNameTextField.getPreferredSize().height)); UIButton editButton = new UIButton(Inter.getLocText("FR-Designer_Edit")); editButton.setPreferredSize(new Dimension( GraphHelper.getLocTextWidth("FR-Designer_Edit") + 20, classNameTextField.getPreferredSize().height)); reportletNamePane.add(browserButton); reportletNamePane.add(editButton); browserButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { final ClassNameSelectPane bPane = new ClassNameSelectPane(); bPane.setClassPath(classNameTextField.getText()); bPane.showWindow( SwingUtilities.getWindowAncestor(getWindowAncestor()), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(bPane.getClassPath()); checkAddButtonEnable(); } }).setVisible(true); } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JavaEditorPane javaEditorPane = new JavaEditorPane(classNameTextField.getText(), JavaEditorPane.DEFAULT_SUBMIT_JOB); final BasicDialog dlg = javaEditorPane.showMediumWindow(SwingUtilities.getWindowAncestor(CustomJobPane.this), new DialogActionAdapter() { public void doOk() { classNameTextField.setText(javaEditorPane.getClassText()); checkAddButtonEnable(); } }); javaEditorPane.addSaveActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.doOK(); } }); dlg.setVisible(true); } }); reportletNamePane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_ClassName"), null)); this.add(reportletNamePane, BorderLayout.NORTH); objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_Property"), null)); this.add(objectProperiesPane, BorderLayout.CENTER); UITextArea area = new UITextArea(2, 1); area.setText(Inter.getLocText(new String[]{"Come_True", "Interface"}) + ":com.fr.data.SubmitJob"); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); dsPane.add(area); dsPane.setBorder(GUICoreUtils.createTitledBorder(Inter.getLocText("FR-Designer_Custom_Job_Description"), null)); this.add(dsPane, BorderLayout.SOUTH); checkAddButtonEnable(); } public int getLengthOfTextField() { return DEFAULT_LENGTH; } protected String title4PopupWindow() { return "CustomJob"; } protected Component getWindowAncestor() { return this; } @Override public void populateBean(Object ob) { if (ob instanceof AbstractClassJob) { AbstractClassJob cj = (AbstractClassJob) ob; this.classNameTextField.setText(cj.getClassName()); this.objectProperiesPane.populateBean(cj.getPropertyMap()); checkAddButtonEnable(); } } /** * 添加按钮可用 */ public void checkAddButtonEnable() { objectProperiesPane.enableAddButton(StringUtils.isNotEmpty(classNameTextField.getText())); } /** * 重置 */ public void reset() { this.classNameTextField.setText(null); this.checkAddButtonEnable(); } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java index caf259f3e2..85e26e877c 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java @@ -33,6 +33,7 @@ public class XCardAddButton extends XButton{ private static final int INDEX = 0; private static final int DEFAULT_BUTTON_WIDTH = 80; + private static Icon ADD_ICON = BaseUtils.readIcon("/com/fr/design/form/images/add.png"); private Icon addIcon = ADD_ICON; @@ -88,12 +89,12 @@ public class XCardAddButton extends XButton{ // addbutton对应的XWCardLayout和XWCardTagLayout暂未存入到xml中,重新打开之后先根据父子层获取 if(cardLayout == null && tagLayout ==null ){ - initRalateLayout(); + initRelateLayout(); } int index = cardLayout.toData().getWidgetCount(); //添加新的tab,并将原来的设为未选中状态 - setTabUnselectd(); + setTabUnselected(); addTab(index); this.tagLayout.adjustComponentWidth(); @@ -109,7 +110,7 @@ public class XCardAddButton extends XButton{ LayoutUtils.layoutRootContainer(designer.getRootComponent()); } - private void initRalateLayout(){ + private void initRelateLayout(){ XWCardTitleLayout titleLayout = (XWCardTitleLayout)this.getBackupParent(); this.tagLayout = titleLayout.getTagPart(); @@ -128,7 +129,7 @@ public class XCardAddButton extends XButton{ } //将原来的tab页设置为未选中状态 - private void setTabUnselectd(){ + private void setTabUnselected(){ for(int i=0;i Date: Wed, 22 Feb 2017 17:05:32 +0800 Subject: [PATCH 092/104] ct --- .../com/fr/design/locale/designer.properties | 55 ++++---- .../design/locale/designer_en_US.properties | 126 +++++++++-------- .../design/locale/designer_ja_JP.properties | 130 +++++++++--------- .../design/locale/designer_ko_KR.properties | 45 +++--- .../design/locale/designer_zh_CN.properties | 48 ++++--- .../design/locale/designer_zh_TW.properties | 94 +++++++------ .../mainframe/toolbar/ToolBarMenuDock.java | 10 +- 7 files changed, 254 insertions(+), 254 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 28d261ed24..268f5d53d7 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates= FR-Designer_File= FR-Designer_Filter_Conditions= FR-Designer_Finish-Modify-Share= -FR-Designer_Fit-App= +FR-Designer_Fit= FR-Designer_Font-Family= FR-Designer_Font-Size= FR-Designer_Forbid_Drag_into_Adapt_Pane=Forbid Drag into Para Pane @@ -357,7 +357,6 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar= -FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=Database FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -488,10 +487,6 @@ FR-Designer-LayerPageReport_PageQuery= FR-Designer-LayerPageReport_Define_PageQuerySQL= FR-Designer_Event= FR-Designer_Properties= -FR-Designer_Permissions_Edition=Permissions Edition -FR-Designer_Export_Excel_Page=Page -FR-Designer_Export_Excel_Simple=Simple -FR-Designer_Export_Excel_PageToSheet=Page To Sheet FR-Designer_Export_failed=Export failed FR-Designer_Exported_successfully=Exported successfully FR-Designer_Exporting=Exporting @@ -510,27 +505,11 @@ FR-Designer_JavaScript_Set= FR-Designer_Attribute= FR-Designer_Form_Editing_Listeners= FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= +FR-Designer_DS_Dictionary=Data Dictionary +FR-Designer_Create_Tree=Build Tree FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= - -FR-Designer_FormulaPane_Tips=Tips\:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column -FR-Designer_FormulaPane_Variables=Variables -FR-Designer_FormulaPane_Formula_Description=Formula_Description -FR-Designer_FormulaPane_Function_Detail=Function Detail -FR-Designer_FormulaPane_Search=Search -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= - -FR-Designer_ClassName_panel=ClassName -FR-Designer_Description_panel=Description -FR-Designer_Edit_panel=Edit -FR-Designer_Property_panel=Property -FR-Designer_Select_panel=Select - FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=Set BG of the row being edited FR-Designer_Unload_Check=Prompt users when leave without submitting @@ -538,17 +517,30 @@ FR-Designer_ReportColumns_Columns_Optional= FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=Center FR-Designer_Left_Display=Left +FR-Designer_Background_Null= +FR-Designer_Background_Color= +FR-Designer_Background_Texture= +FR-Designer_Background_Pattern= +FR-Designer_Background_Gradient_Color= +FR-Designer_Background_Image= +FR-Designer_Background_Clear= +FR-Designer_Background_Image_Select= +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= +FR-Designer_Initial_Background_Tips= +FR-Designer_Mouse_Move_Tips= +FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=Version FR-Designer_About_CopyRight=Copy Right FR-Designer_Service_Phone=Service Phone -FR-Designer_Allow_Blank=Allow Blank +FR-Designer_Allow_Null=Allow null FR-Designer_PageSetup_Page=Page FR-Designer_Custom_Job_Description=Description FR-Designer_Property=Property FR-Designer_ClassName=Class Name - FR-Designer_Polyblock_Edit=Polyblock Edit -FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class should be copied to\nJ2EE server '{R1}WEB-INF{R2}classes' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R3}classes} +FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class should be copied to\nJ2EE server '{R1}' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R2}} FR-Designer_PageSetup_Horizontal=Horizontal FR-Designer_PageSetup_Vertical=Vertical FR-Designer_Gradient_Direction=Gradient Direction @@ -562,5 +554,12 @@ FR-Designer_Show_As_Download=Display the binary content using download link FR-Designer_File_Name_For_Download=File Name For Download FR-Designer_No=No FR-Designer_Pagination=Page Break +FR-Designer_Role=Role +FR-Designer-Move_Tab_First=move to first +FR-Designer-Move_Tab_End=move to end +FR-Designer-Move_Tab_Next=move to next +FR-Designer-Move_Tab_Prev=move to previous FR-Designer_DS_TableData=Data Set -FR-Designer_Parameter-Formula=Formula \ No newline at end of file +FR-Designer_Parameter-Formula=Formula +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. +FR-Designer_WidgetOrder=Widget Order 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 26d5bc85fe..b0bf16d5d7 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 @@ -73,8 +73,8 @@ FR-Designer_Button-Type=Button Type FR-Designer_CardLayout=TabLayout FR-Designer_Cell=cell FR-Designer_Chart_Cell=Chart Hyperlink-Link Cell -FR-Designer_Chart_Float=Chart Hyperlink-Floating Element -FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating Chart +FR-Designer_Chart_Float=Chart Hyperlink-Floating Elements +FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating-window Chart FR-Designer_Check-for-Updates=Check for Updates FR-Designer_Choose-Data-Confusion-Tip=\ Please Choose the field needed to be confused and then preview FR-Designer_Close=close @@ -100,7 +100,6 @@ FR-Designer_FS_Close_Other_Templates=Close other templates FR-Designer_File=file FR-Designer_Filter_Conditions=Filter condition FR-Designer_Finish-Modify-Share=Finish Modification And Share -FR-Designer_Fit-App=App self-adaption FR-Designer_Fit=self-adaption FR-Designer_Font-Family=Font name FR-Designer_Font-Size=Font size @@ -119,7 +118,7 @@ FR-Designer_Get-CubeGetting cube= FR-Designer_Help=Help FR-Designer_Hide=Hide FR-Designer_Hyperlink=Hyperlink -FR-Designer_Hyperlink-Form_link=Current dashboard object +FR-Designer_Hyperlink-Form_link=Current form object FR-Designer_IDCard=IDCard FR-Designer_Icon=Icon FR-Designer_Index=index @@ -127,7 +126,7 @@ FR-Designer_Input_Rule=Input Rule FR-Designer_Language_Default=Default FR-Designer_Layout=Layout FR-Designer_Layout-HBox=Horizontal Box Layout -FR-Designer_Layout-Index=Index +FR-Designer_Layout-Index=Layout Index FR-Designer_Layout_Constraints=Layout Constraints FR-Designer_Length=Length FR-Designer_Loading_Data=Loading Data @@ -174,12 +173,12 @@ FR-Designer_Search=Search FR-Designer_Set=Set FR-Designer_Share-Template=Share Template FR-Designer_Simple_general=Simple custom query -FR-Designer_Song_TypeFace=Song typeface +FR-Designer_Song_TypeFace=song typeface FR-Designer_Start-Date=Start Date FR-Designer_Subscript=Subscript FR-Designer_Superscript=Superscript FR-Designer_Support_QQ=Support online -FR-Designer_Swatch=Sample +FR-Designer_Swatch=Swatch FR-Designer_Tab_title=Tab title FR-Designer_TableData=Data set FR-Designer_Thank_guest=Special thanks to @@ -191,8 +190,8 @@ FR-Designer_Underline=Underline FR-Designer_Used=Recently Used FR-Designer_User-defined-MDX=Custom MDX query FR-Designer_SampleText=SampleText SampleText -FR-Designer_Vertical-LeftToRight=Vertical Text (left to right) -FR-Designer_Vertical-RightToLeft=Vertical Text (right to left) +FR-Designer_Vertical-LeftToRight=Vertical Text (Left to Right) +FR-Designer_Vertical-RightToLeft=Vertical Text (Right To Left) FR-Designer_VerticalBoxLayout=Vertical Box Layout FR-Designer_Visible=Visible FR-Designer_WLayout-Border-ToolTips=The complete border layout container\uFF0Cis composed of central, eastern, western, northern and southern parts. You can adjust the height of the northern and southern ones and the width of the eastern and western ones. @@ -359,7 +358,6 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar=Please Update Jar -FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=DB FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -415,12 +413,12 @@ FR-Designer_Unit_PT=Pound FR-Designer-Write_Auto_Stash=auto stash FR-Designer_Printer_Native_Button=Native Print FR-Designer_Event_ShowWidgets=Display widgets directly -FR-Designer_Current_Preview_Rows=Current Number of Preview Rows +FR-Designer_Current_Preview_Rows=Current Number of Preview Rows FR-Designer_Data=Data FR-Designer_Error=Error FR-Designer_formDesignerModule=Form Designer FR-Designer-Website_Url=http\://www.finereport.com/en -FR-Designer-BBSLogin_Download-Unlogin-Tip=Login to download +FR-Designer-BBSLogin_Download-Unlogin-Tip= FR-Designer-App_ReLayout=AppRelayout FR-Designer_Mobile-Attr=Mobile Attr FR-Designer_Mobile-Vertical=Vertical Screen @@ -434,42 +432,42 @@ FR-Designer_COMMUNITY_NEED=need FR-Designer_COMMUNITY_BUG=bug report FR-Designer_COMMUNITY_SIGN=sign FR-Designer_COMMUNITY_QUESTIONS=questions -FR-Designer_Mobile-Zoom=Zoom +FR-Designer_Mobile-Zoom=zoom FR-Designer_Mobile-Open=Open -FR-Designer_Mobile-Warning=Max height cannot exceed 80% of display area +FR-Designer_Mobile-Warning= FR-Designer_Button-OK=OK FR-Designer_Button-Cancel=Cancel FR-Designer_Write-Save-Formula=Preserve formula when fill FR-Designer_Export-Save-Formula=Preserve formula when export -FR-Designer_Form-Fit-Tip=Adaptive plug-in -FR-Designer_Form-Frozen-Tip=When use Frozen, suggest install -FR-Designer_Form-Forzen-Speed=, use bidirectional and horizontal adaption to improve the speed. -FR-Designer_Attention=Attention -FR-Designer_Forbid_Widgets_Intersects=Forbid component overlap +FR-Designer_Form-Fit-Tip=Fit Plugin +FR-Designer_Form-Frozen-Tip=When Use Form Frozen, Suggest Install +FR-Designer_Form-Forzen-Speed=To Speed UP. +FR-Designer_Attention=attention +FR-Designer_Forbid_Widgets_Intersects=Forbid Widgets Intersects FR-Designer_Widget_Scaling_Mode_Fit=Area-Fit FR-Designer_Widget_Scaling_Mode_Fixed=Area-Fixed -FR-Designer-Widget_Area_Scaling=Component area scaling -FR-Designer-Widget_Scaling_Mode=Scaling mode +FR-Designer-Widget_Area_Scaling=Widget Area Scaling +FR-Designer-Widget_Scaling_Mode=Widget Scaling Mode FR-Designer-QQLogin-Determine=Determine FR-Designer-QQLogin-Cancel=Cancel -FR-Designer-Reuse_Manager=Component management -FR-Designer_TableData-Default-Para=Default parameter -FR-Designer_Layout_Block_Absolute=Absolute layout block -FR-Designer_Layout_Block_Tab=Tab block -FR-Designer_Layout_Block_Blank=Blank block -FR-Designer_Attr_Layout=Layout -FR-Designer_Attr_Layout_Type=Layout type -FR-Designer_Attr_Bidirectional_Adaptive=Bidirectional adaptive -FR-Designer-Selected_Widget=Selected widget -FR-Designer_LocalWidget=Local component library -FR-Designer_AllCategories=All categories -FR-Designer_Download_Template=Download components -FR-Designer_Install_Template=Install components -FR-Designer_Delete_Template=Delete components -FR-Designer_Mobile-Refresh=Refresh -FR-Designer_Mobile-ToolBar=Toolbar +FR-Designer-Reuse_Manager=Reuse Manager +FR-Designer_TableData-Default-Para=Default Para +FR-Designer_Layout_Block_Absolute=Absolute Layout Block +FR-Designer_Layout_Block_Tab=TabLayout +FR-Designer_Layout_Block_Blank=Blank Block +FR-Designer_Attr_Layout=layout +FR-Designer_Attr_Layout_Type=layout type +FR-Designer_Attr_Bidirectional_Adaptive=Bidirectional Adaptive +FR-Designer-Selected_Widget=selected widget +FR-Designer_LocalWidget=local widget +FR-Designer_AllCategories=all categories +FR-Designer_Download_Template=download template +FR-Designer_Install_Template=install template +FR-Designer_Delete_Template=delete template +FR-Designer_Mobile-Refresh=refresh +FR-Designer_Mobile-ToolBar=toolbar FR-Designer_WLayout-Absolute-ToolTips=Freestyle layout, add control in any position of the layout -FR-Designer_Reset=Reset +FR-Designer_Reset=reset FR-Designer_Add_all=Add all FR-Designer_Language_Change_Successful=New language setting will be enabled when designer is restarted FR-Designer_Template_Web_Attributes=Web Attributes @@ -488,10 +486,6 @@ FR-Designer-DS-Database_Query=DB Query FR-Designer_Is_Share_DBTableData=Shared data set FR-Designer_Event=Event FR-Designer_Properties=Properties -FR-Designer_Permissions_Edition=Permissions Edition -FR-Designer_Export_Excel_Page=Page Break -FR-Designer_Export_Excel_Simple=Original -FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet FR-Designer_Export_failed=Export failed FR-Designer_Exported_successfully=Exported successfully FR-Designer_Exporting=Exporting @@ -514,24 +508,8 @@ FR-Designer_Form_Basic_Properties=Basic Property FR-Designer_DS_Dictionary=Data Dictionary FR-Designer_Create_Tree=Build Tree FR-Designer_Set_Callback_Function=Set Callback Function -FR-Designer_ConfirmDialog_Content=Confirm to delete Tab Control -FR-Designer_ConfirmDialog_Title=FineReport 8.0 - -FR-Designer_FormulaPane_Tips=Tips\:You can input B1 to get the data in the second cell of the first row -FR-Designer_FormulaPane_Variables=Variables -FR-Designer_FormulaPane_Formula_Description=Formula Description -FR-Designer_FormulaPane_Function_Detail=Function Detail -FR-Designer_FormulaPane_Search=Search -FR-Designer_Tab_carousel=Tab carousel -FR-Designer_setCarousel=Start -FR-Designer_carouselInterval=Interval - -FR-Designer_ClassName_panel=Class Name -FR-Designer_Description_panel=Description -FR-Designer_Edit_panel=Edit -FR-Designer_Property_panel=Property -FR-Designer_Select_panel=Sel - +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= FR-Designer_LayoutTable_Column_Width=250 FR-Designer_Set_BG_Of_Current_Row=Set BG of the row being edited FR-Designer_Unload_Check=Prompt users when leave without submitting @@ -539,17 +517,30 @@ FR-Designer_ReportColumns_Columns_Optional=\u3000 FR-Designer_Row_Icon_File_Name=row_en.png FR-Designer_Center_Display=Center FR-Designer_Left_Display=Left +FR-Designer_Background_Null=No Background +FR-Designer_Background_Color=Color +FR-Designer_Background_Texture=Texture +FR-Designer_Background_Pattern=Pattern +FR-Designer_Background_Gradient_Color=Gradient Color +FR-Designer_Background_Image=Image +FR-Designer_Background_Clear=Clear +FR-Designer_Background_Image_Select=Select Picture +FR-Designer_Tab_carousel=tab carousel +FR-Designer_setCarousel=set carousel +FR-Designer_carouselInterval=interval +FR-Designer_Initial_Background_Tips=Initial background of the button +FR-Designer_Mouse_Move_Tips=Move the mouse to the button on the background, in the absence of not changing the background +FR-Designer_Mouse_Click_Tips=The background of the mouse to click the button, in the absence of not changing the background FR-Designer_About_Version=Version FR-Designer_About_CopyRight=Copy Right FR-Designer_Service_Phone=Service Phone -FR-Designer_Allow_Blank=Allow Null +FR-Designer_Allow_Null=Allow null FR-Designer_PageSetup_Page=Page FR-Designer_Custom_Job_Description=Description FR-Designer_Property=Property FR-Designer_ClassName=Class Name - FR-Designer_Polyblock_Edit=Aggregation block edition -FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class files should be copied to\nJ2EE server '{R1}WEB-INF{R2}classes' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R3}classes +FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class files should be copied to\nJ2EE server '{R1}' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R2} FR-Designer_PageSetup_Horizontal=Horizontal FR-Designer_PageSetup_Vertical=Vertical FR-Designer_Gradient_Direction=Gradient Direction @@ -563,5 +554,12 @@ FR-Designer_Show_As_Download=Display the binary content using download link FR-Designer_File_Name_For_Download=File Name For Download FR-Designer_No=No FR-Designer_Pagination=Page Break +FR-Designer-Move_Tab_First=move to first +FR-Designer-Move_Tab_End=move to end +FR-Designer-Move_Tab_Next=move to next +FR-Designer-Move_Tab_Prev=move to previous +FR-Designer_Role=Role FR-Designer_DS_TableData=Data Set -FR-Designer_Parameter-Formula=Formula \ No newline at end of file +FR-Designer_Parameter-Formula=Formula +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. +FR-Designer_WidgetOrder=Widget Order 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 d86d0a164c..0ef9ce10ca 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 @@ -100,7 +100,6 @@ FR-Designer_FS_Close_Other_Templates=\u305D\u306E\u4ED6\u30C6\u30F3\u30D7\u30EC\ FR-Designer_File=\u30D5\u30A1\u30A4\u30EB FR-Designer_Filter_Conditions=\u9078\u5225\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u4FEE\u6B63\u3092\u5B8C\u4E86\u3057\u3066\u30B7\u30A7\u30A2 -FR-Designer_Fit-App=App\u81EA\u9069\u5FDC FR-Designer_Fit=\u81EA\u9069\u5FDC FR-Designer_Font-Family=\u30D5\u30A9\u30F3\u30C8\u540D\u79F0 FR-Designer_Font-Size=\u30D5\u30A9\u30F3\u30C8\u5927\u5C0F @@ -223,7 +222,7 @@ FR-Designer-StyleAlignment_Style_Indentation=\u30A4\u30F3\u30C7\u30F3\u30C8 FR-Designer-StyleAlignment_Style_Spacing=\u9593\u9694\u8DDD\u96E2 FR-Designer-StyleAlignment_Style_Alignment=\u63C3\u3048 FR-Designer-CommitTab_Submit=\u63D0\u51FA\u3059\u308B -FR-Designer-CommitTab_SureToDelete=\u524A\u9664\u3057\u307E\u3059\u304B +FR-Designer-CommitTab_SureToDelete=Sure to delete FR-Designer-CommitTab_Remove=\u524A\u9664 FR-Designer-Collect_Information_free=\u7121\u6599 FR-Designer-Collect_Information_Description=\u8A18\u8FF0 @@ -370,13 +369,13 @@ FR-Designer_LiteCondition_ConditionB-OR=\u30AA\u30A2(OR) FR-Designer_LiteCondition_Common_Condition=\u666E\u901A\u6761\u4EF6 FR-Designer_LiteCondition_Formula_Condition=\u516C\u5F0F\u6761\u4EF6 FR-Designer_LiteCondition_Define=\u5B9A\u7FA9 -FR-Designer_Select_All=\u5168\u9078\u629E +FR-Designer_Select_All= FR-Designer-Plugin_Expire_Dialog_Title=\u671F\u9650\u5207\u308C\u306E\u30D7\u30E9\u30B0\u30A4\u30F3 FR-Designer-Plugin_Expire_Dialog_Text=\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u3001\u8CFC\u5165\u3092\u3059\u308B\u305F\u3081\u306B\u5E06\u30BD\u30D5\u30C8\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30BB\u30F3\u30BF\u30FC\u3092\u884C\u304F\u3001\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059\u3002 FR-Designer-Plugin_Finerest_Addon=\u5E06\u8EDF\u5FDC\u7528\u30BB\u30F3\u30BF\u30FC FR-Designer_Performance_First=\u6027\u80FD\u512A\u5148 FR-Designer_Total_N_Grade=\u5168\u90E8\u3067\:${N}\u5C64 -FR-Designer_time(s)=\u56DE +FR-Designer_time(s)= FR-Designer_General=\u5E38\u7528 FR-Designer_Advanced=\u9AD8\u7D1A FR-Designer_Oracle=\u3059\u3079\u3066\u306E\u30C6\u30FC\u30D6\u30EB @@ -408,10 +407,10 @@ FR-Designer_Current_Preview_Rows=\u73FE\u5728\u306E\u30D7\u30EC\u30D3\u30E5\u30F FR-Designer_Data=\u30C7\u30FC\u30BF FR-Designer_Error=\u30A8\u30E9\u30FC FR-Designer-Website_Url=http\://www.finereport.com/jp -FR-Designer_formDesignerModule=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u30C7\u30B6\u30A4\u30CA\u30FC -FR-Designer-BBSLogin_Login-Title=BBS\u30ED\u30B0\u30A4\u30F3 -FR-Designer_Get-CubeGetting=cube\u53D6\u5F97 -FR-Designer-BBSLogin_Download-Unlogin-Tip=\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 +FR-Designer_formDesignerModule= +FR-Designer-BBSLogin_Login-Title= +FR-Designer_Get-CubeGetting= +FR-Designer-BBSLogin_Download-Unlogin-Tip= FR-Designer-App_ReLayout=\u96FB\u8A71\u518D\u30EC\u30A4\u30A2\u30A6\u30C8 FR-Designer_Mobile-Attr=\u30E2\u30D0\u30A4\u30EB\u7AEF\u672B\u5C5E\u6027 FR-Designer_Mobile-Vertical=\u7E26 @@ -436,76 +435,60 @@ FR-Designer_Widget_Scaling_Mode_Fixed=\u56FA\u5B9A\u30B5\u30A4\u30BA FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2\ FR-Designer-QQLogin-Determine=\u6C7A\u5B9A\u3057\u307E\u3059 FR-Designer-QQLogin-Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -FR-Designer-Reuse_Manager=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8 -FR-Designer_Layout_Block_Absolute=\u7D76\u5BFE\u30EC\u30A4\u30A2\u30A6\u30C8\u30D6\u30ED\u30C3\u30AF -FR-Designer_Layout_Block_Tab=Tab\u30D6\u30ED\u30C3\u30AF -FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u30D6\u30ED\u30C3\u30AF -FR-Designer_Attr_Layout=\u30EC\u30A4\u30A2\u30A6\u30C8 -FR-Designer_Attr_Layout_Type=\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5F0F -FR-Designer_Attr_Bidirectional_Adaptive=\u53CC\u65B9\u5411\u81EA\u5DF1\u8ABF\u6574 -FR-Designer_Download_Template=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 +FR-Designer-Reuse_Manager= +FR-Designer_Layout_Block_Absolute= +FR-Designer_Layout_Block_Tab= +FR-Designer_Layout_Block_Blank= +FR-Designer_Attr_Layout= +FR-Designer_Attr_Layout_Type= +FR-Designer_Attr_Bidirectional_Adaptive= +FR-Designer_Download_Template= FR-Designer-Widget_Scaling_Mode=\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u8AD6\u7406 -FR-Designer_Mobile-Refresh=\u66F4\u65B0 -FR-Designer_Mobile-ToolBar=\u30C4\u30FC\u30EB\u30D0\u30FC +FR-Designer_Mobile-Refresh= +FR-Designer_Mobile-ToolBar= FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u914D\u7F6E\u3067\u3059\u3002\u914D\u7F6E\u5185\u306E\u4EFB\u610F\u306E\u4F4D\u7F6E\u306B\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068 FR-Designer_Add_all=\u3059\u3079\u3066\u8FFD\u52A0 -FR-Designer_Language_Change_Successful=\u65B0\u3057\u3044\u8A00\u8A9E\u306F\u518D\u8D77\u52D5\u5F8C\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 -FR-Designer_Template_Web_Attributes=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30A6\u30A7\u30D6\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_Language_Change_Successful= +FR-Designer_Template_Web_Attributes= FR-Designer_Basic=\u57FA\u672C FR-Designer_Printers(Server)=\u30D7\u30EA\u30F3\u30BF\u30FC(\u30B5\u30FC\u30D0) FR-Designer_Pagination_Setting=\u30DA\u30FC\u30B8\u5225\u30D7\u30EC\u30D3\u30E5\u30FC\u8A2D\u5B9A -FR-Designer_Write_Setting=\u66F8\u304D\u8FBC\u307F\u30DA\u30FC\u30B8\u8A2D\u5B9A +FR-Designer_Write_Setting=\u5831\u544A\u30DA\u30FC\u30B8\u8A2D\u5B9A FR-Designer_Data_Analysis_Settings=\u30C7\u30FC\u30BF\u5206\u6790\u8A2D\u5B9A FR-Designer_Browser_Background=\u30D6\u30E9\u30A6\u30B6\u80CC\u666F FR-Designer_Import_Css=Css\u5F15\u7528 FR-Designer_Import_JavaScript=JavaScript\u5F15\u7528 FR-Designer-Datasource-Param_DES=  "${abc}"\u3092\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3068\u3057\u3066\u5165\u529B\u3067\u304D\u307E\u3059\u3002\u3053\u3053\u3067abc\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3002abc\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u4F8B\u3048\u3070
 select * from table where id\=${abc}\u3002
 select * from table where id\='${abc}'\u3002(\u3082\u3057id\u306F\u6587\u5B57\u5217\u306A\u3089)\uFFFD FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u30EA\u30FC -FR-Designer-LayerPageReport_PageQuery=\u6539\u30DA\u30FC\u30B8\u691C\u7D22 -FR-Designer-LayerPageReport_Define_PageQuerySQL=\u6539\u30DA\u30FC\u30B8\u691C\u7D22sql\u3092\u66F8\u304F +FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA +FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 -FR-Designer_Event=\u30A4\u30D9\u30F3\u30C8 -FR-Designer_Properties=\u30D7\u30ED\u30D1\u30C6\u30A3 -FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 -FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B -FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B -FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 +FR-Designer_Event=\ +FR-Designer_Properties=FR-Designer_Properties=\ +\ FR-Designer_Export_failed=\u5C0E\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F FR-Designer_Exported_successfully=\u5C0E\u51FA\u6210\u529F FR-Designer_Exporting=\u5C0E\u51FA\u3057\u3066\u3044\u307E\u3059 -FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8 -FR-Designer_Button_OK=\u78BA\u5B9A +FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8FR-Designer_Button_OK=FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -FR-Designer_JavaScript=JavaScript -FR-Designer_JavaScript_Form_Submit=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u66F8\u304D\u8FBC\u307F -FR-Designer_JavaScript_Commit_to_Database=DB\u306B\u66F8\u304D\u8FBC\u307F -FR-Designer_JavaScript_Custom=\u30AB\u30B9\u30BF\u30E0 -FR-Designer_RWA_Submit=\u66F8\u304D\u8FBC\u307F -FR-Designer_Event_Name=\u30A4\u30D9\u30F3\u30C8\u540D -FR-Designer_Event_Type=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7 -FR-Designer_Event_Name_Type=\u30A4\u30D9\u30F3\u30C8\u540D\u3068\u30BF\u30A4\u30D7 -FR-Designer_JavaScript_Set=JS\u8A2D\u5B9A -FR-Designer_Attribute=\u30D7\u30ED\u30D1\u30C6\u30A3 -FR-Designer_Form_Editing_Listeners=\u30A4\u30D9\u30F3\u30C8\u7DE8\u96C6 -FR-Designer_Form_Basic_Properties=\u57FA\u672C\u30D7\u30ED\u30D1\u30C6\u30A3 -FR-Designer_DS_Dictionary=\u30C7\u30FC\u30BF\u8F9E\u66F8 -FR-Designer_Create_Tree=\u30C4\u30EA\u30FC\u69CB\u7BC9 -FR-Designer_Set_Callback_Function=\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u95A2\u6570\u8A2D\u5B9A -FR-Designer_ConfirmDialog_Content=tab\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B -FR-Designer_ConfirmDialog_Title=FineReport 8.0 -FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B -FR-Designer_FormulaPane_Variables=\u5909\u6570 -FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E -FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 -FR-Designer_FormulaPane_Search=\u691C\u7D22 -FR-Designer_Tab_carousel=tab\u30AB\u30EB\u30FC\u30BB\u30EB -FR-Designer_setCarousel=\u30AB\u30EB\u30FC\u30BB\u30EB\u30AA\u30F3 -FR-Designer_carouselInterval=\u30AB\u30EB\u30FC\u30BB\u30EB\u9593\u9694 -FR-Designer_ClassName_panel=\u985E\u540D -FR-Designer_Description_panel=\u8A18\u8FF0 -FR-Designer_Edit_panel=\u7DE8\u96C6 -FR-Designer_Property_panel=\u5C5E\u6027 -FR-Designer_Select_panel=\u9078\u629E +\uFFFD +FR-Designer_JavaScript= +FR-Designer_JavaScript_Form_Submit= +FR-Designer_JavaScript_Commit_to_Database= +FR-Designer_JavaScript_Custom= +FR-Designer_RWA_Submit= +FR-Designer_Event_Name= +FR-Designer_Event_Type= +FR-Designer_Event_Name_Type= +FR-Designer_JavaScript_Set= +FR-Designer_Attribute= +FR-Designer_Form_Editing_Listeners= +FR-Designer_Form_Basic_Properties= +FR-Designer_DS_Dictionary= +FR-Designer_Create_Tree= +FR-Designer_Set_Callback_Function= +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\u5831\u544A\u30AB\u30EC\u30F3\u30C8\u7DE8\u96C6\u884C\u80CC\u666F\u8A2D\u5B9A FR-Designer_Unload_Check=\u63D0\u51FA\u305B\u305A\u306B\u30D2\u30F3\u30C8 @@ -513,17 +496,30 @@ FR-Designer_ReportColumns_Columns_Optional=\u6BB5\u7D44\u307F FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\u4E2D\u592E\u63C3\u3048\u8868\u793A FR-Designer_Left_Display=\u5DE6\u8868\u793A +FR-Designer_Background_Null= +FR-Designer_Background_Color= +FR-Designer_Background_Texture= +FR-Designer_Background_Pattern= +FR-Designer_Background_Gradient_Color= +FR-Designer_Background_Image= +FR-Designer_Background_Clear= +FR-Designer_Background_Image_Select= +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= +FR-Designer_Initial_Background_Tips= +FR-Designer_Mouse_Move_Tips= +FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=\u30D0\u30FC\u30B8\u30E7\u30F3 FR-Designer_About_CopyRight=\u8457\u4F5C\u6A29\u6240\u6709 FR-Designer_Service_Phone=\u30B5\u30FC\u30D3\u30B9\u96FB\u8A71\uFF1A -FR-Designer_Allow_Blank=\u7A7A\u6B04\u3042\u308A +FR-Designer_Allow_Null=\u7A7A\u6B04\u3042\u308A FR-Designer_PageSetup_Page=\u30DA\u30FC\u30B8 FR-Designer_Custom_Job_Description=\u8A18\u8FF0 FR-Designer_Property=\u5C5E\u6027 FR-Designer_ClassName=\u985E\u540D - FR-Designer_Polyblock_Edit=\u30A2\u30B0\u30EA\u30B2\u30FC\u30B7\u30E7\u30F3\u30D6\u30ED\u30C3\u30AF\u7DE8\u96C6 -FR-Designer_Function_Description_Area_Text=\u3053\u306E\u30AF\u30E9\u30B9\u306F\u7D99\u627F\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"com.fr.script.AbstractFunction"\u3002\u3092\u7D99\u627F\u3059\u3079\u304D\u3067\u3059\u3002\u30B3\u30F3\u30D1\u30A4\u30EB\u5F8C\u306E\u985E\u30D5\u30A1\u30A4\u30EB\u3092\nJ2EE\u30B5\u30FC\u30D0\u30FC "{R1}WEB-INF{R2}classes" \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u306B\u30B3\u30D4\u30FC\u3057\u3066\u3001class\u306B\u5BFE\u5FDC\u3059\u308Bjava\u30D5\u30A1\u30A4\u30EB\u3082\u5F53\u76EE\u6B21\u306B\u7F6E\u3044\u3066\u304F\u3060\u3055\u3044\u3002\n\u4F8B\u3048\u3070\uFF1A{R3}classes +FR-Designer_Function_Description_Area_Text=\u3053\u306E\u30AF\u30E9\u30B9\u306F\u7D99\u627F\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"com.fr.script.AbstractFunction"\u3002\u3092\u7D99\u627F\u3059\u3079\u304D\u3067\u3059\u3002\u30B3\u30F3\u30D1\u30A4\u30EB\u5F8C\u306E\u985E\u30D5\u30A1\u30A4\u30EB\u3092\nJ2EE\u30B5\u30FC\u30D0\u30FC "{R1}" \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u306B\u30B3\u30D4\u30FC\u3057\u3066\u3001class\u306B\u5BFE\u5FDC\u3059\u308Bjava\u30D5\u30A1\u30A4\u30EB\u3082\u5F53\u76EE\u6B21\u306B\u7F6E\u3044\u3066\u304F\u3060\u3055\u3044\u3002\n\u4F8B\u3048\u3070\uFF1A{R2} FR-Designer_PageSetup_Horizontal=\u6A2A\u65B9\u5411 FR-Designer_PageSetup_Vertical=\u7E26\u65B9\u5411 FR-Designer_Gradient_Direction=\u65B9\u5411\u3092\u5F90\u3005\u306B\u5909\u5316 @@ -537,5 +533,11 @@ FR-Designer_Show_As_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30EA\u30F3\u3 FR-Designer_File_Name_For_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u540D FR-Designer_No=\u3044\u3044\u3048 FR-Designer_Pagination=\u30DA\u30FC\u30B8\u30F3\u30B0 +FR-Designer-Move_Tab_First= +FR-Designer-Move_Tab_End= +FR-Designer-Move_Tab_Next= +FR-Designer-Move_Tab_Prev= +FR-Designer_Role= FR-Designer_DS_TableData=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9 FR-Designer_Parameter-Formula=\u6570\u5F0F +FR-Designer_Plugin_Should_Update_Please_Contact_Developer= 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 dfb5ec78ff..5bc3966dc3 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 @@ -100,7 +100,6 @@ FR-Designer_FS_Close_Other_Templates=\uAE30\uD0C0\uD15C\uD50C\uB9BF\uB2EB\uAE30 FR-Designer_File=\uD30C\uC77C FR-Designer_Filter_Conditions=\uD544\uD130\uC870\uAC74 FR-Designer_Finish-Modify-Share=\uC218\uC815\uC644\uB8CC\uBC0F\uACF5\uC720 -FR-Designer_Fit-App=App\uC790\uAE30\uC801\uC751 FR-Designer_Fit=\uC790\uAE30\uC801\uC751 FR-Designer_Font-Family=\uAE00\uAF34\uBA85\uCE6D FR-Designer_Font-Size=\uAE00\uAF34\uD06C\uAE30 @@ -461,10 +460,6 @@ FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql FR-Designer_Event= -FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 -FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 -FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 -FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 FR-Designer_Properties=\uFFFD FR-Designer_Export_failed=\uB0B4\uBCF4\uB0B4\uAE30\uC2E4\uD328 FR-Designer_Exported_successfully=\uB0B4\uBCF4\uB0B4\uAE30\uC131\uACF5 @@ -489,19 +484,6 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= -FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCCAB\uBC88\uC9F8\uD589\uB450\uBC88\uC9F8\uC5F4\uC758\uB370\uC774\uD130\uB97C\uC785\uB825\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. -FR-Designer_FormulaPane_Variables=\uBCC0\uC218 -FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 -FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D -FR-Designer_FormulaPane_Search=\uAC80\uC0C9 -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= -FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 -FR-Designer_Description_panel=\uC124\uBA85 -FR-Designer_Edit_panel=\uD3B8\uC9D1 -FR-Designer_Property_panel=\uC18D\uC131 -FR-Designer_Select_panel=\uC120\uD0DD FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\uAE30\uC785\uD604\uC7AC\uD3B8\uC9D1\uD589\uBC30\uACBD\uC124\uC815 FR-Designer_Unload_Check=\uBBF8\uC81C\uCD9C\uB098\uAC14\uC74C\uC54C\uB9BC @@ -509,18 +491,30 @@ FR-Designer_ReportColumns_Columns_Optional=\uC140\uB098\uB204\uAE30 FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\uAC00\uC6B4\uB370\uC815\uB82C\uBCF4\uC774\uAE30 FR-Designer_Left_Display=\uC67C\uCABD\uBCF4\uC774\uAE30 +FR-Designer_Background_Null= +FR-Designer_Background_Color= +FR-Designer_Background_Texture= +FR-Designer_Background_Pattern= +FR-Designer_Background_Gradient_Color= +FR-Designer_Background_Image= +FR-Designer_Background_Clear= +FR-Designer_Background_Image_Select= +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= +FR-Designer_Initial_Background_Tips= +FR-Designer_Mouse_Move_Tips= +FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=\uBC84\uC804 FR-Designer_About_CopyRight=\uD310\uAD8C\uC18C\uC720 FR-Designer_Service_Phone=\uC11C\uBE44\uC2A4\uC804\uD654\uFF1A -FR-Designer_Allow_Blank=\uBE48\uCE78\uD5C8\uC6A9 +FR-Designer_Allow_Null=\uBE48\uCE78\uD5C8\uC6A9 FR-Designer_PageSetup_Page=\uC6F9\uD398\uC774\uC9C0 FR-Designer_Custom_Job_Description=\uC124\uBA85 FR-Designer_Property=\uC18D\uC131 FR-Designer_ClassName=\uD074\uB798\uC2A4\uB124\uC784 -FR-Designer_Template_Web_Attributes=\uD15C\uD50C\uB9BF \uC6F9 \uC18D\uC131 - FR-Designer_Polyblock_Edit=\uCDE8\uD569\uBE14\uB7ED\uD3B8\uC9D1 -FR-Designer_Function_Description_Area_Text=\uD574\uB2F9\uD074\uB798\uC2A4\uB294\uACC4\uC2B9\uD574\uC57C\uD55C\uB2E4."com.fr.script.AbstractFunction".\uCEF4\uD30C\uC77C\uD6C4\uC758\uD074\uB798\uC2A4\uD30C\uC77C\uC744~\uB85C\uBCF5\uC0AC\nJ2EE\uC11C\uBC84 "{R1}WEB-INF{R2}classes" \uB514\uB809\uD130\uB9AC, \uD544\uC694\uC2DC class \uC0C1\uC751\uD558\uB294 java\uC18C\uC2A4\uD30C\uC77C\uB3C4\uD574\uB2F9\uB514\uB809\uD130\uB9AC\uD558\uB2E8\uC5D0\uB450\uC5B4\uD3B8\uC9D1\uBC0F\uCC3E\uC544\uBCF4\uAE30\uB97C\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4.\n\uC608: {R3}classes +FR-Designer_Function_Description_Area_Text=\uD574\uB2F9\uD074\uB798\uC2A4\uB294\uACC4\uC2B9\uD574\uC57C\uD55C\uB2E4."com.fr.script.AbstractFunction".\uCEF4\uD30C\uC77C\uD6C4\uC758\uD074\uB798\uC2A4\uD30C\uC77C\uC744~\uB85C\uBCF5\uC0AC\nJ2EE\uC11C\uBC84 "{R1}" \uB514\uB809\uD130\uB9AC, \uD544\uC694\uC2DC class \uC0C1\uC751\uD558\uB294 java\uC18C\uC2A4\uD30C\uC77C\uB3C4\uD574\uB2F9\uB514\uB809\uD130\uB9AC\uD558\uB2E8\uC5D0\uB450\uC5B4\uD3B8\uC9D1\uBC0F\uCC3E\uC544\uBCF4\uAE30\uB97C\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4.\n\uC608: {R2} FR-Designer_PageSetup_Horizontal=\uAC00\uB85C FR-Designer_PageSetup_Vertical=\uC138\uB85C FR-Designer_Gradient_Direction=\uADF8\uB77C\uB370\uC774\uC158 \uBC29\uD5A5 @@ -534,5 +528,12 @@ FR-Designer_Show_As_Download=\uB2E4\uC6B4\uB85C\uB4DC\uB9C1\uD06C\uB85C2\uC9C4\u FR-Designer_File_Name_For_Download=\uB2E4\uC6B4\uB85C\uB4DC\uD30C\uC77C\uBA85 FR-Designer_No=\uC544\uB2C8\uC624 FR-Designer_Pagination=\uD398\uC774\uC9C0\uB098\uB204\uAE30 +FR-Designer-Move_Tab_First= +FR-Designer-Move_Tab_End= +FR-Designer-Move_Tab_Next= +FR-Designer-Move_Tab_Prev= +FR-Designer_Role= FR-Designer_DS_TableData=\uB370\uC774\uD130\uC138\uD2B8 FR-Designer_Parameter-Formula=\uC218\uC2DD +FR-Designer_Plugin_Should_Update_Please_Contact_Developer= + 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 367884033e..c8ecd5befb 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 @@ -100,7 +100,6 @@ FR-Designer_FS_Close_Other_Templates=\u5173\u95ED\u5176\u4ED6\u6A21\u677F FR-Designer_File=\u6587\u4EF6 FR-Designer_Filter_Conditions=\u8FC7\u6EE4\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u5E76\u5206\u4EAB -FR-Designer_Fit-App=App\u81EA\u9002\u5E94 FR-Designer_Fit=\u81EA\u9002\u5E94 FR-Designer_Font-Family=\u5B57\u4F53\u540D\u79F0 FR-Designer_Font-Size=\u5B57\u4F53\u5927\u5C0F @@ -359,7 +358,6 @@ FR-Designer_KeyPoint=\u5173\u952E\u8282\u70B9 FR-Designer_loadedTreeModel=\u52A0\u8F7D\u5931\u8D25,\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 FR-Designer-Failed_to_load_the_plugin=\u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u8BF7\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8BF7\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C -FR-Designer-Invalid_Page_Number=\u65E0\u6548\u9875\u7801 FR-Designer_Get-CubeGetting=\u83B7\u53D6cube FR-Designer_XMLA_Database=\u6570\u636E\u5E93 FR-Designer_XMLA_UserName=\u7528\u6237\u540D @@ -492,10 +490,6 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u4E49\u5206\u9875\u67E5\u FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 -FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 -FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA -FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA -FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA FR-Designer_Export_failed=\u5BFC\u51FA\u5931\u8D25 FR-Designer_Exported_successfully=\u5BFC\u51FA\u6210\u529F FR-Designer_Exporting=\u6B63\u5728\u5BFC\u51FA @@ -520,22 +514,6 @@ FR-Designer_Create_Tree=\u6784\u5EFA\u6811 FR-Designer_Set_Callback_Function=\u8BBE\u7F6E\u56DE\u8C03\u51FD\u6570 FR-Designer_ConfirmDialog_Content=\u662F\u5426\u786E\u5B9A\u5220\u9664tab\u63A7\u4EF6 FR-Designer_ConfirmDialog_Title=FineReport 8.0 - -FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u8FC7\u8F93\u5165B1\u6765\u5199\u5165\u7B2C\u4E00\u884C\u7B2C\u4E8C\u5217\u7684\u6570\u636E\u3002 -FR-Designer_FormulaPane_Variables=\u53D8\u91CF -FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8BF4\u660E -FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 -FR-Designer_FormulaPane_Search=\u641C\u7D22 -FR-Designer_Tab_carousel=tab\u8F6E\u64AD -FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD -FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 - -FR-Designer_ClassName_panel=\u7C7B\u540D -FR-Designer_Description_panel=\u63CF\u8FF0 -FR-Designer_Edit_panel=\u7F16\u8F91 -FR-Designer_Property_panel=\u5C5E\u6027 -FR-Designer_Select_panel=\u9009\u62E9 - FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\u586B\u62A5\u5F53\u524D\u7F16\u8F91\u884C\u80CC\u666F\u8BBE\u7F6E FR-Designer_Unload_Check=\u672A\u63D0\u4EA4\u79BB\u5F00\u63D0\u793A @@ -543,17 +521,30 @@ FR-Designer_ReportColumns_Columns_Optional=\u5206\u680F FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\u5C45\u4E2D\u5C55\u793A FR-Designer_Left_Display=\u5DE6\u5C55\u793A +FR-Designer_Background_Null=\u6CA1\u6709\u80CC\u666F +FR-Designer_Background_Color=\u989C\u8272 +FR-Designer_Background_Texture=\u7EB9\u7406 +FR-Designer_Background_Pattern=\u56FE\u6848 +FR-Designer_Background_Gradient_Color=\u6E10\u53D8\u8272 +FR-Designer_Background_Image=\u56FE\u7247 +FR-Designer_Background_Clear=\u6E05\u9664 +FR-Designer_Background_Image_Select=\u9009\u62E9\u56FE\u7247 +FR-Designer_Tab_carousel=tab\u8F6E\u64AD +FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD +FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 +FR-Designer_Initial_Background_Tips=\u6309\u94AE\u7684\u521D\u59CB\u80CC\u666F +FR-Designer_Mouse_Move_Tips=\u9F20\u6807\u79FB\u52A8\u5230\u6309\u94AE\u4E0A\u7684\u80CC\u666F\uFF0C\u82E5\u65E0\u5219\u4E0D\u6539\u53D8\u80CC\u666F +FR-Designer_Mouse_Click_Tips=\u9F20\u6807\u70B9\u51FB\u6309\u94AE\u65F6\u80CC\u666F\uFF0C\u82E5\u65E0\u5219\u4E0D\u6539\u53D8\u80CC\u666F FR-Designer_About_Version=\u7248\u672C FR-Designer_About_CopyRight=\u7248\u6743\u6240\u6709 FR-Designer_Service_Phone=\u670D\u52A1\u7535\u8BDD\uFF1A -FR-Designer_Allow_Blank=\u5141\u8BB8\u4E3A\u7A7A +FR-Designer_Allow_Null=\u5141\u8BB8\u4E3A\u7A7A FR-Designer_PageSetup_Page=\u9875\u9762 FR-Designer_Custom_Job_Description=\u63CF\u8FF0 FR-Designer_Property=\u5C5E\u6027 FR-Designer_ClassName=\u7C7B\u540D - FR-Designer_Polyblock_Edit=\u805A\u5408\u5757\u7F16\u8F91 -FR-Designer_Function_Description_Area_Text=\u8BE5\u7C7B\u5FC5\u987B\u7EE7\u627F"com.fr.script.AbstractFunction"\u3002\u5E94\u5C06\u7F16\u8BD1\u540E\u7684\u7C7B\u6587\u4EF6\u62F7\u8D1D\u5230\nJ2EE\u670D\u52A1\u5668 "{R1}WEB-INF{R2}classes" \u76EE\u5F55\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8BDD\u5C06class\u5BF9\u5E94\u7684java\u6E90\u6587\u4EF6\u4E5F\u653E\u7F6E\u5230\u8BE5\u76EE\u5F55\u4E0B\u65B9\u4FBF\u7F16\u8F91\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R3}classes +FR-Designer_Function_Description_Area_Text=\u8BE5\u7C7B\u5FC5\u987B\u7EE7\u627F"com.fr.script.AbstractFunction"\u3002\u5E94\u5C06\u7F16\u8BD1\u540E\u7684\u7C7B\u6587\u4EF6\u62F7\u8D1D\u5230\nJ2EE\u670D\u52A1\u5668 "{R1}" \u76EE\u5F55\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8BDD\u5C06class\u5BF9\u5E94\u7684java\u6E90\u6587\u4EF6\u4E5F\u653E\u7F6E\u5230\u8BE5\u76EE\u5F55\u4E0B\u65B9\u4FBF\u7F16\u8F91\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R2} FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 FR-Designer_PageSetup_Vertical=\u7EB5\u5411 FR-Designer_Gradient_Direction=\u6E10\u53D8\u65B9\u5411 @@ -567,5 +558,12 @@ FR-Designer_Show_As_Download=\u7528\u4E0B\u8F7D\u94FE\u63A5\u663E\u793A\u4E8C\u8 FR-Designer_File_Name_For_Download=\u4E0B\u8F7D\u6587\u4EF6\u540D FR-Designer_No=\u5426 FR-Designer_Pagination=\u5206\u9875 +FR-Designer-Move_Tab_First=\u79FB\u52A8\u5230\u9996\u4F4D +FR-Designer-Move_Tab_End=\u79FB\u52A8\u5230\u672B\u5C3E +FR-Designer-Move_Tab_Next=\u5F80\u540E\u79FB\u52A8 +FR-Designer-Move_Tab_Prev=\u5F80\u524D\u79FB\u52A8 +FR-Designer_Role=\u89D2\u8272 FR-Designer_DS_TableData=\u6570\u636E\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F 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 95aba53fff..a31f317606 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 @@ -100,7 +100,6 @@ FR-Designer_FS_Close_Other_Templates=\u95DC\u9589\u5176\u4ED6\u7BC4\u672C FR-Designer_File=\u6A94\u6848 FR-Designer_Filter_Conditions=\u904E\u6FFE\u689D\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u4E26\u5206\u4EAB -FR-Designer_Fit-App=App\u81EA\u9069\u61C9 FR-Designer_Fit=\u81EA\u9069\u61C9 FR-Designer_Font-Family=\u5B57\u9AD4\u540D\u7A31 FR-Designer_Font-Size=\u5B57\u9AD4\u5927\u5C0F @@ -358,7 +357,6 @@ FR-Designer_KeyPoint=\u95DC\u9375\u7BC0\u9EDE FR-Designer_loadedTreeModel=\u52A0\u8F09\u5931\u6557,\u8ACB\u6AA2\u67E5\u5F8C\u91CD\u8A66 FR-Designer-Failed_to_load_the_plugin=\u7121\u6CD5\u52A0\u8F09\u63D2\u4EF6\uFF0C\u8ACB\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8ACB\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C -FR-Designer-Invalid_Page_Number=\u7121\u6548\u9801\u78BC FR-Designer_Get-CubeGetting=\u7372\u53D6cube FR-Designer_XMLA_Database=\u8CC7\u6599\u5EAB FR-Designer_XMLA_UserName=\u5E33\u865F @@ -453,12 +451,12 @@ FR-Designer-QQLogin-Determine=\u78BA\u5B9A FR-Designer-QQLogin-Cancel=\u53D6\u6D88 FR-Designer-Reuse_Manager=\u7D44\u4EF6\u7BA1\u7406 FR-Designer_TableData-Default-Para=\u6578\u64DA\u96C6\u9ED8\u8A8D\u53C3\u6578 -FR-Designer_Layout_Block_Absolute=\u7D55\u5C0D\u756B\u5E03\u584A -FR-Designer_Layout_Block_Tab=Tab\u584A -FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u584A -FR-Designer_Attr_Layout=\u4F48\u5C40 -FR-Designer_Attr_Layout_Type=\u4F48\u5C40\u65B9\u5F0F -FR-Designer_Attr_Bidirectional_Adaptive=\u96D9\u5411\u81EA\u9069\u61C9 +FR-Designer_Layout_Block_Absolute= +FR-Designer_Layout_Block_Tab= +FR-Designer_Layout_Block_Blank= +FR-Designer_Attr_Layout= +FR-Designer_Attr_Layout_Type= +FR-Designer_Attr_Bidirectional_Adaptive= FR-Designer_Mobile-Refresh=\u5237\u65B0 FR-Designer_Mobile-ToolBar=\u5DE5\u5177\u6B04 FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u5E03\u5C40\uFF0C\u53EF\u4EE5\u5728\u5E03\u5C40\u5167\u4EFB\u610F\u4F4D\u7F6E\u65B0\u589E\u63A7\u5236\u9805 @@ -480,10 +478,6 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u5206\u9801\u67E5\u FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 -FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F -FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA -FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA -FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA FR-Designer_Export_failed=\u532F\u51FA\u5931\u6557 FR-Designer_Exported_successfully=\u532F\u51FA\u6210\u529F FR-Designer_Exporting=\u6B63\u5728\u532F\u51FA... @@ -491,39 +485,23 @@ FR-Designer_Export-PDF=PDF\u683C\u5F0F FR-Designer_Properties_Mobile=\u624B\u6A5F\u5C6C\u6027 FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 -FR-Designer_JavaScript=JavaScript\u8173\u672C -FR-Designer_JavaScript_Form_Submit=\u8868\u55AE\u63D0\u4EA4 -FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5EAB -FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u7FA9 -FR-Designer_RWA_Submit=\u63D0\u4EA4 -FR-Designer_Event_Name=\u4E8B\u4EF6\u540D -FR-Designer_Event_Type=\u4E8B\u4EF6\u985E\u578B -FR-Designer_Event_Name_Type=\u4E8B\u4EF6\u540D\u5B57\u548C\u985E\u578B -FR-Designer_JavaScript_Set=JS\u8A2D\u7F6E -FR-Designer_Attribute=\u5C6C\u6027 -FR-Designer_Form_Editing_Listeners=\u4E8B\u4EF6\u7DE8\u8F2F -FR-Designer_Form_Basic_Properties=\u57FA\u672C\u5C6C\u6027 -FR-Designer_DS_Dictionary=\u6578\u64DA\u5B57\u5178 -FR-Designer_Create_Tree=\u69CB\u5EFA\u6A39 -FR-Designer_Set_Callback_Function=\u8A2D\u7F6E\u56DE\u8ABF\u51FD\u6578 -FR-Designer_ConfirmDialog_Content=\u662F\u5426\u78BA\u5B9A\u522A\u9664TAB\u63A7\u4EF6 -FR-Designer_ConfirmDialog_Title=FineReport 8.0 - -FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\u5165B1\u4F86\u5BEB\u5165\u7B2C\u4E00\u5217\u7B2C\u4E8C\u6B04\u7684\u8CC7\u6599\u3002 -FR-Designer_FormulaPane_Variables=\u8B8A\u91CF -FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E -FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 -FR-Designer_FormulaPane_Search=\u641C\u7D22 -FR-Designer_Tab_carousel=Tab\u8F2A\u64AD -FR-Designer_setCarousel=\u958B\u555F\u8F2A\u64AD -FR-Designer_carouselInterval=\u8F2A\u64AD\u9593\u9694 - -FR-Designer_ClassName_panel=\u985E\u540D -FR-Designer_Description_panel=\u63CF\u8FF0 -FR-Designer_Edit_panel=\u7DE8\u8F2F -FR-Designer_Property_panel=\u5C6C\u6027 -FR-Designer_Select_panel=\u9078\u64C7 - +FR-Designer_JavaScript= +FR-Designer_JavaScript_Form_Submit= +FR-Designer_JavaScript_Commit_to_Database= +FR-Designer_JavaScript_Custom= +FR-Designer_RWA_Submit= +FR-Designer_Event_Name= +FR-Designer_Event_Type= +FR-Designer_Event_Name_Type= +FR-Designer_JavaScript_Set= +FR-Designer_Attribute= +FR-Designer_Form_Editing_Listeners= +FR-Designer_Form_Basic_Properties= +FR-Designer_DS_Dictionary= +FR-Designer_Create_Tree= +FR-Designer_Set_Callback_Function= +FR-Designer_ConfirmDialog_Content= +FR-Designer_ConfirmDialog_Title= FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\u586B\u5831\u7576\u524D\u7DE8\u8F2F\u5217\u80CC\u666F\u8A2D\u5B9A FR-Designer_Unload_Check=\u672A\u63D0\u4EA4\u96E2\u958B\u63D0\u793A @@ -531,17 +509,30 @@ FR-Designer_ReportColumns_Columns_Optional=\u5831\u8868\u6B04\u4F4D FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\u7F6E\u4E2D\u986F\u793A FR-Designer_Left_Display=\u5DE6\u986F\u793A +FR-Designer_Background_Null= +FR-Designer_Background_Color= +FR-Designer_Background_Texture= +FR-Designer_Background_Pattern= +FR-Designer_Background_Gradient_Color= +FR-Designer_Background_Image= +FR-Designer_Background_Clear= +FR-Designer_Background_Image_Select= +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= +FR-Designer_Initial_Background_Tips= +FR-Designer_Mouse_Move_Tips= +FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=\u7248\u672C FR-Designer_About_CopyRight=\u7248\u6B0A\u6240\u6709 FR-Designer_Service_Phone=\u670D\u52D9\u96FB\u8A71\uFF1A -FR-Designer_Allow_Blank=\u5141\u8A31\u70BA\u7A7A\u767D +FR-Designer_Allow_Null=\u5141\u8A31\u70BA\u7A7A\u767D FR-Designer_PageSetup_Page=\u9801\u9762 FR-Designer_Custom_Job_Description=\u63CF\u8FF0 FR-Designer_Property=\u5C6C\u6027 FR-Designer_ClassName=\u985E\u540D - FR-Designer_Polyblock_Edit=\u805A\u5408\u584A\u7DE8\u8F2F -FR-Designer_Function_Description_Area_Text=\u8A72\u985E\u5FC5\u9808\u7E7C\u627F"com.fr.script.AbstractFunction"\u3002\u61C9\u5C07\u7DE8\u8B6F\u5F8C\u7684\u985E\u6A94\u6848\u62F7\u8C9D\u5230\nJ2EE\u4F3A\u670D\u5668 "{R1}WEB-INF{R2}classes" \u76EE\u9304\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8A71\u5C07class\u5C0D\u61C9\u7684java\u539F\u59CB\u6A94\u6848\u4E5F\u653E\u7F6E\u5230\u8A72\u76EE\u9304\u4E0B\u65B9\u4FBF\u7DE8\u8F2F\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R3}classes +FR-Designer_Function_Description_Area_Text=\u8A72\u985E\u5FC5\u9808\u7E7C\u627F"com.fr.script.AbstractFunction"\u3002\u61C9\u5C07\u7DE8\u8B6F\u5F8C\u7684\u985E\u6A94\u6848\u62F7\u8C9D\u5230\nJ2EE\u4F3A\u670D\u5668 "{R1}" \u76EE\u9304\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8A71\u5C07class\u5C0D\u61C9\u7684java\u539F\u59CB\u6A94\u6848\u4E5F\u653E\u7F6E\u5230\u8A72\u76EE\u9304\u4E0B\u65B9\u4FBF\u7DE8\u8F2F\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R2} FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 FR-Designer_PageSetup_Vertical=\u7E31\u5411 FR-Designer_Gradient_Direction=\u6F38\u8B8A\u65B9\u5411 @@ -555,5 +546,12 @@ FR-Designer_Show_As_Download=\u7528\u4E0B\u8F09\u93C8\u63A5\u986F\u793A\u4E8C\u9 FR-Designer_File_Name_For_Download=\u4E0B\u8F09\u6A94\u6848\u540D FR-Designer_No=\u5426 FR-Designer_Pagination=\u5206\u9801 +FR-Designer-Move_Tab_First=\u79FB\u52D5\u5230\u9996\u4F4D +FR-Designer-Move_Tab_End=\u79FB\u52D5\u5230\u672B\u5C3E +FR-Designer-Move_Tab_Next=\u5F80\u5F8C\u79FB\u52D5 +FR-Designer-Move_Tab_Prev=\u5F80\u524D\u79FB\u52D5 +FR-Designer_Role= FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u633F\u4EF6\u7248\u672C\u904E\u4F4E\uFF0C\u5B58\u5728API\u4E0D\u76F8\u5BB9\uFF0C\u8ACB\u806F\u7CFB\u958B\u767C\u8005\u965E\u7D1A\u633F\u4EF6 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index b0a9ba1669..7fcea5d1ec 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -148,7 +148,7 @@ public abstract class ToolBarMenuDock { public void addCommunityMenuDef(java.util.List menuList){ Locale locale = FRContext.getLocale(); - Locale [] locales = supportCommunityLocales(); + Locale [] locales =supportCommunityLocales(); for(int i = 0; i < locales.length; i++) { if(locale.equals(locales[i])){ menuList.add(createCommunityMenuDef()); @@ -161,7 +161,6 @@ public abstract class ToolBarMenuDock { return new Locale[]{ Locale.CHINA, Locale.TAIWAN, - Locale.US }; } @@ -313,6 +312,11 @@ public abstract class ToolBarMenuDock { public ShortCut[] createHelpShortCuts() { java.util.List shortCuts = new ArrayList(); shortCuts.add(new WebDemoAction()); + // 英文,把 video 和帮助文档放到 Help 下面 + if (FRContext.getLocale().equals(Locale.US)) { + shortCuts.add(new VideoAction()); + shortCuts.add(new TutorialAction()); + } shortCuts.add(SeparatorDef.DEFAULT); //shortCuts.add(new TutorialAction()); shortCuts.add(SeparatorDef.DEFAULT); @@ -397,7 +401,7 @@ public abstract class ToolBarMenuDock { return toolBar; } else { - return polyToolBar(Inter.getLocText(new String[]{"Polybolck", "Edit"})); + return polyToolBar(Inter.getLocText("FR-Designer_Polyblock_Edit")); } } From ff38b20cab6818c8563d2c721eccf6e28959c0c0 Mon Sep 17 00:00:00 2001 From: neil Date: Thu, 23 Feb 2017 10:16:35 +0800 Subject: [PATCH 093/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=20=E4=BF=AE=E5=A4=8D=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/locale/designer.properties | 55 ++++---- .../design/locale/designer_en_US.properties | 126 ++++++++--------- .../design/locale/designer_ja_JP.properties | 130 +++++++++--------- .../design/locale/designer_ko_KR.properties | 45 +++--- .../design/locale/designer_zh_CN.properties | 48 +++---- .../design/locale/designer_zh_TW.properties | 94 ++++++------- .../mainframe/toolbar/ToolBarMenuDock.java | 6 +- 7 files changed, 255 insertions(+), 249 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 268f5d53d7..28d261ed24 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -100,7 +100,7 @@ FR-Designer_FS_Close_Other_Templates= FR-Designer_File= FR-Designer_Filter_Conditions= FR-Designer_Finish-Modify-Share= -FR-Designer_Fit= +FR-Designer_Fit-App= FR-Designer_Font-Family= FR-Designer_Font-Size= FR-Designer_Forbid_Drag_into_Adapt_Pane=Forbid Drag into Para Pane @@ -357,6 +357,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar= +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=Database FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -487,6 +488,10 @@ FR-Designer-LayerPageReport_PageQuery= FR-Designer-LayerPageReport_Define_PageQuerySQL= FR-Designer_Event= FR-Designer_Properties= +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page +FR-Designer_Export_Excel_Simple=Simple +FR-Designer_Export_Excel_PageToSheet=Page To Sheet FR-Designer_Export_failed=Export failed FR-Designer_Exported_successfully=Exported successfully FR-Designer_Exporting=Exporting @@ -505,11 +510,27 @@ FR-Designer_JavaScript_Set= FR-Designer_Attribute= FR-Designer_Form_Editing_Listeners= FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary=Data Dictionary -FR-Designer_Create_Tree=Build Tree +FR-Designer_DS_Dictionary= +FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= + +FR-Designer_FormulaPane_Tips=Tips\:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column +FR-Designer_FormulaPane_Variables=Variables +FR-Designer_FormulaPane_Formula_Description=Formula_Description +FR-Designer_FormulaPane_Function_Detail=Function Detail +FR-Designer_FormulaPane_Search=Search +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= + +FR-Designer_ClassName_panel=ClassName +FR-Designer_Description_panel=Description +FR-Designer_Edit_panel=Edit +FR-Designer_Property_panel=Property +FR-Designer_Select_panel=Select + FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=Set BG of the row being edited FR-Designer_Unload_Check=Prompt users when leave without submitting @@ -517,30 +538,17 @@ FR-Designer_ReportColumns_Columns_Optional= FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=Center FR-Designer_Left_Display=Left -FR-Designer_Background_Null= -FR-Designer_Background_Color= -FR-Designer_Background_Texture= -FR-Designer_Background_Pattern= -FR-Designer_Background_Gradient_Color= -FR-Designer_Background_Image= -FR-Designer_Background_Clear= -FR-Designer_Background_Image_Select= -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= -FR-Designer_Initial_Background_Tips= -FR-Designer_Mouse_Move_Tips= -FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=Version FR-Designer_About_CopyRight=Copy Right FR-Designer_Service_Phone=Service Phone -FR-Designer_Allow_Null=Allow null +FR-Designer_Allow_Blank=Allow Blank FR-Designer_PageSetup_Page=Page FR-Designer_Custom_Job_Description=Description FR-Designer_Property=Property FR-Designer_ClassName=Class Name + FR-Designer_Polyblock_Edit=Polyblock Edit -FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class should be copied to\nJ2EE server '{R1}' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R2}} +FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class should be copied to\nJ2EE server '{R1}WEB-INF{R2}classes' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R3}classes} FR-Designer_PageSetup_Horizontal=Horizontal FR-Designer_PageSetup_Vertical=Vertical FR-Designer_Gradient_Direction=Gradient Direction @@ -554,12 +562,5 @@ FR-Designer_Show_As_Download=Display the binary content using download link FR-Designer_File_Name_For_Download=File Name For Download FR-Designer_No=No FR-Designer_Pagination=Page Break -FR-Designer_Role=Role -FR-Designer-Move_Tab_First=move to first -FR-Designer-Move_Tab_End=move to end -FR-Designer-Move_Tab_Next=move to next -FR-Designer-Move_Tab_Prev=move to previous FR-Designer_DS_TableData=Data Set -FR-Designer_Parameter-Formula=Formula -FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. -FR-Designer_WidgetOrder=Widget Order +FR-Designer_Parameter-Formula=Formula \ No newline at end of file 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 b0bf16d5d7..26d5bc85fe 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 @@ -73,8 +73,8 @@ FR-Designer_Button-Type=Button Type FR-Designer_CardLayout=TabLayout FR-Designer_Cell=cell FR-Designer_Chart_Cell=Chart Hyperlink-Link Cell -FR-Designer_Chart_Float=Chart Hyperlink-Floating Elements -FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating-window Chart +FR-Designer_Chart_Float=Chart Hyperlink-Floating Element +FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating Chart FR-Designer_Check-for-Updates=Check for Updates FR-Designer_Choose-Data-Confusion-Tip=\ Please Choose the field needed to be confused and then preview FR-Designer_Close=close @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=Close other templates FR-Designer_File=file FR-Designer_Filter_Conditions=Filter condition FR-Designer_Finish-Modify-Share=Finish Modification And Share +FR-Designer_Fit-App=App self-adaption FR-Designer_Fit=self-adaption FR-Designer_Font-Family=Font name FR-Designer_Font-Size=Font size @@ -118,7 +119,7 @@ FR-Designer_Get-CubeGetting cube= FR-Designer_Help=Help FR-Designer_Hide=Hide FR-Designer_Hyperlink=Hyperlink -FR-Designer_Hyperlink-Form_link=Current form object +FR-Designer_Hyperlink-Form_link=Current dashboard object FR-Designer_IDCard=IDCard FR-Designer_Icon=Icon FR-Designer_Index=index @@ -126,7 +127,7 @@ FR-Designer_Input_Rule=Input Rule FR-Designer_Language_Default=Default FR-Designer_Layout=Layout FR-Designer_Layout-HBox=Horizontal Box Layout -FR-Designer_Layout-Index=Layout Index +FR-Designer_Layout-Index=Index FR-Designer_Layout_Constraints=Layout Constraints FR-Designer_Length=Length FR-Designer_Loading_Data=Loading Data @@ -173,12 +174,12 @@ FR-Designer_Search=Search FR-Designer_Set=Set FR-Designer_Share-Template=Share Template FR-Designer_Simple_general=Simple custom query -FR-Designer_Song_TypeFace=song typeface +FR-Designer_Song_TypeFace=Song typeface FR-Designer_Start-Date=Start Date FR-Designer_Subscript=Subscript FR-Designer_Superscript=Superscript FR-Designer_Support_QQ=Support online -FR-Designer_Swatch=Swatch +FR-Designer_Swatch=Sample FR-Designer_Tab_title=Tab title FR-Designer_TableData=Data set FR-Designer_Thank_guest=Special thanks to @@ -190,8 +191,8 @@ FR-Designer_Underline=Underline FR-Designer_Used=Recently Used FR-Designer_User-defined-MDX=Custom MDX query FR-Designer_SampleText=SampleText SampleText -FR-Designer_Vertical-LeftToRight=Vertical Text (Left to Right) -FR-Designer_Vertical-RightToLeft=Vertical Text (Right To Left) +FR-Designer_Vertical-LeftToRight=Vertical Text (left to right) +FR-Designer_Vertical-RightToLeft=Vertical Text (right to left) FR-Designer_VerticalBoxLayout=Vertical Box Layout FR-Designer_Visible=Visible FR-Designer_WLayout-Border-ToolTips=The complete border layout container\uFF0Cis composed of central, eastern, western, northern and southern parts. You can adjust the height of the northern and southern ones and the width of the eastern and western ones. @@ -358,6 +359,7 @@ FR-Designer_KeyPoint=KeyPoint FR-Designer_loadedTreeModel=loadedTreeModel FR-Designer-Failed_to_load_the_plugin=Failed to load the plugin\uFF0Cplease update the plugin\: FR-Designer-Plugin_Please_Update_Jar=Please Update Jar +FR-Designer-Invalid_Page_Number=Invalid Page Number FR-Designer_XMLA_Database=DB FR-Designer_XMLA_UserName=User name FR-Designer_XMLA_Password=Password @@ -413,12 +415,12 @@ FR-Designer_Unit_PT=Pound FR-Designer-Write_Auto_Stash=auto stash FR-Designer_Printer_Native_Button=Native Print FR-Designer_Event_ShowWidgets=Display widgets directly -FR-Designer_Current_Preview_Rows=Current Number of Preview Rows +FR-Designer_Current_Preview_Rows=Current Number of Preview Rows FR-Designer_Data=Data FR-Designer_Error=Error FR-Designer_formDesignerModule=Form Designer FR-Designer-Website_Url=http\://www.finereport.com/en -FR-Designer-BBSLogin_Download-Unlogin-Tip= +FR-Designer-BBSLogin_Download-Unlogin-Tip=Login to download FR-Designer-App_ReLayout=AppRelayout FR-Designer_Mobile-Attr=Mobile Attr FR-Designer_Mobile-Vertical=Vertical Screen @@ -432,42 +434,42 @@ FR-Designer_COMMUNITY_NEED=need FR-Designer_COMMUNITY_BUG=bug report FR-Designer_COMMUNITY_SIGN=sign FR-Designer_COMMUNITY_QUESTIONS=questions -FR-Designer_Mobile-Zoom=zoom +FR-Designer_Mobile-Zoom=Zoom FR-Designer_Mobile-Open=Open -FR-Designer_Mobile-Warning= +FR-Designer_Mobile-Warning=Max height cannot exceed 80% of display area FR-Designer_Button-OK=OK FR-Designer_Button-Cancel=Cancel FR-Designer_Write-Save-Formula=Preserve formula when fill FR-Designer_Export-Save-Formula=Preserve formula when export -FR-Designer_Form-Fit-Tip=Fit Plugin -FR-Designer_Form-Frozen-Tip=When Use Form Frozen, Suggest Install -FR-Designer_Form-Forzen-Speed=To Speed UP. -FR-Designer_Attention=attention -FR-Designer_Forbid_Widgets_Intersects=Forbid Widgets Intersects +FR-Designer_Form-Fit-Tip=Adaptive plug-in +FR-Designer_Form-Frozen-Tip=When use Frozen, suggest install +FR-Designer_Form-Forzen-Speed=, use bidirectional and horizontal adaption to improve the speed. +FR-Designer_Attention=Attention +FR-Designer_Forbid_Widgets_Intersects=Forbid component overlap FR-Designer_Widget_Scaling_Mode_Fit=Area-Fit FR-Designer_Widget_Scaling_Mode_Fixed=Area-Fixed -FR-Designer-Widget_Area_Scaling=Widget Area Scaling -FR-Designer-Widget_Scaling_Mode=Widget Scaling Mode +FR-Designer-Widget_Area_Scaling=Component area scaling +FR-Designer-Widget_Scaling_Mode=Scaling mode FR-Designer-QQLogin-Determine=Determine FR-Designer-QQLogin-Cancel=Cancel -FR-Designer-Reuse_Manager=Reuse Manager -FR-Designer_TableData-Default-Para=Default Para -FR-Designer_Layout_Block_Absolute=Absolute Layout Block -FR-Designer_Layout_Block_Tab=TabLayout -FR-Designer_Layout_Block_Blank=Blank Block -FR-Designer_Attr_Layout=layout -FR-Designer_Attr_Layout_Type=layout type -FR-Designer_Attr_Bidirectional_Adaptive=Bidirectional Adaptive -FR-Designer-Selected_Widget=selected widget -FR-Designer_LocalWidget=local widget -FR-Designer_AllCategories=all categories -FR-Designer_Download_Template=download template -FR-Designer_Install_Template=install template -FR-Designer_Delete_Template=delete template -FR-Designer_Mobile-Refresh=refresh -FR-Designer_Mobile-ToolBar=toolbar +FR-Designer-Reuse_Manager=Component management +FR-Designer_TableData-Default-Para=Default parameter +FR-Designer_Layout_Block_Absolute=Absolute layout block +FR-Designer_Layout_Block_Tab=Tab block +FR-Designer_Layout_Block_Blank=Blank block +FR-Designer_Attr_Layout=Layout +FR-Designer_Attr_Layout_Type=Layout type +FR-Designer_Attr_Bidirectional_Adaptive=Bidirectional adaptive +FR-Designer-Selected_Widget=Selected widget +FR-Designer_LocalWidget=Local component library +FR-Designer_AllCategories=All categories +FR-Designer_Download_Template=Download components +FR-Designer_Install_Template=Install components +FR-Designer_Delete_Template=Delete components +FR-Designer_Mobile-Refresh=Refresh +FR-Designer_Mobile-ToolBar=Toolbar FR-Designer_WLayout-Absolute-ToolTips=Freestyle layout, add control in any position of the layout -FR-Designer_Reset=reset +FR-Designer_Reset=Reset FR-Designer_Add_all=Add all FR-Designer_Language_Change_Successful=New language setting will be enabled when designer is restarted FR-Designer_Template_Web_Attributes=Web Attributes @@ -486,6 +488,10 @@ FR-Designer-DS-Database_Query=DB Query FR-Designer_Is_Share_DBTableData=Shared data set FR-Designer_Event=Event FR-Designer_Properties=Properties +FR-Designer_Permissions_Edition=Permissions Edition +FR-Designer_Export_Excel_Page=Page Break +FR-Designer_Export_Excel_Simple=Original +FR-Designer_Export_Excel_PageToSheet=One Page Per Sheet FR-Designer_Export_failed=Export failed FR-Designer_Exported_successfully=Exported successfully FR-Designer_Exporting=Exporting @@ -508,8 +514,24 @@ FR-Designer_Form_Basic_Properties=Basic Property FR-Designer_DS_Dictionary=Data Dictionary FR-Designer_Create_Tree=Build Tree FR-Designer_Set_Callback_Function=Set Callback Function -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= +FR-Designer_ConfirmDialog_Content=Confirm to delete Tab Control +FR-Designer_ConfirmDialog_Title=FineReport 8.0 + +FR-Designer_FormulaPane_Tips=Tips\:You can input B1 to get the data in the second cell of the first row +FR-Designer_FormulaPane_Variables=Variables +FR-Designer_FormulaPane_Formula_Description=Formula Description +FR-Designer_FormulaPane_Function_Detail=Function Detail +FR-Designer_FormulaPane_Search=Search +FR-Designer_Tab_carousel=Tab carousel +FR-Designer_setCarousel=Start +FR-Designer_carouselInterval=Interval + +FR-Designer_ClassName_panel=Class Name +FR-Designer_Description_panel=Description +FR-Designer_Edit_panel=Edit +FR-Designer_Property_panel=Property +FR-Designer_Select_panel=Sel + FR-Designer_LayoutTable_Column_Width=250 FR-Designer_Set_BG_Of_Current_Row=Set BG of the row being edited FR-Designer_Unload_Check=Prompt users when leave without submitting @@ -517,30 +539,17 @@ FR-Designer_ReportColumns_Columns_Optional=\u3000 FR-Designer_Row_Icon_File_Name=row_en.png FR-Designer_Center_Display=Center FR-Designer_Left_Display=Left -FR-Designer_Background_Null=No Background -FR-Designer_Background_Color=Color -FR-Designer_Background_Texture=Texture -FR-Designer_Background_Pattern=Pattern -FR-Designer_Background_Gradient_Color=Gradient Color -FR-Designer_Background_Image=Image -FR-Designer_Background_Clear=Clear -FR-Designer_Background_Image_Select=Select Picture -FR-Designer_Tab_carousel=tab carousel -FR-Designer_setCarousel=set carousel -FR-Designer_carouselInterval=interval -FR-Designer_Initial_Background_Tips=Initial background of the button -FR-Designer_Mouse_Move_Tips=Move the mouse to the button on the background, in the absence of not changing the background -FR-Designer_Mouse_Click_Tips=The background of the mouse to click the button, in the absence of not changing the background FR-Designer_About_Version=Version FR-Designer_About_CopyRight=Copy Right FR-Designer_Service_Phone=Service Phone -FR-Designer_Allow_Null=Allow null +FR-Designer_Allow_Blank=Allow Null FR-Designer_PageSetup_Page=Page FR-Designer_Custom_Job_Description=Description FR-Designer_Property=Property FR-Designer_ClassName=Class Name + FR-Designer_Polyblock_Edit=Aggregation block edition -FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class files should be copied to\nJ2EE server '{R1}' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R2} +FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script.AbstractFunction'. The compiled class files should be copied to\nJ2EE server '{R1}WEB-INF{R2}classes' directory.\nAdd the source code(.java file) into the same folder if need.\nExample: {R3}classes FR-Designer_PageSetup_Horizontal=Horizontal FR-Designer_PageSetup_Vertical=Vertical FR-Designer_Gradient_Direction=Gradient Direction @@ -554,12 +563,5 @@ FR-Designer_Show_As_Download=Display the binary content using download link FR-Designer_File_Name_For_Download=File Name For Download FR-Designer_No=No FR-Designer_Pagination=Page Break -FR-Designer-Move_Tab_First=move to first -FR-Designer-Move_Tab_End=move to end -FR-Designer-Move_Tab_Next=move to next -FR-Designer-Move_Tab_Prev=move to previous -FR-Designer_Role=Role FR-Designer_DS_TableData=Data Set -FR-Designer_Parameter-Formula=Formula -FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. -FR-Designer_WidgetOrder=Widget Order +FR-Designer_Parameter-Formula=Formula \ 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 0ef9ce10ca..d86d0a164c 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u305D\u306E\u4ED6\u30C6\u30F3\u30D7\u30EC\ FR-Designer_File=\u30D5\u30A1\u30A4\u30EB FR-Designer_Filter_Conditions=\u9078\u5225\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u4FEE\u6B63\u3092\u5B8C\u4E86\u3057\u3066\u30B7\u30A7\u30A2 +FR-Designer_Fit-App=App\u81EA\u9069\u5FDC FR-Designer_Fit=\u81EA\u9069\u5FDC FR-Designer_Font-Family=\u30D5\u30A9\u30F3\u30C8\u540D\u79F0 FR-Designer_Font-Size=\u30D5\u30A9\u30F3\u30C8\u5927\u5C0F @@ -222,7 +223,7 @@ FR-Designer-StyleAlignment_Style_Indentation=\u30A4\u30F3\u30C7\u30F3\u30C8 FR-Designer-StyleAlignment_Style_Spacing=\u9593\u9694\u8DDD\u96E2 FR-Designer-StyleAlignment_Style_Alignment=\u63C3\u3048 FR-Designer-CommitTab_Submit=\u63D0\u51FA\u3059\u308B -FR-Designer-CommitTab_SureToDelete=Sure to delete +FR-Designer-CommitTab_SureToDelete=\u524A\u9664\u3057\u307E\u3059\u304B FR-Designer-CommitTab_Remove=\u524A\u9664 FR-Designer-Collect_Information_free=\u7121\u6599 FR-Designer-Collect_Information_Description=\u8A18\u8FF0 @@ -369,13 +370,13 @@ FR-Designer_LiteCondition_ConditionB-OR=\u30AA\u30A2(OR) FR-Designer_LiteCondition_Common_Condition=\u666E\u901A\u6761\u4EF6 FR-Designer_LiteCondition_Formula_Condition=\u516C\u5F0F\u6761\u4EF6 FR-Designer_LiteCondition_Define=\u5B9A\u7FA9 -FR-Designer_Select_All= +FR-Designer_Select_All=\u5168\u9078\u629E FR-Designer-Plugin_Expire_Dialog_Title=\u671F\u9650\u5207\u308C\u306E\u30D7\u30E9\u30B0\u30A4\u30F3 FR-Designer-Plugin_Expire_Dialog_Text=\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u3001\u8CFC\u5165\u3092\u3059\u308B\u305F\u3081\u306B\u5E06\u30BD\u30D5\u30C8\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30BB\u30F3\u30BF\u30FC\u3092\u884C\u304F\u3001\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059\u3002 FR-Designer-Plugin_Finerest_Addon=\u5E06\u8EDF\u5FDC\u7528\u30BB\u30F3\u30BF\u30FC FR-Designer_Performance_First=\u6027\u80FD\u512A\u5148 FR-Designer_Total_N_Grade=\u5168\u90E8\u3067\:${N}\u5C64 -FR-Designer_time(s)= +FR-Designer_time(s)=\u56DE FR-Designer_General=\u5E38\u7528 FR-Designer_Advanced=\u9AD8\u7D1A FR-Designer_Oracle=\u3059\u3079\u3066\u306E\u30C6\u30FC\u30D6\u30EB @@ -407,10 +408,10 @@ FR-Designer_Current_Preview_Rows=\u73FE\u5728\u306E\u30D7\u30EC\u30D3\u30E5\u30F FR-Designer_Data=\u30C7\u30FC\u30BF FR-Designer_Error=\u30A8\u30E9\u30FC FR-Designer-Website_Url=http\://www.finereport.com/jp -FR-Designer_formDesignerModule= -FR-Designer-BBSLogin_Login-Title= -FR-Designer_Get-CubeGetting= -FR-Designer-BBSLogin_Download-Unlogin-Tip= +FR-Designer_formDesignerModule=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u30C7\u30B6\u30A4\u30CA\u30FC +FR-Designer-BBSLogin_Login-Title=BBS\u30ED\u30B0\u30A4\u30F3 +FR-Designer_Get-CubeGetting=cube\u53D6\u5F97 +FR-Designer-BBSLogin_Download-Unlogin-Tip=\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 FR-Designer-App_ReLayout=\u96FB\u8A71\u518D\u30EC\u30A4\u30A2\u30A6\u30C8 FR-Designer_Mobile-Attr=\u30E2\u30D0\u30A4\u30EB\u7AEF\u672B\u5C5E\u6027 FR-Designer_Mobile-Vertical=\u7E26 @@ -435,60 +436,76 @@ FR-Designer_Widget_Scaling_Mode_Fixed=\u56FA\u5B9A\u30B5\u30A4\u30BA FR-Designer-Widget_Area_Scaling=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A8\u30EA\u30A2\ FR-Designer-QQLogin-Determine=\u6C7A\u5B9A\u3057\u307E\u3059 FR-Designer-QQLogin-Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -FR-Designer-Reuse_Manager= -FR-Designer_Layout_Block_Absolute= -FR-Designer_Layout_Block_Tab= -FR-Designer_Layout_Block_Blank= -FR-Designer_Attr_Layout= -FR-Designer_Attr_Layout_Type= -FR-Designer_Attr_Bidirectional_Adaptive= -FR-Designer_Download_Template= +FR-Designer-Reuse_Manager=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8 +FR-Designer_Layout_Block_Absolute=\u7D76\u5BFE\u30EC\u30A4\u30A2\u30A6\u30C8\u30D6\u30ED\u30C3\u30AF +FR-Designer_Layout_Block_Tab=Tab\u30D6\u30ED\u30C3\u30AF +FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u30D6\u30ED\u30C3\u30AF +FR-Designer_Attr_Layout=\u30EC\u30A4\u30A2\u30A6\u30C8 +FR-Designer_Attr_Layout_Type=\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5F0F +FR-Designer_Attr_Bidirectional_Adaptive=\u53CC\u65B9\u5411\u81EA\u5DF1\u8ABF\u6574 +FR-Designer_Download_Template=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 FR-Designer-Widget_Scaling_Mode=\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u8AD6\u7406 -FR-Designer_Mobile-Refresh= -FR-Designer_Mobile-ToolBar= +FR-Designer_Mobile-Refresh=\u66F4\u65B0 +FR-Designer_Mobile-ToolBar=\u30C4\u30FC\u30EB\u30D0\u30FC FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u914D\u7F6E\u3067\u3059\u3002\u914D\u7F6E\u5185\u306E\u4EFB\u610F\u306E\u4F4D\u7F6E\u306B\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068 FR-Designer_Add_all=\u3059\u3079\u3066\u8FFD\u52A0 -FR-Designer_Language_Change_Successful= -FR-Designer_Template_Web_Attributes= +FR-Designer_Language_Change_Successful=\u65B0\u3057\u3044\u8A00\u8A9E\u306F\u518D\u8D77\u52D5\u5F8C\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 +FR-Designer_Template_Web_Attributes=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30A6\u30A7\u30D6\u30D7\u30ED\u30D1\u30C6\u30A3 FR-Designer_Basic=\u57FA\u672C FR-Designer_Printers(Server)=\u30D7\u30EA\u30F3\u30BF\u30FC(\u30B5\u30FC\u30D0) FR-Designer_Pagination_Setting=\u30DA\u30FC\u30B8\u5225\u30D7\u30EC\u30D3\u30E5\u30FC\u8A2D\u5B9A -FR-Designer_Write_Setting=\u5831\u544A\u30DA\u30FC\u30B8\u8A2D\u5B9A +FR-Designer_Write_Setting=\u66F8\u304D\u8FBC\u307F\u30DA\u30FC\u30B8\u8A2D\u5B9A FR-Designer_Data_Analysis_Settings=\u30C7\u30FC\u30BF\u5206\u6790\u8A2D\u5B9A FR-Designer_Browser_Background=\u30D6\u30E9\u30A6\u30B6\u80CC\u666F FR-Designer_Import_Css=Css\u5F15\u7528 FR-Designer_Import_JavaScript=JavaScript\u5F15\u7528 FR-Designer-Datasource-Param_DES=  "${abc}"\u3092\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3068\u3057\u3066\u5165\u529B\u3067\u304D\u307E\u3059\u3002\u3053\u3053\u3067abc\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3002abc\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u540D\u524D\u3067\u3059\u3002\u4F8B\u3048\u3070
 select * from table where id\=${abc}\u3002
 select * from table where id\='${abc}'\u3002(\u3082\u3057id\u306F\u6587\u5B57\u5217\u306A\u3089)\uFFFD FR-Designer-DS-Database_Query=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AF\u30A8\u30EA\u30FC -FR-Designer-LayerPageReport_PageQuery=\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EA -FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u30DA\u30FC\u30B8\u5225\u30AF\u30A8\u30EAsql +FR-Designer-LayerPageReport_PageQuery=\u6539\u30DA\u30FC\u30B8\u691C\u7D22 +FR-Designer-LayerPageReport_Define_PageQuerySQL=\u6539\u30DA\u30FC\u30B8\u691C\u7D22sql\u3092\u66F8\u304F FR-Designer_Is_Share_DBTableData=\u5171\u6709\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8 -FR-Designer_Event=\ -FR-Designer_Properties=FR-Designer_Properties=\ -\ +FR-Designer_Event=\u30A4\u30D9\u30F3\u30C8 +FR-Designer_Properties=\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_Permissions_Edition=\u6A29\u9650\u7DE8\u96C6 +FR-Designer_Export_Excel_Page=\u6539\u30DA\u30FC\u30B8\u51FA\u529B +FR-Designer_Export_Excel_Simple=\u305D\u306E\u307E\u307E\u51FA\u529B +FR-Designer_Export_Excel_PageToSheet=\u6539\u30DA\u30FC\u30B8\uFF06\u30B7\u30FC\u30C8\u5206\u3051 FR-Designer_Export_failed=\u5C0E\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F FR-Designer_Exported_successfully=\u5C0E\u51FA\u6210\u529F FR-Designer_Exporting=\u5C0E\u51FA\u3057\u3066\u3044\u307E\u3059 -FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8FR-Designer_Button_OK=FR-Designer_Button_OK=\u78BA\u5B9A +FR-Designer_Export-PDF=PDF\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8 +FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB -\uFFFD -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= +FR-Designer_JavaScript=JavaScript +FR-Designer_JavaScript_Form_Submit=\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u66F8\u304D\u8FBC\u307F +FR-Designer_JavaScript_Commit_to_Database=DB\u306B\u66F8\u304D\u8FBC\u307F +FR-Designer_JavaScript_Custom=\u30AB\u30B9\u30BF\u30E0 +FR-Designer_RWA_Submit=\u66F8\u304D\u8FBC\u307F +FR-Designer_Event_Name=\u30A4\u30D9\u30F3\u30C8\u540D +FR-Designer_Event_Type=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7 +FR-Designer_Event_Name_Type=\u30A4\u30D9\u30F3\u30C8\u540D\u3068\u30BF\u30A4\u30D7 +FR-Designer_JavaScript_Set=JS\u8A2D\u5B9A +FR-Designer_Attribute=\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_Form_Editing_Listeners=\u30A4\u30D9\u30F3\u30C8\u7DE8\u96C6 +FR-Designer_Form_Basic_Properties=\u57FA\u672C\u30D7\u30ED\u30D1\u30C6\u30A3 +FR-Designer_DS_Dictionary=\u30C7\u30FC\u30BF\u8F9E\u66F8 +FR-Designer_Create_Tree=\u30C4\u30EA\u30FC\u69CB\u7BC9 +FR-Designer_Set_Callback_Function=\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u95A2\u6570\u8A2D\u5B9A +FR-Designer_ConfirmDialog_Content=tab\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u304B +FR-Designer_ConfirmDialog_Title=FineReport 8.0 +FR-Designer_FormulaPane_Tips=\u30D2\u30F3\u30C8\:B1\u3092\u5165\u529B +FR-Designer_FormulaPane_Variables=\u5909\u6570 +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAC\u660E +FR-Designer_FormulaPane_Function_Detail=\u95A2\u6570\u660E\u7D30 +FR-Designer_FormulaPane_Search=\u691C\u7D22 +FR-Designer_Tab_carousel=tab\u30AB\u30EB\u30FC\u30BB\u30EB +FR-Designer_setCarousel=\u30AB\u30EB\u30FC\u30BB\u30EB\u30AA\u30F3 +FR-Designer_carouselInterval=\u30AB\u30EB\u30FC\u30BB\u30EB\u9593\u9694 +FR-Designer_ClassName_panel=\u985E\u540D +FR-Designer_Description_panel=\u8A18\u8FF0 +FR-Designer_Edit_panel=\u7DE8\u96C6 +FR-Designer_Property_panel=\u5C5E\u6027 +FR-Designer_Select_panel=\u9078\u629E FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\u5831\u544A\u30AB\u30EC\u30F3\u30C8\u7DE8\u96C6\u884C\u80CC\u666F\u8A2D\u5B9A FR-Designer_Unload_Check=\u63D0\u51FA\u305B\u305A\u306B\u30D2\u30F3\u30C8 @@ -496,30 +513,17 @@ FR-Designer_ReportColumns_Columns_Optional=\u6BB5\u7D44\u307F FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\u4E2D\u592E\u63C3\u3048\u8868\u793A FR-Designer_Left_Display=\u5DE6\u8868\u793A -FR-Designer_Background_Null= -FR-Designer_Background_Color= -FR-Designer_Background_Texture= -FR-Designer_Background_Pattern= -FR-Designer_Background_Gradient_Color= -FR-Designer_Background_Image= -FR-Designer_Background_Clear= -FR-Designer_Background_Image_Select= -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= -FR-Designer_Initial_Background_Tips= -FR-Designer_Mouse_Move_Tips= -FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=\u30D0\u30FC\u30B8\u30E7\u30F3 FR-Designer_About_CopyRight=\u8457\u4F5C\u6A29\u6240\u6709 FR-Designer_Service_Phone=\u30B5\u30FC\u30D3\u30B9\u96FB\u8A71\uFF1A -FR-Designer_Allow_Null=\u7A7A\u6B04\u3042\u308A +FR-Designer_Allow_Blank=\u7A7A\u6B04\u3042\u308A FR-Designer_PageSetup_Page=\u30DA\u30FC\u30B8 FR-Designer_Custom_Job_Description=\u8A18\u8FF0 FR-Designer_Property=\u5C5E\u6027 FR-Designer_ClassName=\u985E\u540D + FR-Designer_Polyblock_Edit=\u30A2\u30B0\u30EA\u30B2\u30FC\u30B7\u30E7\u30F3\u30D6\u30ED\u30C3\u30AF\u7DE8\u96C6 -FR-Designer_Function_Description_Area_Text=\u3053\u306E\u30AF\u30E9\u30B9\u306F\u7D99\u627F\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"com.fr.script.AbstractFunction"\u3002\u3092\u7D99\u627F\u3059\u3079\u304D\u3067\u3059\u3002\u30B3\u30F3\u30D1\u30A4\u30EB\u5F8C\u306E\u985E\u30D5\u30A1\u30A4\u30EB\u3092\nJ2EE\u30B5\u30FC\u30D0\u30FC "{R1}" \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u306B\u30B3\u30D4\u30FC\u3057\u3066\u3001class\u306B\u5BFE\u5FDC\u3059\u308Bjava\u30D5\u30A1\u30A4\u30EB\u3082\u5F53\u76EE\u6B21\u306B\u7F6E\u3044\u3066\u304F\u3060\u3055\u3044\u3002\n\u4F8B\u3048\u3070\uFF1A{R2} +FR-Designer_Function_Description_Area_Text=\u3053\u306E\u30AF\u30E9\u30B9\u306F\u7D99\u627F\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"com.fr.script.AbstractFunction"\u3002\u3092\u7D99\u627F\u3059\u3079\u304D\u3067\u3059\u3002\u30B3\u30F3\u30D1\u30A4\u30EB\u5F8C\u306E\u985E\u30D5\u30A1\u30A4\u30EB\u3092\nJ2EE\u30B5\u30FC\u30D0\u30FC "{R1}WEB-INF{R2}classes" \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u306B\u30B3\u30D4\u30FC\u3057\u3066\u3001class\u306B\u5BFE\u5FDC\u3059\u308Bjava\u30D5\u30A1\u30A4\u30EB\u3082\u5F53\u76EE\u6B21\u306B\u7F6E\u3044\u3066\u304F\u3060\u3055\u3044\u3002\n\u4F8B\u3048\u3070\uFF1A{R3}classes FR-Designer_PageSetup_Horizontal=\u6A2A\u65B9\u5411 FR-Designer_PageSetup_Vertical=\u7E26\u65B9\u5411 FR-Designer_Gradient_Direction=\u65B9\u5411\u3092\u5F90\u3005\u306B\u5909\u5316 @@ -533,11 +537,5 @@ FR-Designer_Show_As_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30EA\u30F3\u3 FR-Designer_File_Name_For_Download=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u540D FR-Designer_No=\u3044\u3044\u3048 FR-Designer_Pagination=\u30DA\u30FC\u30B8\u30F3\u30B0 -FR-Designer-Move_Tab_First= -FR-Designer-Move_Tab_End= -FR-Designer-Move_Tab_Next= -FR-Designer-Move_Tab_Prev= -FR-Designer_Role= FR-Designer_DS_TableData=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9 FR-Designer_Parameter-Formula=\u6570\u5F0F -FR-Designer_Plugin_Should_Update_Please_Contact_Developer= 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 5bc3966dc3..dfb5ec78ff 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\uAE30\uD0C0\uD15C\uD50C\uB9BF\uB2EB\uAE30 FR-Designer_File=\uD30C\uC77C FR-Designer_Filter_Conditions=\uD544\uD130\uC870\uAC74 FR-Designer_Finish-Modify-Share=\uC218\uC815\uC644\uB8CC\uBC0F\uACF5\uC720 +FR-Designer_Fit-App=App\uC790\uAE30\uC801\uC751 FR-Designer_Fit=\uC790\uAE30\uC801\uC751 FR-Designer_Font-Family=\uAE00\uAF34\uBA85\uCE6D FR-Designer_Font-Size=\uAE00\uAF34\uD06C\uAE30 @@ -460,6 +461,10 @@ FR-Designer_Is_Share_DBTableData=\uB370\uC774\uD130\uC138\uD2B8\uACF5\uC720 FR-Designer-LayerPageReport_PageQuery=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30 FR-Designer-LayerPageReport_Define_PageQuerySQL=\uC815\uC758\uD398\uC774\uC9C0\uB098\uB204\uAE30\uCC3E\uC544\uBCF4\uAE30sql FR-Designer_Event= +FR-Designer_Permissions_Edition=\uAD8C\uD55C\uD3B8\uC9D1 +FR-Designer_Export_Excel_Page=\uD398\uC774\uC9C0\uB098\uB204\uAE30\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_Simple=\uC6D0\uB798\uBAA8\uC2B5\uB0B4\uBCF4\uB0B4\uAE30 +FR-Designer_Export_Excel_PageToSheet=\uD398\uC774\uC9C0\uC640 Sheet\uB098\uB204\uC5B4\uB0B4\uBCF4\uB0B4\uAE30 FR-Designer_Properties=\uFFFD FR-Designer_Export_failed=\uB0B4\uBCF4\uB0B4\uAE30\uC2E4\uD328 FR-Designer_Exported_successfully=\uB0B4\uBCF4\uB0B4\uAE30\uC131\uACF5 @@ -484,6 +489,19 @@ FR-Designer_Create_Tree= FR-Designer_Set_Callback_Function= FR-Designer_ConfirmDialog_Content= FR-Designer_ConfirmDialog_Title= +FR-Designer_FormulaPane_Tips=\uC54C\uB9BC\: B1\uC744\uC785\uB825\uD558\uC5EC\uCCAB\uBC88\uC9F8\uD589\uB450\uBC88\uC9F8\uC5F4\uC758\uB370\uC774\uD130\uB97C\uC785\uB825\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. +FR-Designer_FormulaPane_Variables=\uBCC0\uC218 +FR-Designer_FormulaPane_Formula_Description=\uC218\uC2DD\uC124\uBA85 +FR-Designer_FormulaPane_Function_Detail=\uD568\uC218\uC0C1\uC138\uC0AC\uD56D +FR-Designer_FormulaPane_Search=\uAC80\uC0C9 +FR-Designer_Tab_carousel= +FR-Designer_setCarousel= +FR-Designer_carouselInterval= +FR-Designer_ClassName_panel=\uD074\uB798\uC2A4\uB124\uC784 +FR-Designer_Description_panel=\uC124\uBA85 +FR-Designer_Edit_panel=\uD3B8\uC9D1 +FR-Designer_Property_panel=\uC18D\uC131 +FR-Designer_Select_panel=\uC120\uD0DD FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\uAE30\uC785\uD604\uC7AC\uD3B8\uC9D1\uD589\uBC30\uACBD\uC124\uC815 FR-Designer_Unload_Check=\uBBF8\uC81C\uCD9C\uB098\uAC14\uC74C\uC54C\uB9BC @@ -491,30 +509,18 @@ FR-Designer_ReportColumns_Columns_Optional=\uC140\uB098\uB204\uAE30 FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\uAC00\uC6B4\uB370\uC815\uB82C\uBCF4\uC774\uAE30 FR-Designer_Left_Display=\uC67C\uCABD\uBCF4\uC774\uAE30 -FR-Designer_Background_Null= -FR-Designer_Background_Color= -FR-Designer_Background_Texture= -FR-Designer_Background_Pattern= -FR-Designer_Background_Gradient_Color= -FR-Designer_Background_Image= -FR-Designer_Background_Clear= -FR-Designer_Background_Image_Select= -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= -FR-Designer_Initial_Background_Tips= -FR-Designer_Mouse_Move_Tips= -FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=\uBC84\uC804 FR-Designer_About_CopyRight=\uD310\uAD8C\uC18C\uC720 FR-Designer_Service_Phone=\uC11C\uBE44\uC2A4\uC804\uD654\uFF1A -FR-Designer_Allow_Null=\uBE48\uCE78\uD5C8\uC6A9 +FR-Designer_Allow_Blank=\uBE48\uCE78\uD5C8\uC6A9 FR-Designer_PageSetup_Page=\uC6F9\uD398\uC774\uC9C0 FR-Designer_Custom_Job_Description=\uC124\uBA85 FR-Designer_Property=\uC18D\uC131 FR-Designer_ClassName=\uD074\uB798\uC2A4\uB124\uC784 +FR-Designer_Template_Web_Attributes=\uD15C\uD50C\uB9BF \uC6F9 \uC18D\uC131 + FR-Designer_Polyblock_Edit=\uCDE8\uD569\uBE14\uB7ED\uD3B8\uC9D1 -FR-Designer_Function_Description_Area_Text=\uD574\uB2F9\uD074\uB798\uC2A4\uB294\uACC4\uC2B9\uD574\uC57C\uD55C\uB2E4."com.fr.script.AbstractFunction".\uCEF4\uD30C\uC77C\uD6C4\uC758\uD074\uB798\uC2A4\uD30C\uC77C\uC744~\uB85C\uBCF5\uC0AC\nJ2EE\uC11C\uBC84 "{R1}" \uB514\uB809\uD130\uB9AC, \uD544\uC694\uC2DC class \uC0C1\uC751\uD558\uB294 java\uC18C\uC2A4\uD30C\uC77C\uB3C4\uD574\uB2F9\uB514\uB809\uD130\uB9AC\uD558\uB2E8\uC5D0\uB450\uC5B4\uD3B8\uC9D1\uBC0F\uCC3E\uC544\uBCF4\uAE30\uB97C\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4.\n\uC608: {R2} +FR-Designer_Function_Description_Area_Text=\uD574\uB2F9\uD074\uB798\uC2A4\uB294\uACC4\uC2B9\uD574\uC57C\uD55C\uB2E4."com.fr.script.AbstractFunction".\uCEF4\uD30C\uC77C\uD6C4\uC758\uD074\uB798\uC2A4\uD30C\uC77C\uC744~\uB85C\uBCF5\uC0AC\nJ2EE\uC11C\uBC84 "{R1}WEB-INF{R2}classes" \uB514\uB809\uD130\uB9AC, \uD544\uC694\uC2DC class \uC0C1\uC751\uD558\uB294 java\uC18C\uC2A4\uD30C\uC77C\uB3C4\uD574\uB2F9\uB514\uB809\uD130\uB9AC\uD558\uB2E8\uC5D0\uB450\uC5B4\uD3B8\uC9D1\uBC0F\uCC3E\uC544\uBCF4\uAE30\uB97C\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4.\n\uC608: {R3}classes FR-Designer_PageSetup_Horizontal=\uAC00\uB85C FR-Designer_PageSetup_Vertical=\uC138\uB85C FR-Designer_Gradient_Direction=\uADF8\uB77C\uB370\uC774\uC158 \uBC29\uD5A5 @@ -528,12 +534,5 @@ FR-Designer_Show_As_Download=\uB2E4\uC6B4\uB85C\uB4DC\uB9C1\uD06C\uB85C2\uC9C4\u FR-Designer_File_Name_For_Download=\uB2E4\uC6B4\uB85C\uB4DC\uD30C\uC77C\uBA85 FR-Designer_No=\uC544\uB2C8\uC624 FR-Designer_Pagination=\uD398\uC774\uC9C0\uB098\uB204\uAE30 -FR-Designer-Move_Tab_First= -FR-Designer-Move_Tab_End= -FR-Designer-Move_Tab_Next= -FR-Designer-Move_Tab_Prev= -FR-Designer_Role= FR-Designer_DS_TableData=\uB370\uC774\uD130\uC138\uD2B8 FR-Designer_Parameter-Formula=\uC218\uC2DD -FR-Designer_Plugin_Should_Update_Please_Contact_Developer= - 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 c8ecd5befb..367884033e 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u5173\u95ED\u5176\u4ED6\u6A21\u677F FR-Designer_File=\u6587\u4EF6 FR-Designer_Filter_Conditions=\u8FC7\u6EE4\u6761\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u5E76\u5206\u4EAB +FR-Designer_Fit-App=App\u81EA\u9002\u5E94 FR-Designer_Fit=\u81EA\u9002\u5E94 FR-Designer_Font-Family=\u5B57\u4F53\u540D\u79F0 FR-Designer_Font-Size=\u5B57\u4F53\u5927\u5C0F @@ -358,6 +359,7 @@ FR-Designer_KeyPoint=\u5173\u952E\u8282\u70B9 FR-Designer_loadedTreeModel=\u52A0\u8F7D\u5931\u8D25,\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 FR-Designer-Failed_to_load_the_plugin=\u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u8BF7\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8BF7\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u65E0\u6548\u9875\u7801 FR-Designer_Get-CubeGetting=\u83B7\u53D6cube FR-Designer_XMLA_Database=\u6570\u636E\u5E93 FR-Designer_XMLA_UserName=\u7528\u6237\u540D @@ -490,6 +492,10 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u4E49\u5206\u9875\u67E5\u FR-Designer_Is_Share_DBTableData=\u5171\u4EAB\u6570\u636E\u96C6 FR-Designer_Event=\u4E8B\u4EF6 FR-Designer_Properties=\u5C5E\u6027 +FR-Designer_Permissions_Edition=\u6743\u9650\u7F16\u8F91 +FR-Designer_Export_Excel_Page=\u5206\u9875\u5BFC\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6837\u5BFC\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9875\u5206Sheet\u5BFC\u51FA FR-Designer_Export_failed=\u5BFC\u51FA\u5931\u8D25 FR-Designer_Exported_successfully=\u5BFC\u51FA\u6210\u529F FR-Designer_Exporting=\u6B63\u5728\u5BFC\u51FA @@ -514,6 +520,22 @@ FR-Designer_Create_Tree=\u6784\u5EFA\u6811 FR-Designer_Set_Callback_Function=\u8BBE\u7F6E\u56DE\u8C03\u51FD\u6570 FR-Designer_ConfirmDialog_Content=\u662F\u5426\u786E\u5B9A\u5220\u9664tab\u63A7\u4EF6 FR-Designer_ConfirmDialog_Title=FineReport 8.0 + +FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u8FC7\u8F93\u5165B1\u6765\u5199\u5165\u7B2C\u4E00\u884C\u7B2C\u4E8C\u5217\u7684\u6570\u636E\u3002 +FR-Designer_FormulaPane_Variables=\u53D8\u91CF +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8BF4\u660E +FR-Designer_FormulaPane_Function_Detail=\u51FD\u6570\u660E\u7EC6 +FR-Designer_FormulaPane_Search=\u641C\u7D22 +FR-Designer_Tab_carousel=tab\u8F6E\u64AD +FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD +FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 + +FR-Designer_ClassName_panel=\u7C7B\u540D +FR-Designer_Description_panel=\u63CF\u8FF0 +FR-Designer_Edit_panel=\u7F16\u8F91 +FR-Designer_Property_panel=\u5C5E\u6027 +FR-Designer_Select_panel=\u9009\u62E9 + FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\u586B\u62A5\u5F53\u524D\u7F16\u8F91\u884C\u80CC\u666F\u8BBE\u7F6E FR-Designer_Unload_Check=\u672A\u63D0\u4EA4\u79BB\u5F00\u63D0\u793A @@ -521,30 +543,17 @@ FR-Designer_ReportColumns_Columns_Optional=\u5206\u680F FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\u5C45\u4E2D\u5C55\u793A FR-Designer_Left_Display=\u5DE6\u5C55\u793A -FR-Designer_Background_Null=\u6CA1\u6709\u80CC\u666F -FR-Designer_Background_Color=\u989C\u8272 -FR-Designer_Background_Texture=\u7EB9\u7406 -FR-Designer_Background_Pattern=\u56FE\u6848 -FR-Designer_Background_Gradient_Color=\u6E10\u53D8\u8272 -FR-Designer_Background_Image=\u56FE\u7247 -FR-Designer_Background_Clear=\u6E05\u9664 -FR-Designer_Background_Image_Select=\u9009\u62E9\u56FE\u7247 -FR-Designer_Tab_carousel=tab\u8F6E\u64AD -FR-Designer_setCarousel=\u5F00\u542F\u8F6E\u64AD -FR-Designer_carouselInterval=\u8F6E\u64AD\u95F4\u9694 -FR-Designer_Initial_Background_Tips=\u6309\u94AE\u7684\u521D\u59CB\u80CC\u666F -FR-Designer_Mouse_Move_Tips=\u9F20\u6807\u79FB\u52A8\u5230\u6309\u94AE\u4E0A\u7684\u80CC\u666F\uFF0C\u82E5\u65E0\u5219\u4E0D\u6539\u53D8\u80CC\u666F -FR-Designer_Mouse_Click_Tips=\u9F20\u6807\u70B9\u51FB\u6309\u94AE\u65F6\u80CC\u666F\uFF0C\u82E5\u65E0\u5219\u4E0D\u6539\u53D8\u80CC\u666F FR-Designer_About_Version=\u7248\u672C FR-Designer_About_CopyRight=\u7248\u6743\u6240\u6709 FR-Designer_Service_Phone=\u670D\u52A1\u7535\u8BDD\uFF1A -FR-Designer_Allow_Null=\u5141\u8BB8\u4E3A\u7A7A +FR-Designer_Allow_Blank=\u5141\u8BB8\u4E3A\u7A7A FR-Designer_PageSetup_Page=\u9875\u9762 FR-Designer_Custom_Job_Description=\u63CF\u8FF0 FR-Designer_Property=\u5C5E\u6027 FR-Designer_ClassName=\u7C7B\u540D + FR-Designer_Polyblock_Edit=\u805A\u5408\u5757\u7F16\u8F91 -FR-Designer_Function_Description_Area_Text=\u8BE5\u7C7B\u5FC5\u987B\u7EE7\u627F"com.fr.script.AbstractFunction"\u3002\u5E94\u5C06\u7F16\u8BD1\u540E\u7684\u7C7B\u6587\u4EF6\u62F7\u8D1D\u5230\nJ2EE\u670D\u52A1\u5668 "{R1}" \u76EE\u5F55\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8BDD\u5C06class\u5BF9\u5E94\u7684java\u6E90\u6587\u4EF6\u4E5F\u653E\u7F6E\u5230\u8BE5\u76EE\u5F55\u4E0B\u65B9\u4FBF\u7F16\u8F91\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R2} +FR-Designer_Function_Description_Area_Text=\u8BE5\u7C7B\u5FC5\u987B\u7EE7\u627F"com.fr.script.AbstractFunction"\u3002\u5E94\u5C06\u7F16\u8BD1\u540E\u7684\u7C7B\u6587\u4EF6\u62F7\u8D1D\u5230\nJ2EE\u670D\u52A1\u5668 "{R1}WEB-INF{R2}classes" \u76EE\u5F55\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8BDD\u5C06class\u5BF9\u5E94\u7684java\u6E90\u6587\u4EF6\u4E5F\u653E\u7F6E\u5230\u8BE5\u76EE\u5F55\u4E0B\u65B9\u4FBF\u7F16\u8F91\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R3}classes FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 FR-Designer_PageSetup_Vertical=\u7EB5\u5411 FR-Designer_Gradient_Direction=\u6E10\u53D8\u65B9\u5411 @@ -558,12 +567,5 @@ FR-Designer_Show_As_Download=\u7528\u4E0B\u8F7D\u94FE\u63A5\u663E\u793A\u4E8C\u8 FR-Designer_File_Name_For_Download=\u4E0B\u8F7D\u6587\u4EF6\u540D FR-Designer_No=\u5426 FR-Designer_Pagination=\u5206\u9875 -FR-Designer-Move_Tab_First=\u79FB\u52A8\u5230\u9996\u4F4D -FR-Designer-Move_Tab_End=\u79FB\u52A8\u5230\u672B\u5C3E -FR-Designer-Move_Tab_Next=\u5F80\u540E\u79FB\u52A8 -FR-Designer-Move_Tab_Prev=\u5F80\u524D\u79FB\u52A8 -FR-Designer_Role=\u89D2\u8272 FR-Designer_DS_TableData=\u6570\u636E\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F -FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 -FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F 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 a31f317606..95aba53fff 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 @@ -100,6 +100,7 @@ FR-Designer_FS_Close_Other_Templates=\u95DC\u9589\u5176\u4ED6\u7BC4\u672C FR-Designer_File=\u6A94\u6848 FR-Designer_Filter_Conditions=\u904E\u6FFE\u689D\u4EF6 FR-Designer_Finish-Modify-Share=\u5B8C\u6210\u4FEE\u6539\u4E26\u5206\u4EAB +FR-Designer_Fit-App=App\u81EA\u9069\u61C9 FR-Designer_Fit=\u81EA\u9069\u61C9 FR-Designer_Font-Family=\u5B57\u9AD4\u540D\u7A31 FR-Designer_Font-Size=\u5B57\u9AD4\u5927\u5C0F @@ -357,6 +358,7 @@ FR-Designer_KeyPoint=\u95DC\u9375\u7BC0\u9EDE FR-Designer_loadedTreeModel=\u52A0\u8F09\u5931\u6557,\u8ACB\u6AA2\u67E5\u5F8C\u91CD\u8A66 FR-Designer-Failed_to_load_the_plugin=\u7121\u6CD5\u52A0\u8F09\u63D2\u4EF6\uFF0C\u8ACB\u66F4\u65B0\u63D2\u4EF6\uFF1A FR-Designer-Plugin_Please_Update_Jar=\u8ACB\u66F4\u65B0Jar\u5305, \u63D2\u4EF6\u9700\u6C42\u6700\u4F4E\u7248\u672C +FR-Designer-Invalid_Page_Number=\u7121\u6548\u9801\u78BC FR-Designer_Get-CubeGetting=\u7372\u53D6cube FR-Designer_XMLA_Database=\u8CC7\u6599\u5EAB FR-Designer_XMLA_UserName=\u5E33\u865F @@ -451,12 +453,12 @@ FR-Designer-QQLogin-Determine=\u78BA\u5B9A FR-Designer-QQLogin-Cancel=\u53D6\u6D88 FR-Designer-Reuse_Manager=\u7D44\u4EF6\u7BA1\u7406 FR-Designer_TableData-Default-Para=\u6578\u64DA\u96C6\u9ED8\u8A8D\u53C3\u6578 -FR-Designer_Layout_Block_Absolute= -FR-Designer_Layout_Block_Tab= -FR-Designer_Layout_Block_Blank= -FR-Designer_Attr_Layout= -FR-Designer_Attr_Layout_Type= -FR-Designer_Attr_Bidirectional_Adaptive= +FR-Designer_Layout_Block_Absolute=\u7D55\u5C0D\u756B\u5E03\u584A +FR-Designer_Layout_Block_Tab=Tab\u584A +FR-Designer_Layout_Block_Blank=\u7A7A\u767D\u584A +FR-Designer_Attr_Layout=\u4F48\u5C40 +FR-Designer_Attr_Layout_Type=\u4F48\u5C40\u65B9\u5F0F +FR-Designer_Attr_Bidirectional_Adaptive=\u96D9\u5411\u81EA\u9069\u61C9 FR-Designer_Mobile-Refresh=\u5237\u65B0 FR-Designer_Mobile-ToolBar=\u5DE5\u5177\u6B04 FR-Designer_WLayout-Absolute-ToolTips=\u81EA\u7531\u5F0F\u5E03\u5C40\uFF0C\u53EF\u4EE5\u5728\u5E03\u5C40\u5167\u4EFB\u610F\u4F4D\u7F6E\u65B0\u589E\u63A7\u5236\u9805 @@ -478,6 +480,10 @@ FR-Designer-LayerPageReport_Define_PageQuerySQL=\u5B9A\u7FA9\u5206\u9801\u67E5\u FR-Designer_Is_Share_DBTableData=\u662F\u5426\u5171\u4EAB\u8CC7\u6599\u96C6 FR-Designer_Properties=\u5C6C\u6027 FR-Designer_Event=\u4E8B\u4EF6 +FR-Designer_Permissions_Edition=\u6B0A\u9650\u7DE8\u8F2F +FR-Designer_Export_Excel_Page=\u5206\u9801\u532F\u51FA +FR-Designer_Export_Excel_Simple=\u539F\u6A23\u532F\u51FA +FR-Designer_Export_Excel_PageToSheet=\u5206\u9801\u5206Sheet\u532F\u51FA FR-Designer_Export_failed=\u532F\u51FA\u5931\u6557 FR-Designer_Exported_successfully=\u532F\u51FA\u6210\u529F FR-Designer_Exporting=\u6B63\u5728\u532F\u51FA... @@ -485,23 +491,39 @@ FR-Designer_Export-PDF=PDF\u683C\u5F0F FR-Designer_Properties_Mobile=\u624B\u6A5F\u5C6C\u6027 FR-Designer_Button_OK=\u78BA\u5B9A FR-Designer_Button_Cancel=\u53D6\u6D88 -FR-Designer_JavaScript= -FR-Designer_JavaScript_Form_Submit= -FR-Designer_JavaScript_Commit_to_Database= -FR-Designer_JavaScript_Custom= -FR-Designer_RWA_Submit= -FR-Designer_Event_Name= -FR-Designer_Event_Type= -FR-Designer_Event_Name_Type= -FR-Designer_JavaScript_Set= -FR-Designer_Attribute= -FR-Designer_Form_Editing_Listeners= -FR-Designer_Form_Basic_Properties= -FR-Designer_DS_Dictionary= -FR-Designer_Create_Tree= -FR-Designer_Set_Callback_Function= -FR-Designer_ConfirmDialog_Content= -FR-Designer_ConfirmDialog_Title= +FR-Designer_JavaScript=JavaScript\u8173\u672C +FR-Designer_JavaScript_Form_Submit=\u8868\u55AE\u63D0\u4EA4 +FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5EAB +FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u7FA9 +FR-Designer_RWA_Submit=\u63D0\u4EA4 +FR-Designer_Event_Name=\u4E8B\u4EF6\u540D +FR-Designer_Event_Type=\u4E8B\u4EF6\u985E\u578B +FR-Designer_Event_Name_Type=\u4E8B\u4EF6\u540D\u5B57\u548C\u985E\u578B +FR-Designer_JavaScript_Set=JS\u8A2D\u7F6E +FR-Designer_Attribute=\u5C6C\u6027 +FR-Designer_Form_Editing_Listeners=\u4E8B\u4EF6\u7DE8\u8F2F +FR-Designer_Form_Basic_Properties=\u57FA\u672C\u5C6C\u6027 +FR-Designer_DS_Dictionary=\u6578\u64DA\u5B57\u5178 +FR-Designer_Create_Tree=\u69CB\u5EFA\u6A39 +FR-Designer_Set_Callback_Function=\u8A2D\u7F6E\u56DE\u8ABF\u51FD\u6578 +FR-Designer_ConfirmDialog_Content=\u662F\u5426\u78BA\u5B9A\u522A\u9664TAB\u63A7\u4EF6 +FR-Designer_ConfirmDialog_Title=FineReport 8.0 + +FR-Designer_FormulaPane_Tips=\u63D0\u793A\:\u60A8\u53EF\u4EE5\u901A\u904E\u8F38\u5165B1\u4F86\u5BEB\u5165\u7B2C\u4E00\u5217\u7B2C\u4E8C\u6B04\u7684\u8CC7\u6599\u3002 +FR-Designer_FormulaPane_Variables=\u8B8A\u91CF +FR-Designer_FormulaPane_Formula_Description=\u516C\u5F0F\u8AAA\u660E +FR-Designer_FormulaPane_Function_Detail=\u51FD\u6578\u660E\u7D30 +FR-Designer_FormulaPane_Search=\u641C\u7D22 +FR-Designer_Tab_carousel=Tab\u8F2A\u64AD +FR-Designer_setCarousel=\u958B\u555F\u8F2A\u64AD +FR-Designer_carouselInterval=\u8F2A\u64AD\u9593\u9694 + +FR-Designer_ClassName_panel=\u985E\u540D +FR-Designer_Description_panel=\u63CF\u8FF0 +FR-Designer_Edit_panel=\u7DE8\u8F2F +FR-Designer_Property_panel=\u5C6C\u6027 +FR-Designer_Select_panel=\u9078\u64C7 + FR-Designer_LayoutTable_Column_Width=160 FR-Designer_Set_BG_Of_Current_Row=\u586B\u5831\u7576\u524D\u7DE8\u8F2F\u5217\u80CC\u666F\u8A2D\u5B9A FR-Designer_Unload_Check=\u672A\u63D0\u4EA4\u96E2\u958B\u63D0\u793A @@ -509,30 +531,17 @@ FR-Designer_ReportColumns_Columns_Optional=\u5831\u8868\u6B04\u4F4D FR-Designer_Row_Icon_File_Name=row.png FR-Designer_Center_Display=\u7F6E\u4E2D\u986F\u793A FR-Designer_Left_Display=\u5DE6\u986F\u793A -FR-Designer_Background_Null= -FR-Designer_Background_Color= -FR-Designer_Background_Texture= -FR-Designer_Background_Pattern= -FR-Designer_Background_Gradient_Color= -FR-Designer_Background_Image= -FR-Designer_Background_Clear= -FR-Designer_Background_Image_Select= -FR-Designer_Tab_carousel= -FR-Designer_setCarousel= -FR-Designer_carouselInterval= -FR-Designer_Initial_Background_Tips= -FR-Designer_Mouse_Move_Tips= -FR-Designer_Mouse_Click_Tips= FR-Designer_About_Version=\u7248\u672C FR-Designer_About_CopyRight=\u7248\u6B0A\u6240\u6709 FR-Designer_Service_Phone=\u670D\u52D9\u96FB\u8A71\uFF1A -FR-Designer_Allow_Null=\u5141\u8A31\u70BA\u7A7A\u767D +FR-Designer_Allow_Blank=\u5141\u8A31\u70BA\u7A7A\u767D FR-Designer_PageSetup_Page=\u9801\u9762 FR-Designer_Custom_Job_Description=\u63CF\u8FF0 FR-Designer_Property=\u5C6C\u6027 FR-Designer_ClassName=\u985E\u540D + FR-Designer_Polyblock_Edit=\u805A\u5408\u584A\u7DE8\u8F2F -FR-Designer_Function_Description_Area_Text=\u8A72\u985E\u5FC5\u9808\u7E7C\u627F"com.fr.script.AbstractFunction"\u3002\u61C9\u5C07\u7DE8\u8B6F\u5F8C\u7684\u985E\u6A94\u6848\u62F7\u8C9D\u5230\nJ2EE\u4F3A\u670D\u5668 "{R1}" \u76EE\u9304\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8A71\u5C07class\u5C0D\u61C9\u7684java\u539F\u59CB\u6A94\u6848\u4E5F\u653E\u7F6E\u5230\u8A72\u76EE\u9304\u4E0B\u65B9\u4FBF\u7DE8\u8F2F\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R2} +FR-Designer_Function_Description_Area_Text=\u8A72\u985E\u5FC5\u9808\u7E7C\u627F"com.fr.script.AbstractFunction"\u3002\u61C9\u5C07\u7DE8\u8B6F\u5F8C\u7684\u985E\u6A94\u6848\u62F7\u8C9D\u5230\nJ2EE\u4F3A\u670D\u5668 "{R1}WEB-INF{R2}classes" \u76EE\u9304\uFF0C\u5982\u679C\u5FC5\u8981\u7684\u8A71\u5C07class\u5C0D\u61C9\u7684java\u539F\u59CB\u6A94\u6848\u4E5F\u653E\u7F6E\u5230\u8A72\u76EE\u9304\u4E0B\u65B9\u4FBF\u7DE8\u8F2F\u548C\u67E5\u770B\u3002\n\u4F8B\u5982\uFF1A{R3}classes FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 FR-Designer_PageSetup_Vertical=\u7E31\u5411 FR-Designer_Gradient_Direction=\u6F38\u8B8A\u65B9\u5411 @@ -546,12 +555,5 @@ FR-Designer_Show_As_Download=\u7528\u4E0B\u8F09\u93C8\u63A5\u986F\u793A\u4E8C\u9 FR-Designer_File_Name_For_Download=\u4E0B\u8F09\u6A94\u6848\u540D FR-Designer_No=\u5426 FR-Designer_Pagination=\u5206\u9801 -FR-Designer-Move_Tab_First=\u79FB\u52D5\u5230\u9996\u4F4D -FR-Designer-Move_Tab_End=\u79FB\u52D5\u5230\u672B\u5C3E -FR-Designer-Move_Tab_Next=\u5F80\u5F8C\u79FB\u52D5 -FR-Designer-Move_Tab_Prev=\u5F80\u524D\u79FB\u52D5 -FR-Designer_Role= FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F -FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u633F\u4EF6\u7248\u672C\u904E\u4F4E\uFF0C\u5B58\u5728API\u4E0D\u76F8\u5BB9\uFF0C\u8ACB\u806F\u7CFB\u958B\u767C\u8005\u965E\u7D1A\u633F\u4EF6 -FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 7fcea5d1ec..03612e0dae 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -10,7 +10,9 @@ import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; import com.fr.design.actions.community.*; import com.fr.design.actions.file.*; -import com.fr.design.actions.help.*; +import com.fr.design.actions.help.AboutAction; +import com.fr.design.actions.help.TutorialAction; +import com.fr.design.actions.help.WebDemoAction; import com.fr.design.actions.server.*; import com.fr.design.file.NewTemplatePane; import com.fr.design.fun.MenuHandler; @@ -28,7 +30,6 @@ import com.fr.design.menu.ShortCut; import com.fr.design.menu.ToolBarDef; import com.fr.env.RemoteEnv; import com.fr.general.ComparatorUtils; -import com.fr.general.GeneralContext; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; import com.fr.stable.ProductConstants; @@ -161,6 +162,7 @@ public abstract class ToolBarMenuDock { return new Locale[]{ Locale.CHINA, Locale.TAIWAN, + Locale.US }; } From c79c47b393063ccaa07b6a609b9a578ddcb0c709 Mon Sep 17 00:00:00 2001 From: richie Date: Thu, 23 Feb 2017 10:28:24 +0800 Subject: [PATCH 094/104] =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=87=8D=E6=96=B0=E8=AE=BE=E8=AE=A1=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E4=BD=BF=E7=94=A8=E8=AF=B7=E6=B1=82=E6=B3=A8?= =?UTF-8?q?=E5=85=A5=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/data/datapane/TableDataTreePane.java | 2 +- designer_base/src/com/fr/design/mainframe/DesignerFrame.java | 3 +-- .../src/com/fr/design/mainframe/WestRegionContainerPane.java | 2 +- .../src/com/fr/design/ChartTypeInterfaceManager.java | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java index 5a893803c2..c8f5ba3176 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java @@ -84,7 +84,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { GeneralContext.addPluginReadListener(new PluginReadListener() { @Override - public void success() { + public void success(Status status) { addMenuDef.clearShortCuts(); createAddMenuDef(); } diff --git a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java index 298e5e996c..117eb28489 100644 --- a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java +++ b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java @@ -169,7 +169,6 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta /** * 初始menuPane的方法 方便OEM时修改该组件 - * @param ad */ protected void initMenuPane(){ menuPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); @@ -189,7 +188,7 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta final JPanel northEastPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); GeneralContext.addPluginReadListener(new PluginReadListener() { @Override - public void success() { + public void success(Status status) { TitlePlaceProcessor processor = ExtraDesignClassManager.getInstance().getSingle(TitlePlaceProcessor.MARK_STRING); if (processor == null) { processor = new DefaultTitlePlace(); diff --git a/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java b/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java index 917e4cbfc1..7fa8012fe8 100644 --- a/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java +++ b/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java @@ -29,7 +29,7 @@ public class WestRegionContainerPane extends UIResizableContainer { super(DesignerFrameFileDealerPane.getInstance(), Constants.RIGHT); GeneralContext.addPluginReadListener(new PluginReadListener() { @Override - public void success() { + public void success(Status status) { setDownPane(TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter())); } }); diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index c091c54b99..c67a6aea57 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -75,7 +75,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh static { GeneralContext.addPluginReadListener(new PluginReadListener() { @Override - public void success() { + public void success(Status status) { //重新注册designModuleFactory DesignModuleFactory.registerExtraWidgetOptions(initWidgetOption()); } From 61ce070f0e468495d34ffbf73902af8ab87ec07e Mon Sep 17 00:00:00 2001 From: juhaoyu <2335173323@qq.com> Date: Thu, 23 Feb 2017 10:32:23 +0800 Subject: [PATCH 095/104] =?UTF-8?q?=E6=8F=92=E4=BB=B6=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/extra/PluginHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/extra/PluginHelper.java b/designer_base/src/com/fr/design/extra/PluginHelper.java index 119858206c..be0244f78d 100644 --- a/designer_base/src/com/fr/design/extra/PluginHelper.java +++ b/designer_base/src/com/fr/design/extra/PluginHelper.java @@ -256,7 +256,7 @@ public class PluginHelper { if (PluginLoader.getLoader().isInstalled(plugin)) { throw new com.fr.plugin.PluginVerifyException(Inter.getLocText("FR-Designer-Plugin_Has_Been_Installed")); } - if (plugin.isJarExpired()) { + if (plugin.checkIfJarExpired()) { String jarExpiredInfo = Inter.getLocText(new String[]{"FR-Designer-Plugin_Jar_Expired", ",", "FR-Designer-Plugin_Install_Failed", ",", "FR-Designer-Plugin_Please_Update_Jar", plugin.getRequiredJarTime()}); FRLogger.getLogger().error(jarExpiredInfo); throw new com.fr.plugin.PluginVerifyException(jarExpiredInfo); From 92d9e6fddccb9522962d05a9fa5b5ffa55a029c1 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Thu, 23 Feb 2017 19:22:58 +0800 Subject: [PATCH 096/104] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E2=80=9C=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E5=B1=9E=E6=80=A7=E2=80=9D=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E4=B8=AD=E2=80=9C=E8=A7=A3=E6=9E=90=E6=96=B9=E5=BC=8F=E2=80=9D?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=B3=A8=E9=87=8A=E5=88=86=E5=88=AB=E5=9C=A8?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=92=8C=E8=A1=A8=E5=8D=95=E4=B8=AD=E6=9C=89?= =?UTF-8?q?=E4=BA=89=E5=8F=96=E7=9A=84=E8=A1=A8=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/report/mobile/MobileUseHtmlGroupPane.java | 4 ++++ .../com/fr/design/report/mobile/ReportMobileAttrPane.java | 2 +- .../design/dialog/mobile/MobileUseHtmlGroupBeanPane.java | 8 ++++---- .../src/com/fr/design/locale/designer.properties | 1 + .../src/com/fr/design/locale/designer_en_US.properties | 1 + .../src/com/fr/design/locale/designer_zh_CN.properties | 1 + .../src/com/fr/design/locale/designer_zh_TW.properties | 1 + .../src/com/fr/design/form/mobile/FormMobileAttrPane.java | 2 +- .../com/fr/design/form/mobile/MobileUseHtmlGroupPane.java | 4 ++++ 9 files changed, 18 insertions(+), 6 deletions(-) diff --git a/designer/src/com/fr/design/report/mobile/MobileUseHtmlGroupPane.java b/designer/src/com/fr/design/report/mobile/MobileUseHtmlGroupPane.java index 0e0ec087d1..ee3c51fec7 100644 --- a/designer/src/com/fr/design/report/mobile/MobileUseHtmlGroupPane.java +++ b/designer/src/com/fr/design/report/mobile/MobileUseHtmlGroupPane.java @@ -7,6 +7,10 @@ import com.fr.report.mobile.ElementCaseMobileAttr; * Created by kunsnat on 2016/8/3. */ public class MobileUseHtmlGroupPane extends MobileUseHtmlGroupBeanPane { + public MobileUseHtmlGroupPane(String annotation) { + super(annotation); + } + @Override public void populateBean(ElementCaseMobileAttr mobileAttr) { if(mobileAttr != null) { diff --git a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java index 8f8f74437f..e062b64cc3 100644 --- a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java +++ b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java @@ -34,7 +34,7 @@ public class ReportMobileAttrPane extends BasicBeanPane{ appFitBrowserPane.setAppFitPreviewPane(appFitPreviewPane); jPanel.add(appFitBrowserPane); - jPanel.add(htmlGroupPane = new MobileUseHtmlGroupPane()); + jPanel.add(htmlGroupPane = new MobileUseHtmlGroupPane(Inter.getLocText("FR-mobile_analysis_annotation"))); jPanel.add(mobileToolBarPane = new MobileToolBarPane()); diff --git a/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java b/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java index 5ddf61e560..06666ee579 100644 --- a/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java +++ b/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java @@ -23,11 +23,11 @@ public abstract class MobileUseHtmlGroupBeanPane extends BasicBeanPane { private List radioButtons = new ArrayList(); - public MobileUseHtmlGroupBeanPane() { - initComponents(); + public MobileUseHtmlGroupBeanPane(String annotation) { + initComponents(annotation); } - private void initComponents() { + private void initComponents(String annotation) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setBorder(UITitledBorder.createBorderWithTitle(this.title4PopupWindow())); @@ -43,7 +43,7 @@ public abstract class MobileUseHtmlGroupBeanPane extends BasicBeanPane { Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("FR-mobile_analysis_style")), useApp, useHTML5}, - new Component[]{new UILabel(Inter.getLocText("FR-mobile_analysis_annotation")), null, null} + new Component[]{new UILabel(annotation), null, null} }; JPanel usePane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); usePane.setBorder(BorderFactory.createEmptyBorder(10, 13, 10, 10)); diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 268f5d53d7..d3dc874ddc 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -563,3 +563,4 @@ FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order +FR-mobile_form_analysis_annotation=annotation\: You can use this attribute to control the analysis of the form in the APP 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 b0bf16d5d7..8788145184 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 @@ -563,3 +563,4 @@ FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order +FR-mobile_form_analysis_annotation=annotation\: You can use this attribute to control the analysis of the form in the APP 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 c8ecd5befb..43131c1140 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 @@ -567,3 +567,4 @@ FR-Designer_DS_TableData=\u6570\u636E\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F +FR-mobile_form_analysis_annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u8868\u5355\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F 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 a31f317606..494e6fb30f 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 @@ -555,3 +555,4 @@ FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u633F\u4EF6\u7248\u672C\u904E\u4F4E\uFF0C\u5B58\u5728API\u4E0D\u76F8\u5BB9\uFF0C\u8ACB\u806F\u7CFB\u958B\u767C\u8005\u965E\u7D1A\u633F\u4EF6 FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F +FR-mobile_form_analysis_annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u8868\u55AE\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F \ No newline at end of file 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 eb53e8f8cc..0f45ce212c 100644 --- a/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java +++ b/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java @@ -36,7 +36,7 @@ public class FormMobileAttrPane extends BasicBeanPane{ jPanel2.setLayout(FRGUIPaneFactory.createBorderLayout()); jPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); this.mobileToolBarPane = new MobileToolBarPane(); - this.mobileUseHtmlGroupPane = new MobileUseHtmlGroupPane(); + this.mobileUseHtmlGroupPane = new MobileUseHtmlGroupPane(Inter.getLocText("FR-mobile_form_analysis_annotation")); //设置一个JPanel包裹mobileToolBarPane这个Panel,让jPanel的高度等于mobileToolBarPane高度加10,再放入this中 jPanel1.setPreferredSize(new Dimension(0, (int)this.mobileToolBarPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); jPanel2.setPreferredSize(new Dimension(0, (int)this.mobileUseHtmlGroupPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); diff --git a/designer_form/src/com/fr/design/form/mobile/MobileUseHtmlGroupPane.java b/designer_form/src/com/fr/design/form/mobile/MobileUseHtmlGroupPane.java index 45550a8420..ab400d4a30 100644 --- a/designer_form/src/com/fr/design/form/mobile/MobileUseHtmlGroupPane.java +++ b/designer_form/src/com/fr/design/form/mobile/MobileUseHtmlGroupPane.java @@ -8,6 +8,10 @@ import com.fr.form.main.mobile.FormMobileAttr; * Created by fanglei on 2016/12/28. */ public class MobileUseHtmlGroupPane extends MobileUseHtmlGroupBeanPane { + public MobileUseHtmlGroupPane(String annotation) { + super(annotation); + } + @Override public void populateBean(FormMobileAttr mobileAttr) { if(mobileAttr != null) { From 8abb491cb449c57da947501e3f166e22421f9942 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Thu, 23 Feb 2017 19:55:25 +0800 Subject: [PATCH 097/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java | 2 -- designer_base/src/com/fr/design/locale/designer.properties | 3 +++ .../src/com/fr/design/locale/designer_en_US.properties | 3 +++ .../src/com/fr/design/locale/designer_zh_CN.properties | 3 +++ .../src/com/fr/design/locale/designer_zh_TW.properties | 3 +++ .../src/com/fr/design/form/mobile/FormMobileAttrPane.java | 2 +- 6 files changed, 13 insertions(+), 3 deletions(-) diff --git a/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java b/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java index d70ad4c398..06666ee579 100644 --- a/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java +++ b/designer_base/src/com/fr/design/dialog/mobile/MobileUseHtmlGroupBeanPane.java @@ -45,8 +45,6 @@ public abstract class MobileUseHtmlGroupBeanPane extends BasicBeanPane { new Component[]{new UILabel(Inter.getLocText("FR-mobile_analysis_style")), useApp, useHTML5}, new Component[]{new UILabel(annotation), null, null} }; - FR-mobile_form_analysis_annotation=annotation\: You can use this attribute to control the analysis of the form in the APP - JPanel usePane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); usePane.setBorder(BorderFactory.createEmptyBorder(10, 13, 10, 10)); diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index fa84ee8d9e..272f3ca29e 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -564,3 +564,6 @@ FR-Designer_No=No FR-Designer_Pagination=Page Break FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. +FR-Designer_WidgetOrder=Widget Order +FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP \ No newline at end of file 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 e409147efc..8538ec99ff 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 @@ -565,3 +565,6 @@ FR-Designer_No=No FR-Designer_Pagination=Page Break FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. +FR-Designer_WidgetOrder=Widget Order +FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP 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 367884033e..33e6a7e6e2 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 @@ -569,3 +569,6 @@ FR-Designer_No=\u5426 FR-Designer_Pagination=\u5206\u9875 FR-Designer_DS_TableData=\u6570\u636E\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F +FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u8868\u5355\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F 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 95aba53fff..caeda5b0fc 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 @@ -557,3 +557,6 @@ FR-Designer_No=\u5426 FR-Designer_Pagination=\u5206\u9801 FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F +FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u904E\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8ACB\u806F\u7E6B\u958B\u767C\u8005\u5347\u7D1A\u63D2\u4EF6 +FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F +FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u8868\u55AE\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F 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 0f45ce212c..6dc1f20efd 100644 --- a/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java +++ b/designer_form/src/com/fr/design/form/mobile/FormMobileAttrPane.java @@ -36,7 +36,7 @@ public class FormMobileAttrPane extends BasicBeanPane{ jPanel2.setLayout(FRGUIPaneFactory.createBorderLayout()); jPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); this.mobileToolBarPane = new MobileToolBarPane(); - this.mobileUseHtmlGroupPane = new MobileUseHtmlGroupPane(Inter.getLocText("FR-mobile_form_analysis_annotation")); + this.mobileUseHtmlGroupPane = new MobileUseHtmlGroupPane(Inter.getLocText("FR-Designer_Mobile_Form_Analysis_Annotation")); //设置一个JPanel包裹mobileToolBarPane这个Panel,让jPanel的高度等于mobileToolBarPane高度加10,再放入this中 jPanel1.setPreferredSize(new Dimension(0, (int)this.mobileToolBarPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); jPanel2.setPreferredSize(new Dimension(0, (int)this.mobileUseHtmlGroupPane.getPreferredSize().getHeight() + PADDINGHEIGHT)); From 7e7c6f9983f04d9547e7af2ab3a15aff38c2e0a7 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Fri, 24 Feb 2017 09:41:02 +0800 Subject: [PATCH 098/104] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/report/mobile/ReportMobileAttrPane.java | 2 +- designer_base/src/com/fr/design/locale/designer.properties | 3 ++- .../src/com/fr/design/locale/designer_en_US.properties | 1 + .../src/com/fr/design/locale/designer_zh_CN.properties | 1 + .../src/com/fr/design/locale/designer_zh_TW.properties | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java index e062b64cc3..e91d1d3b84 100644 --- a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java +++ b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java @@ -34,7 +34,7 @@ public class ReportMobileAttrPane extends BasicBeanPane{ appFitBrowserPane.setAppFitPreviewPane(appFitPreviewPane); jPanel.add(appFitBrowserPane); - jPanel.add(htmlGroupPane = new MobileUseHtmlGroupPane(Inter.getLocText("FR-mobile_analysis_annotation"))); + jPanel.add(htmlGroupPane = new MobileUseHtmlGroupPane(Inter.getLocText("FR-Designer_Mobile_Report_Analysis_Annotation"))); jPanel.add(mobileToolBarPane = new MobileToolBarPane()); diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 272f3ca29e..cd0440813d 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -566,4 +566,5 @@ FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order -FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP \ No newline at end of file +FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP +FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid \ No newline at end of file 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 8538ec99ff..47afa410c1 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 @@ -568,3 +568,4 @@ FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP +FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid \ No newline at end of file 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 33e6a7e6e2..b85d0a192c 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 @@ -572,3 +572,4 @@ FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u8868\u5355\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F +FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CA\: \u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u62A5\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9875\u9884\u89C8\uFF0C\u586B\u62A5\u9884\u89C8\u65F6\u5C5E\u6027\u65E0\u6548. \ 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 caeda5b0fc..48ee886d3b 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 @@ -560,3 +560,4 @@ FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u904E\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8ACB\u806F\u7E6B\u958B\u767C\u8005\u5347\u7D1A\u63D2\u4EF6 FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u8868\u55AE\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F +FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u5831\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9801\u9810\u89BD\uFF0C\u586B\u5831\u9810\u89BD\u6642\u5C6C\u6027\u7121\u6548 \ No newline at end of file From 7d077a4653ac392a379f816db3f45db158b4f4f4 Mon Sep 17 00:00:00 2001 From: zhouping Date: Fri, 24 Feb 2017 17:33:36 +0800 Subject: [PATCH 099/104] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=20tab?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E5=AD=97=E4=BD=93=E3=80=81=E5=AD=97=E5=8F=B7?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E4=BF=AE=E6=94=B9=EF=BC=8Crelease=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=88=B0dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creator/cardlayout/XCardSwitchButton.java | 10 +--- .../creator/cardlayout/XWTabFitLayout.java | 51 ++----------------- 2 files changed, 6 insertions(+), 55 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java index effa8856ed..04e678029c 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java @@ -48,7 +48,6 @@ public class XCardSwitchButton extends XButton { //设置的图片类型 private static final String COLOR_BACKGROUND_TYPE = "ColorBackground"; private static final String DEFAULT_TYPE = "default"; - private static final String DEFAULT_FONT_NAME = "SimSun"; //默认颜色 public static final Color NORMAL_GRAL = new Color(236,236,236); @@ -67,7 +66,6 @@ public class XCardSwitchButton extends XButton { private static final int FONT_SIZE_ADJUST = 2; private static final int SIDE_OFFSET = 57; - private static final int FONT_SIZE = 9; private XWCardLayout cardLayout; private XWCardTagLayout tagLayout; @@ -345,10 +343,7 @@ public class XCardSwitchButton extends XButton { // 标题部分 WidgetTitle title = style.getTitle(); - FRFont font = button.getFont(); - if (font == null) { - font = FRFont.getInstance(DEFAULT_FONT_NAME, 0, FONT_SIZE); - } + FRFont font = title.getFrFont(); FRFont newFont = FRFont.getInstance(font.getName(),font.getStyle(),font.getSize() + FONT_SIZE_ADJUST); UILabel label = this.getContentLabel(); label.setFont(newFont); @@ -427,9 +422,6 @@ public class XCardSwitchButton extends XButton { XCardSwitchButton temp = (XCardSwitchButton) this.tagLayout.getComponent(i); CardSwitchButton cardSwitchButton = (CardSwitchButton) temp.toData(); FRFont frFont = cardSwitchButton.getFont(); - if (frFont == null) { - frFont = FRFont.getInstance(DEFAULT_FONT_NAME, 0, FONT_SIZE); - } UILabel label = temp.getContentLabel(); label.setSize(dimension); label.setFont(frFont.applyResolutionNP(ScreenResolution.getScreenResolution())); diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java index f4cac3e15c..ee74339a98 100644 --- a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java @@ -1,11 +1,5 @@ package com.fr.design.designer.creator.cardlayout; -import java.awt.*; -import java.beans.IntrospectionException; - -import javax.swing.border.Border; - -import com.fr.base.ScreenResolution; import com.fr.base.background.ColorBackground; import com.fr.design.designer.beans.LayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRTabFitLayoutAdapter; @@ -16,25 +10,25 @@ import com.fr.design.designer.creator.XLayoutContainer; import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.form.util.XCreatorConstants; import com.fr.design.fun.WidgetPropertyUIProvider; -import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormHierarchyTreePane; import com.fr.design.mainframe.widget.editors.ButtonTypeEditor; -import com.fr.design.mainframe.widget.editors.FontEditor; import com.fr.design.mainframe.widget.editors.ImgBackgroundEditor; -import com.fr.design.mainframe.widget.renderer.FontCellRenderer; import com.fr.design.utils.gui.LayoutUtils; import com.fr.form.ui.CardSwitchButton; import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.general.Background; -import com.fr.general.FRFont; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; import com.fr.stable.core.PropertyChangeAdapter; +import javax.swing.border.Border; +import java.awt.*; +import java.beans.IntrospectionException; + /** * @author focus @@ -46,14 +40,10 @@ public class XWTabFitLayout extends XWFitLayout { // tab布局在拖拽导致的缩放里(含间隔时),如果拖拽宽高大于组件宽高,会导致调整的时候找不到原来的组件 // 这里先将拖拽之前的宽高先做备份 private static final Color NORMAL_GRAL = new Color(236,236,236); - private static final String DEFAULT_FONT_NAME = "SimSun"; - public final static Font DEFAULTFT = new Font("Song_TypeFace",0,12); - public final static FRFont DEFAULT_FRFT = FRFont.getInstance(DEFAULT_FONT_NAME, 0, 9); private Dimension referDim; private Background initialBackground; private Background overBackground; private Background clickBackground; - private FRFont font; private XCardSwitchButton xCardSwitchButton; public Dimension getReferDim() { @@ -88,15 +78,6 @@ public class XWTabFitLayout extends XWFitLayout { this.clickBackground = clickBackground; } - @Override - public FRFont getFont() { - return font; - } - - public void setFont(FRFont font) { - this.font = font; - } - public XCardSwitchButton getxCardSwitchButton() { return xCardSwitchButton; } @@ -164,21 +145,7 @@ public class XWTabFitLayout extends XWFitLayout { cardSwitchButton.setClickBackground(clickBackground); } } - ), - //字体 - creatNonListenerStyle(4).setPropertyChangeListener( - new PropertyChangeAdapter() { - @Override - public void propertyChange() { - font = ((WTabFitLayout) data).getFont(); - CardSwitchButton cardSwitchButton = (CardSwitchButton) xCardSwitchButton.toData(); - cardSwitchButton.setFont(font); - UILabel uiLabel = xCardSwitchButton.getLabel(); - uiLabel.setFont(font.applyResolutionNP(ScreenResolution.getScreenResolution())); - uiLabel.setForeground(font.getForeground()); - xCardSwitchButton.setLabel(uiLabel); - } - }), + ) }; } @@ -210,9 +177,6 @@ public class XWTabFitLayout extends XWFitLayout { XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), new CRPropertyDescriptor("clickBackground", this.data.getClass()).setEditorClass( ImgBackgroundEditor.class).setI18NName(Inter.getLocText("FR-Designer_Background-Click")).putKeyValue( - XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), - new CRPropertyDescriptor("font", this.data.getClass()).setI18NName(Inter.getLocText("FR-Designer_FRFont")) - .setEditorClass(FontEditor.class).setRendererClass(FontCellRenderer.class).putKeyValue( XCreatorConstants.PROPERTY_CATEGORY, "Advanced") }; return crPropertyDescriptors[i]; @@ -243,20 +207,15 @@ public class XWTabFitLayout extends XWFitLayout { if (!isStyle) { this.xCardSwitchButton.setCustomStyle(false); this.xCardSwitchButton.setSelectBackground(bg); - this.xCardSwitchButton.getLabel().setFont(DEFAULTFT); cardSwitchButton.setInitialBackground(null); cardSwitchButton.setClickBackground(null); cardSwitchButton.setOverBackground(null); - cardSwitchButton.setFont(DEFAULT_FRFT); } else { Background initialBackground = cardSwitchButton.getInitialBackground(); bg = initialBackground == null ? bg : initialBackground; this.xCardSwitchButton.setSelectBackground(bg); this.xCardSwitchButton.setCustomStyle(true); cardSwitchButton.setCustomStyle(true); - if (font != null) { - cardSwitchButton.setFont(font); - } if (this.initialBackground != null){ this.xCardSwitchButton.setSelectBackground(this.initialBackground); cardSwitchButton.setInitialBackground(this.initialBackground); From d191a6303661583e41e52ebe9cf3b53499292dc8 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Fri, 24 Feb 2017 17:52:06 +0800 Subject: [PATCH 100/104] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E5=B0=91?= =?UTF-8?q?=E4=BA=86=E5=8F=A5=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer.properties | 2 +- .../src/com/fr/design/locale/designer_en_US.properties | 4 ++-- .../src/com/fr/design/locale/designer_zh_CN.properties | 4 ++-- .../src/com/fr/design/locale/designer_zh_TW.properties | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index cd0440813d..423f8c42c1 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -567,4 +567,4 @@ FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP -FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid \ No newline at end of file +FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid. \ No newline at end of file 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 47afa410c1..b0acea3ab4 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 @@ -567,5 +567,5 @@ FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order -FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP -FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid \ No newline at end of file +FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP. +FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid. \ No newline at end of file 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 b85d0a192c..bdb97b094e 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 @@ -571,5 +571,5 @@ FR-Designer_DS_TableData=\u6570\u636E\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6 FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F -FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u8868\u5355\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F -FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CA\: \u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u62A5\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9875\u9884\u89C8\uFF0C\u586B\u62A5\u9884\u89C8\u65F6\u5C5E\u6027\u65E0\u6548. \ No newline at end of file +FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u8868\u5355\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\u3002 +FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CA\: \u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u62A5\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9875\u9884\u89C8\uFF0C\u586B\u62A5\u9884\u89C8\u65F6\u5C5E\u6027\u65E0\u6548\u3002 \ 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 48ee886d3b..3acd7487c2 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 @@ -559,5 +559,5 @@ FR-Designer_DS_TableData=\u8CC7\u6599\u96C6 FR-Designer_Parameter-Formula=\u516C\u5F0F FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u904E\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8ACB\u806F\u7E6B\u958B\u767C\u8005\u5347\u7D1A\u63D2\u4EF6 FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F -FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u8868\u55AE\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F -FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u5831\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9801\u9810\u89BD\uFF0C\u586B\u5831\u9810\u89BD\u6642\u5C6C\u6027\u7121\u6548 \ No newline at end of file +FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u8868\u55AE\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\u3002 +FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u5831\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9801\u9810\u89BD\uFF0C\u586B\u5831\u9810\u89BD\u6642\u5C6C\u6027\u7121\u6548\u3002 \ No newline at end of file From 04bba80e9f190fc6e22ad6d94abc8939aed5caa0 Mon Sep 17 00:00:00 2001 From: fanglei <294531121> Date: Fri, 24 Feb 2017 17:53:11 +0800 Subject: [PATCH 101/104] =?UTF-8?q?=E8=A1=A5=E4=B8=8A=E5=8F=A5=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 423f8c42c1..0a66c326e8 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -566,5 +566,5 @@ FR-Designer_DS_TableData=Data Set FR-Designer_Parameter-Formula=Formula FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update. FR-Designer_WidgetOrder=Widget Order -FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP +FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP. FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid. \ No newline at end of file From b388a85042d384f76b0036ddbaa55fc30c3e70ec Mon Sep 17 00:00:00 2001 From: fr_shine Date: Mon, 27 Feb 2017 09:39:29 +0800 Subject: [PATCH 102/104] editlabel not append origin label --- .../mainframe/chart/gui/UIEditLabel.java | 44 ++++++++++++------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/UIEditLabel.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/UIEditLabel.java index ceca4f9dce..c7c3c51c78 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/UIEditLabel.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/UIEditLabel.java @@ -161,35 +161,47 @@ public class UIEditLabel extends JPanel implements UIObserver{ return text; } + protected boolean appendOriginalLabel() { + return true; + } + private void stopEditing(){ isEditingStopped = true; this.removeAll(); - String text =this.showLabel.getText(); - text = StringUtils.cutStringEndWith(text,":"); - text = !ComparatorUtils.equals(text, this.originalLabel) ? - StringUtils.perfectEnd(text, "(" + this.originalLabel + ")"): this.originalLabel; - showLabel.setText(StringUtils.perfectEnd(text,":")); + if(appendOriginalLabel()) { + String text = this.showLabel.getText(); + text = StringUtils.cutStringEndWith(text, ":"); + text = !ComparatorUtils.equals(text, this.originalLabel) ? + StringUtils.perfectEnd(text, "(" + this.originalLabel + ")") : this.originalLabel; + showLabel.setText(StringUtils.perfectEnd(text, ":")); + } this.add(showLabel, BorderLayout.CENTER); this.revalidate(); this.repaint(); } public String getText(){ - String text =this.showLabel.getText(); - text = StringUtils.cutStringEndWith(text,":"); - return StringUtils.cutStringEndWith(text,"("+this.originalLabel+")"); + if(appendOriginalLabel()) { + String text = this.showLabel.getText(); + text = StringUtils.cutStringEndWith(text, ":"); + return StringUtils.cutStringEndWith(text, "(" + this.originalLabel + ")"); + } else { + return this.showLabel.getText(); + } } public void setText(String text){ - if(text == null || StringUtils.isEmpty(text)){ - this.showLabel.setText(this.originalLabel); - return; - } - if(!ComparatorUtils.equals(text,originalLabel)){ - text = StringUtils.cutStringEndWith(text, ":"); - text = StringUtils.perfectEnd(text,"("+originalLabel+")"); + if(appendOriginalLabel()) { + if (text == null || StringUtils.isEmpty(text)) { + this.showLabel.setText(this.originalLabel); + return; + } + if (!ComparatorUtils.equals(text, originalLabel)) { + text = StringUtils.cutStringEndWith(text, ":"); + text = StringUtils.perfectEnd(text, "(" + originalLabel + ")"); + } + text = StringUtils.perfectEnd(text, ":"); } - text = StringUtils.perfectEnd(text,":"); this.showLabel.setText(text); } From d2730c56f7790ce1ea070d739d13e4dfcf9aebc3 Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Mon, 27 Feb 2017 10:49:39 +0800 Subject: [PATCH 103/104] =?UTF-8?q?=E6=97=A0=E4=BB=BB=E5=8A=A1=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beans/adapters/layout/FRBodyLayoutAdapter.java | 6 +++--- .../adapters/layout/FRTabFitLayoutAdapter.java | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java index 8db19d9fba..b3072667b2 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyLayoutAdapter.java @@ -6,6 +6,7 @@ import com.fr.design.designer.creator.XWParameterLayout; import com.fr.design.designer.creator.cardlayout.XWCardMainBorderLayout; import com.fr.design.utils.ComponentUtils; import com.fr.form.ui.PaddingMargin; +import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; import com.fr.general.ComparatorUtils; @@ -639,9 +640,8 @@ public class FRBodyLayoutAdapter extends AbstractLayoutAdapter { * 又通过ComponentUtils.getRelativeBounds()方法获取到了绝对坐标, * 再次计算相对坐标,所以将y值重新变成绝对坐标。 * */ - if (currentCreator.getParent().getParent().getComponent(0) instanceof XWParameterLayout) { - int high = currentCreator.getParent().getParent().getComponent(0).getHeight(); - y = y + WCardMainBorderLayout.TAB_HEIGHT + high; + if (currentCreator.getBackupParent().getLocation().y == WBorderLayout.DEFAULT_SIZE) { + y = y + WCardMainBorderLayout.TAB_HEIGHT + WBorderLayout.DEFAULT_SIZE; } else { y = y + WCardMainBorderLayout.TAB_HEIGHT; } diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRTabFitLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRTabFitLayoutAdapter.java index f0ccc3eb8f..63a70e1bb8 100644 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRTabFitLayoutAdapter.java +++ b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRTabFitLayoutAdapter.java @@ -15,6 +15,7 @@ import com.fr.design.designer.creator.cardlayout.XWTabFitLayout; import com.fr.design.designer.properties.FRTabFitLayoutPropertiesGroupModel; import com.fr.design.utils.ComponentUtils; import com.fr.form.ui.LayoutBorderStyle; +import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; import com.fr.general.ComparatorUtils; @@ -92,16 +93,16 @@ public class FRTabFitLayoutAdapter extends FRFitLayoutAdapter { private int adjustY(int y, XWTabFitLayout tabLayout) { XWCardLayout cardLayout = (XWCardLayout) tabLayout.getBackupParent(); LayoutBorderStyle style = cardLayout.toData().getBorderStyle(); - if (container.getParent().getComponent(0) instanceof XWParameterLayout) { - y = y - container.getParent().getComponent(0).getHeight() - container.getParent().getComponent(0).getY(); + if (container.getLocation().y == WBorderLayout.DEFAULT_SIZE) { + y = y - WBorderLayout.DEFAULT_SIZE; } if (ComparatorUtils.equals(style.getType(), LayoutBorderStyle.TITLE)) { - y -= WCardMainBorderLayout.TAB_HEIGHT; + y = y - WCardMainBorderLayout.TAB_HEIGHT; } return y; } - protected Rectangle getLayoutBound(XWCardMainBorderLayout mainLayout){ - return ComponentUtils.getRelativeBounds(mainLayout); - } + protected Rectangle getLayoutBound(XWCardMainBorderLayout mainLayout) { + return ComponentUtils.getRelativeBounds(mainLayout); + } } \ No newline at end of file From 0bcbfe576d113b328a13bae3654e72615ecdfdd0 Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 28 Feb 2017 16:57:34 +0800 Subject: [PATCH 104/104] =?UTF-8?q?REPORT-1980=20=E6=8D=A2=E6=88=90listmap?= =?UTF-8?q?=E7=BB=B4=E6=8C=81=E5=8E=9F=E6=9C=89=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/gui/frpane/HyperlinkGroupPane.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/gui/frpane/HyperlinkGroupPane.java b/designer_base/src/com/fr/design/gui/frpane/HyperlinkGroupPane.java index 112fa54dc2..99fc5948e5 100644 --- a/designer_base/src/com/fr/design/gui/frpane/HyperlinkGroupPane.java +++ b/designer_base/src/com/fr/design/gui/frpane/HyperlinkGroupPane.java @@ -13,6 +13,7 @@ import com.fr.js.JavaScript; import com.fr.js.NameJavaScript; import com.fr.js.NameJavaScriptGroup; import com.fr.plugin.PluginManager; +import com.fr.stable.ListMap; import com.fr.stable.Nameable; import java.util.ArrayList; @@ -34,7 +35,7 @@ public class HyperlinkGroupPane extends JListControlPane { * @return 返回Nameable按钮数组. */ public NameableCreator[] createNameableCreators() { - Map nameCreators = new TreeMap(); + Map nameCreators = new ListMap<>(); NameableCreator[] creators = DesignModuleFactory.getHyperlinkGroupType().getHyperlinkCreators(); for (NameableCreator creator : creators) { nameCreators.put(creator.menuName(), creator);