diff --git a/designer-base/src/main/java/com/fr/design/gui/chart/ChartEditPaneProvider.java b/designer-base/src/main/java/com/fr/design/gui/chart/ChartEditPaneProvider.java index 3003800364..0a3684ba30 100644 --- a/designer-base/src/main/java/com/fr/design/gui/chart/ChartEditPaneProvider.java +++ b/designer-base/src/main/java/com/fr/design/gui/chart/ChartEditPaneProvider.java @@ -16,4 +16,7 @@ public interface ChartEditPaneProvider { default void removeChartEditPaneActionListener(ChartEditPaneActionListener l) { } + default void resetLastChartCollection() { + } + } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index c348b49e78..e61932d7f4 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -19,7 +19,6 @@ import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.TableDataSourceAction; import com.fr.design.actions.edit.RedoAction; import com.fr.design.actions.edit.UndoAction; -import com.fr.design.actions.file.BatchCompileAction; import com.fr.design.actions.file.SaveAsTemplateAction; import com.fr.design.actions.file.SaveTemplateAction; import com.fr.design.actions.file.WebPreviewUtils; @@ -974,7 +973,7 @@ public abstract class JTemplate> } else if (DesignerMode.isAuthorityEditing()) { return new ShortCut[]{new SaveTemplateAction(this), new UndoAction(this), new RedoAction(this)}; } else { - return new ShortCut[]{new SaveTemplateAction(this), new SaveAsTemplateAction(this), new BatchCompileAction(), new UndoAction(this), new RedoAction(this)}; + return new ShortCut[]{new SaveTemplateAction(this), new SaveAsTemplateAction(this), new UndoAction(this), new RedoAction(this)}; } } @@ -1411,9 +1410,7 @@ public abstract class JTemplate> * @return 按钮组 */ public UIButton[] createExtraButtons() { - UIButton[] uiButtons = new UIButton[]{ - (UIButton) new CompileAction().createToolBarComponent() - }; + UIButton[] uiButtons = new UIButton[0]; Set providers = ExtraDesignClassManager.getInstance().getArray(DesignerFrameUpButtonProvider.XML_TAG); for (DesignerFrameUpButtonProvider provider : providers) { uiButtons = ArrayUtils.addAll(uiButtons, provider.getUpButtons(getMenuState())); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java index 18ac4b962d..0847f6b276 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java @@ -65,7 +65,7 @@ public class FormThemePreviewPane extends TemplateThemePreviewPane { } }; columnChartPanel.setLayout(new BorderLayout()); - columnChartPreviewPane = createChartPreviewPane(initColumnChart(), i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Column_Title")); + columnChartPreviewPane = createChartPreviewPane(initColumnChart(), i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Comp_Title1")); columnChartPanel.add(columnChartPreviewPane, BorderLayout.CENTER); JPanel pieChartPanel = new UINoOpaquePanel() { @@ -74,7 +74,7 @@ public class FormThemePreviewPane extends TemplateThemePreviewPane { } }; pieChartPanel.setLayout(new BorderLayout()); - pieChartPreviewPane = createChartPreviewPane(initPieChart(), i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Pie_Title")); + pieChartPreviewPane = createChartPreviewPane(initPieChart(), i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Comp_Title2")); pieChartPanel.add(pieChartPreviewPane, BorderLayout.CENTER); chartContent.add(columnChartPanel, BorderLayout.CENTER); chartContent.add(pieChartPanel, BorderLayout.EAST); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECPreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECPreviewPane.java index 4493ed2630..5f7725ffa3 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECPreviewPane.java @@ -2,20 +2,16 @@ package com.fr.design.mainframe.theme.preview.ecpreview; import com.fr.base.theme.TemplateTheme; import com.fr.base.theme.settings.ThemedCellStyleList; +import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.theme.preview.UINoOpaquePanel; import com.fr.design.mainframe.theme.preview.ecpreview.cell.AbstractPreviewCell; import com.fr.design.mainframe.theme.preview.ecpreview.cell.PreviewCell; -import com.fr.log.FineLoggerFactory; - import javax.swing.BorderFactory; import javax.swing.JPanel; - import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; -import java.io.BufferedReader; -import java.io.StringReader; import java.util.ArrayList; import java.util.List; @@ -25,70 +21,41 @@ import java.util.List; * Created by Starryi on 2021/8/13 */ public class ECPreviewPane extends AbstractECPreviewPane { - private static String csv = - "城市 当月目标 当月完成 月完成率 年完成率\n" + - "合肥市 248,938 348,938 140% 140%\n" + - "邵阳市 248,938 348,938 140% 140%\n" + - "合计 1,071,460 1,371,460 128% 128%"; - private final List DATA_LIST = createDataList(); - private static final String BLANK_CHAR = " "; - private List headerCellList = new ArrayList<>(); - private List contentCellList = new ArrayList<>(); - private List hightLightCellList = new ArrayList<>(); - - private List createDataList() { - List data = new ArrayList<>(); - try (BufferedReader reader = new BufferedReader(new StringReader(csv))) { - String textLine; - while ((textLine = reader.readLine()) != null) { - String[] texts = textLine.split(BLANK_CHAR); - data.add(texts); - } - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - return data; - } - + private final List headerCellList = new ArrayList<>(); + private final List contentCellList = new ArrayList<>(); + private final List highLightCellList = new ArrayList<>(); + private static final int COL_COUNT = 5; + private static final int CONTENT_ROW_COUNT = 2; public ECPreviewPane() { this.setPreferredSize(new Dimension(517, 147)); this.setBorder(BorderFactory.createEmptyBorder(0, 1, 2, 1)); this.setLayout(FRGUIPaneFactory.createBorderLayout()); - String[] titleArr = DATA_LIST.get(0); - String[] endArr = DATA_LIST.get(DATA_LIST.size() - 1); JPanel titlePane = new UINoOpaquePanel(new GridLayout()); this.add(titlePane, BorderLayout.NORTH); - for (String title : titleArr) { - PreviewCell cell = new PreviewCell(title); + for (int i = 0; i < COL_COUNT; i++) { + PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Header")); cell.setPreferredSize(new Dimension(103, 36)); titlePane.add(cell); headerCellList.add(cell); } - JPanel contentPane = new UINoOpaquePanel(new GridLayout(2, 5, 0, 0)); this.add(contentPane, BorderLayout.CENTER); - for (int i = 1; i < DATA_LIST.size() - 1; i++) { - String[] textLine = DATA_LIST.get(i); - for (int j = 0; j < textLine.length; j++) { - String text = textLine[j]; - PreviewCell cell = new PreviewCell(text); - cell.setPreferredSize(new Dimension(103, 33)); - contentPane.add(cell); - contentCellList.add(cell); - } + for (int i = 0; i < COL_COUNT * CONTENT_ROW_COUNT; i++) { + PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Main_Text")); + cell.setPreferredSize(new Dimension(103, 33)); + contentPane.add(cell); + contentCellList.add(cell); } JPanel endPane = new UINoOpaquePanel(new GridLayout()); this.add(endPane, BorderLayout.SOUTH); - for (String text : endArr) { - PreviewCell cell = new PreviewCell(text); + for (int i = 0; i < COL_COUNT; i++) { + PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Highlight_Text")); cell.setPreferredSize(new Dimension(103, 33)); endPane.add(cell); - hightLightCellList.add(cell); + highLightCellList.add(cell); } - - } @Override @@ -96,7 +63,7 @@ public class ECPreviewPane extends AbstractECPreviewPane { ThemedCellStyleList cellStyleConfig = theme.getCellStyleList(); refresh(headerCellList, getReportHeaderStyle(cellStyleConfig)); refresh(contentCellList, getMainContentStyle(cellStyleConfig)); - refresh(hightLightCellList, getHighLightStyle(cellStyleConfig)); + refresh(highLightCellList, getHighLightStyle(cellStyleConfig)); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java index 281624ef32..a933f39489 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ecpreview/ECReportPreviewPane.java @@ -22,13 +22,15 @@ import java.util.ArrayList; import java.util.List; public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreviewed { - private List headerTitleCellList = new ArrayList<>(); - private List headerCellList = new ArrayList<>(); - private List titleCellList = new ArrayList<>(); - private List contentCellList = new ArrayList<>(); - private List highLightCellList = new ArrayList<>(); + private final List headerTitleCellList = new ArrayList<>(); + private final List headerCellList = new ArrayList<>(); + private final List titleCellList = new ArrayList<>(); + private final List contentCellList = new ArrayList<>(); + private final List highLightCellList = new ArrayList<>(); + private static final int CONTENT_ROW_COUNT = 3; + private static final int COL_COUNT = 5; - private PreviewPane previewPane; + private final PreviewPane previewPane; public ECReportPreviewPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -58,26 +60,26 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview private JPanel createNorthPane() { JPanel northPane = FRGUIPaneFactory.createBorderLayout_NO_Opaque_Pane(); - AbstractPreviewCell bigTitleCell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Big_Title")); + AbstractPreviewCell bigTitleCell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Cell_Style_Big_Title")); bigTitleCell.setPreferredSize(new Dimension(615, 46)); headerTitleCellList.add(bigTitleCell); northPane.add(bigTitleCell, BorderLayout.NORTH); - CornerPreviewCell cornerCell = new CornerPreviewCell(new String[]{Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Product"), - Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Data"), Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Statistical_Dimension")}, + CornerPreviewCell cornerCell = new CornerPreviewCell(new String[]{Toolkit.i18nText("Fine-Design_Basic_Column_Name"), + Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Data"), Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_Row_Name")}, new Point2D[]{new Point(159, 71), new Point(225, 49)}); cornerCell.setPreferredSize(new Dimension(225, 71)); headerCellList.add(cornerCell); northPane.add(cornerCell, BorderLayout.WEST); JPanel centerPane = FRGUIPaneFactory.createBorderLayout_NO_Opaque_Pane(); northPane.add(centerPane, BorderLayout.CENTER); - PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Statistical_By_Area")); + PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Small_Title")); titleCellList.add(cell); cell.setPreferredSize(new Dimension(308, 38)); centerPane.add(cell, BorderLayout.NORTH); JPanel eastSouthPane = new UINoOpaquePanel(new GridLayout()); - PreviewCell cell1 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_East_China")); - PreviewCell cell2 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_South_China")); - PreviewCell cell3 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Subtotal")); + PreviewCell cell1 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Header")); + PreviewCell cell2 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Header")); + PreviewCell cell3 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Header")); headerCellList.add(cell1); headerCellList.add(cell2); headerCellList.add(cell3); @@ -92,13 +94,13 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview JPanel centerPane = FRGUIPaneFactory.createBorderLayout_NO_Opaque_Pane(); JPanel westPane = FRGUIPaneFactory.createBorderLayout_NO_Opaque_Pane(); centerPane.add(westPane, BorderLayout.WEST); - PreviewCell cell1 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Drink")); + PreviewCell cell1 = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Small_Title")); titleCellList.add(cell1); cell1.setPreferredSize(new Dimension(112, 153)); westPane.add(cell1, BorderLayout.WEST); JPanel gridPane = new UINoOpaquePanel(new GridLayout(5, 1)); - for (int i = 0; i < 5; i++) { - PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Profile_Pane_EC_Apple_Juice")); + for (int i = 0; i < COL_COUNT; i++) { + PreviewCell cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Header")); cell.setPreferredSize(new Dimension(113, 31)); headerCellList.add(cell); gridPane.add(cell); @@ -107,14 +109,16 @@ public class ECReportPreviewPane extends UINoOpaquePanel implements ThemePreview JPanel innerCenterPane = new UINoOpaquePanel(new GridLayout(5, 3)); centerPane.add(innerCenterPane, BorderLayout.CENTER); - for (int i = 0; i < 15; i++) { - PreviewCell cell = new PreviewCell("35600"); - cell.setPreferredSize(new Dimension(123, 31)); - if ((i + 1) % 3 == 0) { + for (int i = 0; i < COL_COUNT * CONTENT_ROW_COUNT; i++) { + PreviewCell cell ; + if ((i + 1) % CONTENT_ROW_COUNT == 0) { + cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Highlight_Text")); highLightCellList.add(cell); } else { + cell = new PreviewCell(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Main_Text")); contentCellList.add(cell); } + cell.setPreferredSize(new Dimension(123, 31)); innerCenterPane.add(cell); } diff --git a/designer-base/src/main/java/com/fr/file/FILEChooserPane.java b/designer-base/src/main/java/com/fr/file/FILEChooserPane.java index de5f1682fd..c21c82c75a 100644 --- a/designer-base/src/main/java/com/fr/file/FILEChooserPane.java +++ b/designer-base/src/main/java/com/fr/file/FILEChooserPane.java @@ -648,7 +648,7 @@ public class FILEChooserPane extends BasicPane { this.suffix = suffix; if (!text.endsWith(suffix)) { - text = text + suffix; + text = removeSuffix(text) + suffix; } fileNameTextField.removeDocumentListener(); fileNameTextField.setText(text); @@ -664,6 +664,14 @@ public class FILEChooserPane extends BasicPane { fileNameTextField.setFilter(new DefaultCompletionFilter(names)); } + /** + * 移除文件后缀的方法 + * 解决cptx文件的另存为操作默认会出现双后缀的bug(xxx.cptx.cpt) + **/ + private String removeSuffix(String text){ + return FileExtension.CPTX.matchExtension(text) ? text.substring(0, text.length() - FileExtension.CPTX.getSuffix().length()) : text; + } + /** * 打开对话框 diff --git a/designer-base/src/main/java/com/fr/nx/app/designer/toolbar/TransformResultInfo.java b/designer-base/src/main/java/com/fr/nx/app/designer/toolbar/TransformResultInfo.java index e988e04e73..15e3c8bf90 100644 --- a/designer-base/src/main/java/com/fr/nx/app/designer/toolbar/TransformResultInfo.java +++ b/designer-base/src/main/java/com/fr/nx/app/designer/toolbar/TransformResultInfo.java @@ -57,7 +57,7 @@ public class TransformResultInfo { return InterProviderFactory.getProvider().getLocText("Fine-Plugin_Engine_Transform_Success_Tip"); case UNSUPPORT: return transformLog + "\n" - + InterProviderFactory.getProvider().getLocText("Fine-Plugin_Engine_Transform_Unsupport_Tip"); + + InterProviderFactory.getProvider().getLocText("Fine-Plugin_Engine_X_Unsupport_Tip"); } return transformLog; } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/ChartPropertyPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/ChartPropertyPane.java index 90b0e88054..2d4d5fef6c 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/ChartPropertyPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/ChartPropertyPane.java @@ -55,6 +55,8 @@ public class ChartPropertyPane extends BaseChartPropertyPane { chartEditPane.setContainer(container); currentID = plotID; resetChartEditPane(); + } else { + chartEditPane.resetLastChartCollection(); } } diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java index d6acb929a7..70b7130f12 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/ChartEditPane.java @@ -118,6 +118,10 @@ public class ChartEditPane extends BasicPane implements AttributeChange, Prepare this.listenerList.remove(ChartEditPaneActionListener.class, l); } + public void resetLastChartCollection() { + this.lastCollection = null; + } + private void fireAttributeChange(ChartCollection chartCollection) { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); diff --git a/designer-form/src/main/java/com/fr/design/preview/DeveloperPreview.java b/designer-form/src/main/java/com/fr/design/preview/DeveloperPreview.java index 908defcbb5..cb04f9345c 100644 --- a/designer-form/src/main/java/com/fr/design/preview/DeveloperPreview.java +++ b/designer-form/src/main/java/com/fr/design/preview/DeveloperPreview.java @@ -43,8 +43,8 @@ public class DeveloperPreview extends AbstractPreviewProvider { @Override public void onClick(JTemplate jt) { - MutilTempalteTabPane.getInstance().closeCurrentTpl(); super.onClick(jt); + MutilTempalteTabPane.getInstance().closeCurrentTpl(); } diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_1.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_1.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_10.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_10.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_11.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_11.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_12.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_12.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_13.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_13.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_14.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_14.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_15.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_15.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_16.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_16.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_17.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_17.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_3.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_3.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_4.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_4.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_5.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_5.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_6.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_6.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_7.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_7.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_8.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_8.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_9.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/real_style_9.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_1.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_1.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_10.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_10.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_11.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_11.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_12.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_12.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_13.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_13.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_14.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_14.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_15.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_15.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_16.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_16.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_17.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_17.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_18.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_18.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_2.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_2.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_3.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_3.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_4.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_4.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_5.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_5.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_6.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_6.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_7.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_7.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_8.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_8.png old mode 100755 new mode 100644 diff --git a/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_9.png b/designer-form/src/main/resources/com/fr/design/form/layouts/images/simple_style_9.png old mode 100755 new mode 100644 diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java b/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java index 2700df9fb6..f2c9524e62 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java @@ -1247,7 +1247,6 @@ public class JWorkBook extends JTemplate { protected void addChooseFILEFilter(FILEChooserPane fileChooser) { String appName = ProductConstants.APP_NAME; fileChooser.addChooseFILEFilter(new ChooseFileFilter(FileExtension.CPT, appName + Toolkit.i18nText("Fine-Design_Report_Template_File"))); - fileChooser.addChooseFILEFilter(new ChooseFileFilter(FileExtension.CPTX, appName + Toolkit.i18nText("Fine-Design_Report_Template_File"))); addExtraChooseFILEFilter(fileChooser); } diff --git a/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java b/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java index 0b75780a1b..5b62a96b0e 100644 --- a/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java +++ b/designer-realize/src/main/java/com/fr/design/report/ReportEnginePane.java @@ -7,22 +7,38 @@ import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.FRExplainLabel; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; +import com.fr.general.SiteCenter; +import com.fr.log.FineLoggerFactory; import com.fr.report.core.ReportUtils; import com.fr.report.stable.LayerReportAttr; import com.fr.report.worksheet.WorkSheet; +import com.fr.stable.ProductConstants; +import javax.swing.AbstractButton; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; +import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; +import javax.swing.SwingConstants; +import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Component; +import java.awt.Desktop; import java.awt.Dimension; +import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; @@ -33,9 +49,12 @@ import java.util.List; */ public class ReportEnginePane extends BasicBeanPane { private static final int LABEL_HEIGHT = 55; - private UICheckBox isClientPaging; - private UICheckBox isShowDataNumber; - private UICheckBox isPageQueryBox; + private UICheckBox clientPaging; + private UICheckBox showDataNumber; + private UICheckBox pageQueryBox; + private JPanel outPagingEngineSelectPane; + private JPanel outEngineXSettingPane; + private JPanel pageQueryPane; private IntegerEditor countPerPageEditor; private WorkSheet worksheet; private List radioButtons = new ArrayList<>(2); @@ -51,94 +70,125 @@ public class ReportEnginePane extends BasicBeanPane { protected void initComponents() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel outlayerReportPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Report_Engine_Attribute")); - JPanel layerReportPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane(); - this.add(outlayerReportPane); - outlayerReportPane.add(layerReportPane); + JPanel outReportEnginePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Report_Engine_Attribute")); + outReportEnginePane.setPreferredSize(new Dimension(600, 370)); + this.add(outReportEnginePane, BorderLayout.NORTH); + outReportEnginePane.add(createReportEnginePane()); + JPanel outAdvicePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Advice")); + this.add(outAdvicePane, BorderLayout.SOUTH); + outAdvicePane.setPreferredSize(new Dimension(600, 150)); + outAdvicePane.add(createAdvicePane()); + } + + private JPanel createReportEnginePane(){ + JPanel reportEnginePane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane(); + JPanel clientPagingpanel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + clientPaging = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Enable_Client_Page")); + clientPaging.setSelected(false); + clientPagingpanel.add(clientPaging); + reportEnginePane.add(clientPagingpanel); + outPagingEngineSelectPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paging_Engine_Select")); + reportEnginePane.add(outPagingEngineSelectPane); + outPagingEngineSelectPane.setVisible(false); + outPagingEngineSelectPane.setPreferredSize(new Dimension(600, 300)); + outPagingEngineSelectPane.add(createPagingEngineSelectPane()); + clientPaging.addActionListener(new SelectActionListener(clientPaging, outPagingEngineSelectPane)); + return reportEnginePane; + } + + private JPanel createPagingEngineSelectPane(){ + JPanel pagingEngineSelectPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane(); + outEngineXSettingPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_New_Engine")); + outEngineXSettingPane.setVisible(false); + outEngineXSettingPane.setPreferredSize(new Dimension(570, 240)); + outEngineXSettingPane.add(createEngineXSettingPane()); + pagingEngineSelectPane.add(createPagingEngineRadioPanel()); + pagingEngineSelectPane.add(outEngineXSettingPane); - JPanel isClientPagingPanle = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); - isClientPaging = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Enable_Client_Page")); - isClientPaging.addActionListener(new ActionListener(){ + return pagingEngineSelectPane; + } + + private JPanel createEngineXSettingPane(){ + JPanel engineXSettingPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane(); + JPanel pageQueryBoxPanel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + pageQueryBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Fixed_Line_Paging")); + pageQueryBox.setSelected(false); + pageQueryBoxPanel.add(pageQueryBox); + engineXSettingPane.add(pageQueryBoxPanel); + pageQueryPane = createPageQueryPane(); + pageQueryPane.setVisible(false); + engineXSettingPane.add(pageQueryPane); + pageQueryBox.addActionListener(new SelectActionListener(pageQueryBox, pageQueryPane)); + JPanel tipPane = new JPanel(); + UILabel tip = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Report_Engine_tip"), SwingConstants.LEFT); + tipPane.add(tip); + engineXSettingPane.add(tipPane); + return engineXSettingPane; + } + + private JPanel createPageQueryPane() { + double p = TableLayout.PREFERRED; + double rowSize[] = {p, p}; + double columnSize[] = {p, p}; + countPerPageEditor = new IntegerEditor(new Integer(30)); + countPerPageEditor.setPreferredSize(new Dimension(120,20)); + countPerPageEditor.setEnabled(false); + Component[][] components = {{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_LayerPageReport_Count_PerPage") + ":"), countPerPageEditor}}; + JPanel pageQueryPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + pageQueryPane.setBorder(BorderFactory.createEmptyBorder(5, 15, 0, 0)); + return pageQueryPane; + } + private JPanel createAdvicePane(){ + JPanel advicePane = new JPanel(new BorderLayout()); + FRExplainLabel topExplainLabel = new FRExplainLabel(Toolkit.i18nText("Fine-Design_Report_Report_Engine_Warnning_Info")); + advicePane.add(topExplainLabel, BorderLayout.NORTH); + topExplainLabel.setForeground(new Color(0, 0, 0)); + FlowLayout flowLayout = new FlowLayout(FlowLayout.LEADING); + flowLayout.setHgap(0); + flowLayout.setVgap(0); + JPanel adviceDownPane = new JPanel(flowLayout); + advicePane.add(adviceDownPane, BorderLayout.CENTER); + FRExplainLabel downExplainLabel = new FRExplainLabel(Toolkit.i18nText("Fine-Design_Report_Report_Detail_Reference")); + adviceDownPane.add(downExplainLabel); + downExplainLabel.setForeground(new Color(0, 0, 0)); + JLabel helper = new FRExplainLabel( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Community_Help")); + helper.setForeground(new Color(1, 159, 222)); + adviceDownPane.add(helper); + helper.addMouseListener(new MouseAdapter() { @Override - public void actionPerformed(ActionEvent e) { - if (isClientPaging.isSelected()){ - isPageQueryBox.setEnabled(true); - }else{ - isPageQueryBox.setEnabled(false); + public void mouseClicked(MouseEvent e) { + try { + Desktop.getDesktop().browse(new URI(SiteCenter.getInstance().acquireUrlByKind("standard.doc", ProductConstants.WEBSITE_URL))); + } catch (IOException | URISyntaxException ex) { + FineLoggerFactory.getLogger().error("io exception or not find website", ex); } - } }); - isClientPaging.setSelected(false); - isClientPagingPanle.add(isClientPaging); - layerReportPane.add(isClientPagingPanle); - UIRadioButton lineEngine = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_New_Engine"), false); - UIRadioButton newEngine = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Line_Engine"), false); + return advicePane; + } + private JPanel createPagingEngineRadioPanel(){ + UIRadioButton newEngine = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_New_Engine"), false); + UIRadioButton lineEngine = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Line_Engine"), false); ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.add(newEngine); buttonGroup.add(lineEngine); - radioButtons.add(lineEngine); radioButtons.add(newEngine); - + radioButtons.add(lineEngine); double p = TableLayout.PREFERRED; double[] rowSize = {p}; double[] columnSize = {p, p, p, p, p}; Component[][] components = new Component[][]{ new Component[] { - new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Page_Engine_Select")), - lineEngine, - newEngine + newEngine, + lineEngine } }; JPanel pagingEngineRadioPanel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - layerReportPane.add(pagingEngineRadioPanel); - - JPanel infoPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Attention")); - FRExplainLabel label = new FRExplainLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Layer_Report_Warnning_Info")); - label.setPreferredSize(new Dimension(label.getPreferredSize().width, LABEL_HEIGHT)); - infoPane.add(label); - layerReportPane.add(infoPane); - - JPanel isShowDataNumberPanle = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); - isShowDataNumber = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Show_Data_Total_Number")); - isShowDataNumber.setSelected(false); - isShowDataNumberPanle.add(isShowDataNumber); - layerReportPane.add(isShowDataNumberPanle); - - JPanel isPageQueryBoxPanle = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); - isPageQueryBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Fixed_Line_Paging")); - isPageQueryBox.setSelected(false); - isPageQueryBox.setEnabled(false); - isPageQueryBoxPanle.add(isPageQueryBox); - layerReportPane.add(isPageQueryBoxPanle); - isPageQueryBox.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - if (isPageQueryBox.isSelected()) { - countPerPageEditor.setEnabled(true); - } else { - countPerPageEditor.setEnabled(false); - } - } - }); - - JPanel pageQueryPane = createPageQueryPane(); - layerReportPane.add(pageQueryPane); - - } - - private JPanel createPageQueryPane() { - double p = TableLayout.PREFERRED; - double rowSize[] = {p, p}; - double columnSize[] = {p, p}; - countPerPageEditor = new IntegerEditor(new Integer(30)); - countPerPageEditor.setPreferredSize(new Dimension(120,20)); - countPerPageEditor.setEnabled(false); - Component[][] components = {{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_LayerPageReport_Count_PerPage") + ":"), countPerPageEditor}}; - JPanel pageQueryPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - pageQueryPane.setBorder(BorderFactory.createEmptyBorder(5, 15, 0, 0)); - return pageQueryPane; + newEngine.addActionListener(new SelectActionListener(newEngine, outEngineXSettingPane)); + lineEngine.addActionListener(new SelectActionListener(lineEngine, outEngineXSettingPane)); + return pagingEngineRadioPanel; } @Override @@ -152,28 +202,35 @@ public class ReportEnginePane extends BasicBeanPane { setDefaultAttr(); return; } - isClientPaging.setSelected(ob.isClientPaging()); - isShowDataNumber.setSelected(ob.isShowDataNumber()); + clientPaging.setSelected(ob.isClientPaging()); + if (clientPaging.isSelected()){ + outPagingEngineSelectPane.setVisible(true); + } countPerPageEditor.setValue(new Integer(ob.getCountPerPage())); if (ob.isPageQuery()) { - isPageQueryBox.setSelected(true); + pageQueryBox.setSelected(true); countPerPageEditor.setEnabled(true); } else { - isPageQueryBox.setSelected(false); + pageQueryBox.setSelected(false); countPerPageEditor.setEnabled(false); } - radioButtons.get(0).setSelected(ob.getEngineState() == LayerReportAttr.ENGINE_X ? true : false); - radioButtons.get(1).setSelected(ob.getEngineState() == LayerReportAttr.LINE_ENGINE ? true : false); + if (pageQueryBox.isSelected()){ + pageQueryPane.setVisible(true); + } + radioButtons.get(0).setSelected(ob.getEngineState() == LayerReportAttr.ENGINE_X); + radioButtons.get(1).setSelected(ob.getEngineState() == LayerReportAttr.LINE_ENGINE); + //有一个默认值,一定会显示分页选项界面 + outEngineXSettingPane.setVisible(true); + } @Override public LayerReportAttr updateBean() { //这里注意一下怎么更新的,后续可能存在判断为空的调用,从而对老引擎造成影响。 LayerReportAttr attr = new LayerReportAttr(); - attr.setPageQuery(isPageQueryBox.isSelected()); - attr.setCountPerPage(Math.min(500, ((Integer)countPerPageEditor.getValue()).intValue())); - attr.setClientPaging(isClientPaging.isSelected()); - attr.setShowDataNumber(isShowDataNumber.isSelected()); + attr.setPageQuery(pageQueryBox.isSelected()); + attr.setCountPerPage(Math.min(500, (countPerPageEditor.getValue()).intValue())); + attr.setClientPaging(clientPaging.isSelected()); for (int i = 0; i < radioButtons.size(); i++){ if (radioButtons.get(i).isSelected()){ attr.setEngineState(i); @@ -184,25 +241,40 @@ public class ReportEnginePane extends BasicBeanPane { @Override public void checkValid() throws Exception { - if (isClientPaging.isSelected()) { + if (clientPaging.isSelected()) { if (!ReportUtils.isLayerReportUsable(worksheet)) { int value = FineJOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_After_Changed_Some_Attributes_Are_Different") + "?", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Confirm"), JOptionPane.YES_NO_OPTION); if (value != JOptionPane.YES_OPTION) { - isClientPaging.setSelected(false); + clientPaging.setSelected(false); } } } } public void setDefaultAttr(){ - isClientPaging.setSelected(false); - isShowDataNumber.setSelected(false); - countPerPageEditor.setValue(new Integer(30)); + clientPaging.setSelected(false); + countPerPageEditor.setValue(30); countPerPageEditor.setEnabled(false); - isPageQueryBox.setSelected(false); - isPageQueryBox.setEnabled(false); + pageQueryBox.setSelected(false); radioButtons.get(0).setSelected(false); radioButtons.get(1).setSelected(false); } + + private class SelectActionListener implements ActionListener { + private AbstractButton source; + private JPanel target; + private SelectActionListener(AbstractButton source, JPanel target){ + this.source = source; + this.target = target; + } + @Override + public void actionPerformed(ActionEvent e) { + if (source.isSelected()){ + target.setVisible(true); + }else { + target.setVisible(false); + } + } + } }