diff --git a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java index 6b1113f35..32de9a078 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java +++ b/designer/src/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java @@ -16,10 +16,7 @@ import com.fr.design.mainframe.alphafine.cell.model.PluginModel; import com.fr.design.mainframe.alphafine.cell.render.ContentCellRender; import com.fr.design.mainframe.alphafine.listener.DocumentAdapter; import com.fr.design.mainframe.alphafine.model.SearchResult; -import com.fr.design.mainframe.alphafine.preview.ActionPreviewPane; -import com.fr.design.mainframe.alphafine.preview.DocumentPreviewPane; -import com.fr.design.mainframe.alphafine.preview.FilePreviewPane; -import com.fr.design.mainframe.alphafine.preview.PluginPreviewPane; +import com.fr.design.mainframe.alphafine.preview.*; import com.fr.design.mainframe.alphafine.search.manager.*; import com.fr.form.main.Form; import com.fr.form.main.FormIO; @@ -75,6 +72,7 @@ public class AlphaFineDialog extends UIDialog { private JPanel searchResultPane; private Point pressedPoint; private UIScrollPane leftSearchResultPane; + private JPanel defaultPane; private JPanel rightSearchResultPane; private AlphaFineList searchResultList; private SearchListModel searchListModel; @@ -344,6 +342,31 @@ public class AlphaFineDialog extends UIDialog { */ private void fireStopLoading() { searchListModel.resetState(); + replaceLeftPane(); + } + + private void refreshContainer() { + validate(); + repaint(); + revalidate(); + } + + /** + * 重置结果面板 + */ + private void replaceLeftPane() { + if (searchListModel.getSize() > 0 && defaultPane != null) { + searchResultPane.remove(defaultPane); + defaultPane = null; + searchResultPane.add(leftSearchResultPane, BorderLayout.WEST); + refreshContainer(); + } else if (searchListModel.getSize() == 0 && defaultPane == null){ + defaultPane = new DefaulPane(); + searchResultPane.remove(leftSearchResultPane); + searchResultPane.add(defaultPane, BorderLayout.WEST); + refreshContainer(); + } + } /** @@ -625,7 +648,6 @@ public class AlphaFineDialog extends UIDialog { */ private void initGlobalListener() { initAWTEventListener(); - initMouseListener(); } /** diff --git a/designer/src/com/fr/design/mainframe/alphafine/images/no_result.png b/designer/src/com/fr/design/mainframe/alphafine/images/no_result.png new file mode 100644 index 000000000..cd3d803af Binary files /dev/null and b/designer/src/com/fr/design/mainframe/alphafine/images/no_result.png differ diff --git a/designer/src/com/fr/design/mainframe/alphafine/preview/DefaulPane.java b/designer/src/com/fr/design/mainframe/alphafine/preview/DefaulPane.java new file mode 100644 index 000000000..88572a002 --- /dev/null +++ b/designer/src/com/fr/design/mainframe/alphafine/preview/DefaulPane.java @@ -0,0 +1,37 @@ +package com.fr.design.mainframe.alphafine.preview; + +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.general.IOUtils; +import com.fr.general.Inter; + +import javax.swing.*; +import java.awt.*; + +/** + * Created by XiaXiang on 2017/8/14. + */ +public class DefaulPane extends JPanel { + private static final Font NAME = new Font("Song_TypeFace", 0, 14); + public DefaulPane() { + setLayout(new BorderLayout()); + setBackground(Color.WHITE); + setBorder(BorderFactory.createEmptyBorder(135, 80, 135, 80)); + UILabel image = new UILabel(); + image.setPreferredSize(new Dimension(150, 111)); + image.setHorizontalAlignment(SwingConstants.CENTER); + image.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); + image.setIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/no_result.png")); + UILabel description = new UILabel(Inter.getLocText("FR-Designer-AlphaFine_NO_Result")); + description.setForeground(AlphaFineConstants.MEDIUM_GRAY); + description.setFont(NAME); + description.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); + description.setHorizontalAlignment(SwingConstants.CENTER); + this.add(image, BorderLayout.CENTER); + this.add(description, BorderLayout.SOUTH); + UILabel splitLine = new UILabel(); + splitLine.setBackground(AlphaFineConstants.GRAY); + splitLine.setPreferredSize(new Dimension(10, AlphaFineConstants.CONTENT_HEIGHT)); + this.add(splitLine, BorderLayout.EAST); + } +} diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 669a5d06a..34857cbec 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2125,4 +2125,5 @@ FS-Designer_DS_Filter_Odd_Tip=Odd_Tip FS-Designer_DS_Filter_Even_Tip=Even_Tip FS-Designer_DS_Filter_Specify_Tip=Specify_Tip FR-Designer_Mobile-Height-Percent=Max Percent -FR-Designer_Mobile-Height-Limit=Height Limit \ No newline at end of file +FR-Designer_Mobile-Height-Limit=Height Limit +FR-Designer-AlphaFine_NO_Result=no search result \ 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 7be21d0be..e92cb1119 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 @@ -2121,4 +2121,5 @@ FR-Designer_Coords_And_Size=Coords & Size FR-Designer_Barcode_Size=Barcode_Size FS-Designer_DS_Filter_Odd_Tip=Odd_Tip FS-Designer_DS_Filter_Even_Tip=Even_Tip -FS-Designer_DS_Filter_Specify_Tip=Specify_Tip \ No newline at end of file +FS-Designer_DS_Filter_Specify_Tip=Specify_Tip +FR-Designer-AlphaFine_NO_Result=no search result \ 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 d2bc62f86..19bfad99a 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 @@ -2132,4 +2132,5 @@ FR-Designer_Coords_And_Size=\u5750\u6807\u00B7\u5C3A\u5BF8 FR-Designer_Barcode_Size=\u6761\u5F62\u7801\u5927\u5C0F FS-Designer_DS_Filter_Odd_Tip=\u63D0\u793A\uFF1A\u5E8F\u53F7\u4ECE1\u5F00\u59CB\uFF0C\u9009\u62E9\u4E86\u5947\u6570\u96C6(1,3,5...) FS-Designer_DS_Filter_Even_Tip=\u63D0\u793A\uFF1A\u5E8F\u53F7\u4ECE1\u5F00\u59CB\uFF0C\u9009\u62E9\u4E86\u5076\u6570\u96C6(2,4,6...) -FS-Designer_DS_Filter_Specify_Tip=\u63D0\u793A\uFF1A\u683C\u5F0F\u4E3A1,2-3,5,8\uFF0C\u5E8F\u53F7\u4ECE1\u5F00\u59CB\uFF0C\u5185\u503C\u53C2\u6570$_count_\u8868\u793A\u603B\u4E2A\u6570 \ No newline at end of file +FS-Designer_DS_Filter_Specify_Tip=\u63D0\u793A\uFF1A\u683C\u5F0F\u4E3A1,2-3,5,8\uFF0C\u5E8F\u53F7\u4ECE1\u5F00\u59CB\uFF0C\u5185\u503C\u53C2\u6570$_count_\u8868\u793A\u603B\u4E2A\u6570 +FR-Designer-AlphaFine_NO_Result=\u65E0\u641C\u7D22\u7ED3\u679C \ 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 e0288fbe6..4ae23d014 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 @@ -2125,3 +2125,4 @@ FS-Designer_DS_Filter_Odd_Tip=\u63D0\u793A\uFF1A\u5E8F\u865F\u5F9E1\u958B\u59CB\ FS-Designer_DS_Filter_Even_Tip=\u63D0\u793A\uFF1A\u5E8F\u865F\u5F9E1\u958B\u59CB\uFF0C\u9078\u64C7\u4E86\u5076\u6578\u96C6(2,4,6...) FS-Designer_DS_Filter_Specify_Tip=\u63D0\u793A\uFF1A\u683C\u5F0F\u70BA1,2-3,5,8\uFF0C\u5E8F\u865F\u5F9E1\u958B\u59CB\uFF0C\u5185\u7F6E\u53C3\u6578$_count_\u8868\u793A\u7E02\u500B\u6578 M-New_FormBook=\u65B0\u589E\u6C7A\u7B56\u5831\u8868 +FR-Designer-AlphaFine_NO_Result=\u7121\u641C\u7D22\u7D50\u679C