Browse Source

1、更改插件窗口以适配插件商店布局设计

2、添加获取插件新的请求
master
vito 8 years ago
parent
commit
cbbf0bf07c
  1. 3
      designer_base/src/com/fr/design/actions/server/PluginManagerAction.java
  2. 1
      designer_base/src/com/fr/design/dialog/BasicDialog.java
  3. 38
      designer_base/src/com/fr/design/dialog/BasicPane.java
  4. 25
      designer_base/src/com/fr/design/extra/PluginWebBridge.java
  5. 5
      designer_base/src/com/fr/design/extra/PluginWebPane.java

3
designer_base/src/com/fr/design/actions/server/PluginManagerAction.java

@ -28,8 +28,7 @@ public class PluginManagerAction extends UpdateAction {
@Override
public void actionPerformed(ActionEvent e) {
final PluginManagerPane managerPane = new PluginManagerPane();
BasicDialog dlg = managerPane.showLargeWindow(DesignerContext.getDesignerFrame(),null);
BasicDialog dlg = managerPane.showCustomSizeWindow(DesignerContext.getDesignerFrame(), null, BasicDialog.LARGE_SHOP);
dlg.setVisible(true);
}

1
designer_base/src/com/fr/design/dialog/BasicDialog.java

@ -10,6 +10,7 @@ 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);

38
designer_base/src/com/fr/design/dialog/BasicPane.java

@ -18,6 +18,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @return 对话框
*/
@ -28,6 +29,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @param l 对话框监听器
* @return 对话框
@ -52,6 +54,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @param isNeedButtonsPane 是否需要确定删除按钮
* @return 对话框
@ -70,10 +73,10 @@ public abstract class BasicPane extends JPanel {
}
/**
* 图表类型选择时 弹出的按钮大小, 不适合用最大最小, 因为图表大小 默认是规定好的, 那么界面大小也是必须配合.
* 并且包括 条件显示中 多个条件的大小
*
* @param window 窗口
* @param l 监听器
* @return 对话框
@ -98,6 +101,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @param l 对话框监听器
* @return 对话框
@ -121,6 +125,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @param l 对话框监听器
* @return 对话框
@ -144,6 +149,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @param l 对话框监听器
* @return 对话框
@ -165,8 +171,33 @@ 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;
}
/**
* 显示窗口
*
* @param window 窗口
* @param l 对话框监听器
* @return 对话框
@ -189,6 +220,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @param l 对话框监听器
* @return 对话框
@ -213,6 +245,7 @@ public abstract class BasicPane extends JPanel {
/**
* 显示窗口
*
* @param window 窗口
* @return 对话框
*/
@ -237,6 +270,7 @@ public abstract class BasicPane extends JPanel {
/**
* 作为名字面板
*
* @return 面板
*/
public NamePane asNamePane() {
@ -326,6 +360,7 @@ public abstract class BasicPane extends JPanel {
/**
* 添加属性改变的监听器
*
* @param listener 监听器
*/
public void addPropertyChangeListener(PropertyChangeAdapter listener) {
@ -357,7 +392,6 @@ public abstract class BasicPane extends JPanel {
}
/**
* init Components
*/

25
designer_base/src/com/fr/design/extra/PluginWebBridge.java

@ -1,6 +1,8 @@
package com.fr.design.extra;
import com.fr.design.extra.exe.*;
import com.fr.general.FRLogger;
import com.fr.general.http.HttpClient;
import com.fr.json.JSONArray;
import com.fr.json.JSONObject;
import com.fr.plugin.Plugin;
@ -157,6 +159,7 @@ public class PluginWebBridge {
/**
* 获取已经安装的插件的数组
*
* @return 已安装的插件组成的数组
*/
public Plugin[] getInstalledPlugins() {
@ -174,4 +177,26 @@ public class PluginWebBridge {
}
return list.toArray(new String[len]);
}
public String getPluginFromStore(String category, String seller, String fee) {
StringBuilder url = new StringBuilder("http://127.0.0.1:8080/ShopServer?pg=plist");
if(StringUtils.isNotBlank(category)){
url.append("&cid=").append(category.split("-")[1]);
}
if(StringUtils.isNotBlank(seller)){
url.append("&seller=").append(seller.split("-")[1]);
}
if(StringUtils.isNotBlank(fee)){
url.append("&fee=").append(fee.split("-")[1]);
}
String resText = null;
try {
HttpClient httpClient = new HttpClient(url.toString());
resText = httpClient.getResponseText();
} catch (Exception e) {
FRLogger.getLogger().error(e.getMessage());
}
return resText == null ? StringUtils.EMPTY : resText;
}
}

5
designer_base/src/com/fr/design/extra/PluginWebPane.java

@ -5,6 +5,7 @@ import javafx.embed.swing.JFXPanel;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebEvent;
import javafx.scene.web.WebView;
@ -24,7 +25,7 @@ public class PluginWebPane extends JFXPanel {
Platform.runLater(new Runnable() {
@Override
public void run() {
Group root = new Group();
BorderPane root = new BorderPane();
Scene scene = new Scene(root);
PluginWebPane.this.setScene(scene);
WebView webView = new WebView();
@ -38,7 +39,7 @@ public class PluginWebPane extends JFXPanel {
});
JSObject obj = (JSObject) webEngine.executeScript("window");
obj.setMember("PluginHelper", PluginWebBridge.getHelper(webEngine));
root.getChildren().add(webView);
root.setCenter(webView);
}
});
}

Loading…
Cancel
Save