From 805dc0695945a451ae27ec36403cd42601431751 Mon Sep 17 00:00:00 2001 From: vito Date: Mon, 18 Apr 2016 02:06:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=95=86=E5=BA=97=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/server/PluginManagerAction.java | 4 +- .../src/com/fr/design/dialog/BasicDialog.java | 1 - .../src/com/fr/design/dialog/BasicPane.java | 24 ---------- .../com/fr/design/extra/PluginWebBridge.java | 18 +++++++- .../src/com/fr/design/extra/ShopDialog.java | 26 +++++++++++ .../fr/design/extra/exe/searchExecutor.java | 46 +++++++++++++++++++ 6 files changed, 91 insertions(+), 28 deletions(-) create mode 100644 designer_base/src/com/fr/design/extra/ShopDialog.java create mode 100644 designer_base/src/com/fr/design/extra/exe/searchExecutor.java diff --git a/designer_base/src/com/fr/design/actions/server/PluginManagerAction.java b/designer_base/src/com/fr/design/actions/server/PluginManagerAction.java index 4225f0c4f3..b6e3e25c08 100644 --- a/designer_base/src/com/fr/design/actions/server/PluginManagerAction.java +++ b/designer_base/src/com/fr/design/actions/server/PluginManagerAction.java @@ -6,6 +6,7 @@ import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.UIDialog; import com.fr.design.extra.PluginManagerPane; import com.fr.design.extra.PluginWebBridge; +import com.fr.design.extra.ShopDialog; import com.fr.design.mainframe.DesignerContext; import com.fr.design.menu.MenuKeySet; import com.fr.general.Inter; @@ -30,8 +31,7 @@ public class PluginManagerAction extends UpdateAction { @Override public void actionPerformed(ActionEvent e) { final PluginManagerPane managerPane = new PluginManagerPane(); - //// TODO: 16/4/11 重新写下这个界面窗口. - BasicDialog dlg = managerPane.showCustomSizeWindow(DesignerContext.getDesignerFrame(), null, BasicDialog.LARGE_SHOP); + UIDialog dlg = new ShopDialog(DesignerContext.getDesignerFrame(),managerPane); PluginWebBridge.getHelper().setDialogHandle(dlg); dlg.setVisible(true); } diff --git a/designer_base/src/com/fr/design/dialog/BasicDialog.java b/designer_base/src/com/fr/design/dialog/BasicDialog.java index a1f2785cfd..703b192055 100644 --- a/designer_base/src/com/fr/design/dialog/BasicDialog.java +++ b/designer_base/src/com/fr/design/dialog/BasicDialog.java @@ -10,7 +10,6 @@ public abstract class BasicDialog extends UIDialog { public static final Dimension MEDIUM = new Dimension(600, 400); public static final Dimension DEFAULT = new Dimension(660, 600); public static final Dimension LARGE = new Dimension(900, 600); - public static final Dimension LARGE_SHOP = new Dimension(900, 760); public static final Dimension CHART = new Dimension(760, 560); public static final Dimension MAP_SIZE = new Dimension(760, 450); public static final Dimension UPDATE_ONLINE_SIZE = new Dimension(600,300); diff --git a/designer_base/src/com/fr/design/dialog/BasicPane.java b/designer_base/src/com/fr/design/dialog/BasicPane.java index 09190f20fb..9bc96f6439 100644 --- a/designer_base/src/com/fr/design/dialog/BasicPane.java +++ b/designer_base/src/com/fr/design/dialog/BasicPane.java @@ -171,30 +171,6 @@ public abstract class BasicPane extends JPanel { return dg; } - /** - * 显示自定义大小的窗口 - * - * @param window 窗口 - * @param l 对话框监听器 - * @param dimension 窗口大小 - * @return 对话框 - */ - public BasicDialog showCustomSizeWindow(Window window, DialogActionListener l, Dimension dimension) { - BasicDialog dg; - if (window instanceof Frame) { - dg = new DIALOG((Frame) window); - } else { - dg = new DIALOG((Dialog) window); - } - if (l != null) { - dg.addDialogActionListener(l); - } - dg.setBasicDialogSize(dimension); - GUICoreUtils.centerWindow(dg); - dg.setResizable(false); - return dg; - } - /** * 显示窗口 * diff --git a/designer_base/src/com/fr/design/extra/PluginWebBridge.java b/designer_base/src/com/fr/design/extra/PluginWebBridge.java index ce6dd8fba3..378e904590 100644 --- a/designer_base/src/com/fr/design/extra/PluginWebBridge.java +++ b/designer_base/src/com/fr/design/extra/PluginWebBridge.java @@ -31,6 +31,8 @@ public class PluginWebBridge { private UIDialog uiDialog; + public static final String PLUGIN_SHOP = "http://127.0.0.1:8080/ShopServer?pg=plist"; + public static PluginWebBridge getHelper() { if (helper != null) { return helper; @@ -196,7 +198,7 @@ public class PluginWebBridge { public String getPluginFromStore(String category, String seller, String fee) { - StringBuilder url = new StringBuilder("http://127.0.0.1:8080/ShopServer?pg=plist"); + StringBuilder url = new StringBuilder(PLUGIN_SHOP); if (StringUtils.isNotBlank(category)) { url.append("&cid=").append(category.split("-")[1]); } @@ -217,6 +219,20 @@ public class PluginWebBridge { return resText == null ? StringUtils.EMPTY : resText; } + /** + * 搜索在线插件 + * + * @param keyword 关键字 + */ + public String searchPlugin(String keyword) { + try { + HttpClient httpClient = new HttpClient(PluginWebBridge.PLUGIN_SHOP + "&keyword=" + keyword); + return httpClient.getResponseText(); + } catch (Exception e) { + FRLogger.getLogger().error(e.getMessage()); + } + return StringUtils.EMPTY; + } public void showRestartMessage(String message){ int rv = JOptionPane.showOptionDialog( diff --git a/designer_base/src/com/fr/design/extra/ShopDialog.java b/designer_base/src/com/fr/design/extra/ShopDialog.java new file mode 100644 index 0000000000..e394c0c1f5 --- /dev/null +++ b/designer_base/src/com/fr/design/extra/ShopDialog.java @@ -0,0 +1,26 @@ +package com.fr.design.extra; + +import com.fr.design.dialog.BasicPane; +import com.fr.design.dialog.UIDialog; +import com.fr.design.utils.gui.GUICoreUtils; + +import java.awt.*; + +/** + * Created by vito on 16/4/18. + */ +public class ShopDialog extends UIDialog{ + private static final Dimension DEFAULT_SHOP = new Dimension(900, 760); + + public ShopDialog(Frame frame, BasicPane pane) { + super(frame, pane,false); + setSize(DEFAULT_SHOP); + GUICoreUtils.centerWindow(this); + setResizable(false); + } + + @Override + public void checkValid() throws Exception { + + } +} diff --git a/designer_base/src/com/fr/design/extra/exe/searchExecutor.java b/designer_base/src/com/fr/design/extra/exe/searchExecutor.java new file mode 100644 index 0000000000..afa4971d57 --- /dev/null +++ b/designer_base/src/com/fr/design/extra/exe/searchExecutor.java @@ -0,0 +1,46 @@ +package com.fr.design.extra.exe; + +import com.fr.design.extra.PluginWebBridge; +import com.fr.design.extra.Process; +import com.fr.general.FRLogger; +import com.fr.general.http.HttpClient; +import com.fr.stable.StringUtils; + +/** + * Created by vito on 16/4/18. + */ +public class SearchExecutor implements Executor { + private String result; + private String keyword; + + public SearchExecutor(String keyword) { + this.keyword = keyword; + } + + @Override + public String getTaskFinishMessage() { + return result; + } + + @Override + public Command[] getCommands() { + return new Command[]{ + new Command() { + @Override + public String getExecuteMessage() { + return StringUtils.EMPTY; + } + + @Override + public void run(Process process) { + try { + HttpClient httpClient = new HttpClient(PluginWebBridge.PLUGIN_SHOP + "&keyword=" + keyword); + result = httpClient.getResponseText(); + } catch (Exception e) { + FRLogger.getLogger().error(e.getMessage()); + } + } + } + }; + } +}