diff --git a/build.9.0.gradle b/build.9.0.gradle index 43b7bcf26..b31565813 100644 --- a/build.9.0.gradle +++ b/build.9.0.gradle @@ -15,7 +15,7 @@ task appletJar<<{ fileset(dir:"${basicDir}/report/build/classes/main") fileset(dir:"${basicDir}/platform/build/classes/main") } - unjar(src:"${libDir}/3rd.jar",dest:"./tmp") + unjar(src:"${libDir}/fr-third-9.0.jar",dest:"./tmp") unjar(src:"${libDir}/servlet-api.jar",dest:"./tmp") jar(jarfile:"build/libs/fr-applet-9.0.jar"){ fileset(dir:"build/classes"){ diff --git a/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java b/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java index bbc87fa78..0f1c38bd2 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java @@ -75,7 +75,9 @@ public class ElementCasePaneDelegate extends ElementCasePane { EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(RolesAlreadyEditedPane.getInstance()); return; } - CellWidgetPropertyPane.getInstance().populate(ElementCasePaneDelegate.this); + if (DesignerContext.getDesignerFrame().getSelectedJTemplate() != null) { + CellWidgetPropertyPane.getInstance().populate(ElementCasePaneDelegate.this); + } CellElementPropertyPane.getInstance().populate(ElementCasePaneDelegate.this); QuickEditorRegion.getInstance().populate(getCurrentEditor()); JTemplate editingTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); diff --git a/designer/src/com/fr/design/mainframe/ReportFloatPane.java b/designer/src/com/fr/design/mainframe/ReportFloatPane.java index e75960042..c7cb6871f 100644 --- a/designer/src/com/fr/design/mainframe/ReportFloatPane.java +++ b/designer/src/com/fr/design/mainframe/ReportFloatPane.java @@ -80,7 +80,9 @@ public class ReportFloatPane extends JPanel { insertFloatMenu.setIconPath("com/fr/design/images/control/addPopup.png"); JTemplate editingTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); ElementCasePaneDelegate elementCasePaneDelegate = (ElementCasePaneDelegate) editingTemplate.getCurrentElementCasePane(); - refreshInsertFloatMenu(elementCasePaneDelegate); + if (elementCasePaneDelegate != null) { + refreshInsertFloatMenu(elementCasePaneDelegate); + } } private UIButton createButtonUI() { diff --git a/designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java b/designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java index 43847170a..40e870047 100644 --- a/designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java +++ b/designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java @@ -11,6 +11,8 @@ import com.fr.json.JSONException; import com.fr.json.JSONObject; import com.fr.license.function.VT4FR; import com.fr.log.LogHandler; +import com.fr.regist.FRCoreContext; +import com.fr.regist.LicenseListener; import com.fr.stable.CodeUtils; import com.fr.stable.EnvChangedListener; import com.fr.stable.ProductConstants; @@ -52,6 +54,14 @@ public class ErrorInfoUploader { // 这个控制没啥意义, 主要在于宣传功能. licSupport = VT4FR.AlphaFine.support(); + FRCoreContext.listenerLicense(new LicenseListener() { + + @Override + public void onChange() { + + licSupport = VT4FR.AlphaFine.support(); + } + }); } private ErrorInfoUploader() { diff --git a/designer/src/com/fr/poly/PolyDesignUI.java b/designer/src/com/fr/poly/PolyDesignUI.java index b915e1ad8..855f68a1e 100644 --- a/designer/src/com/fr/poly/PolyDesignUI.java +++ b/designer/src/com/fr/poly/PolyDesignUI.java @@ -209,10 +209,10 @@ public class PolyDesignUI extends ComponentUI { private void paintAddingData(Graphics g, AddingData addingData) { BlockCreator comp = addingData.getCreator(); - int x = (int) (addingData.getCurrentX()*time); - int y = (int) (addingData.getCurrentY()*time); - int width = (int) (comp.getWidth()*time); - int height = (int) (comp.getHeight()*time); + int x = (int) (addingData.getCurrentX() / time); + int y = (int) (addingData.getCurrentY() / time); + int width = comp.getWidth(); + int height = comp.getHeight(); paintCreator(g, comp, x, y, width, height); } diff --git a/designer/src/com/fr/start/Designer.java b/designer/src/com/fr/start/Designer.java index d84492381..35ace6e6a 100644 --- a/designer/src/com/fr/start/Designer.java +++ b/designer/src/com/fr/start/Designer.java @@ -1,6 +1,7 @@ package com.fr.start; import com.fr.base.BaseUtils; +import com.fr.base.Env; import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.actions.core.ActionFactory; @@ -447,7 +448,8 @@ public class Designer extends BaseDesigner { InformationCollector collector = InformationCollector.getInstance(); collector.collectStopTime(); collector.saveXMLFile(); - ServletContext.fireServletStopListener(); + Env currentEnv = FRContext.getCurrentEnv(); + currentEnv.doWhenServerShutDown(); } -} \ No newline at end of file +} diff --git a/designer_base/src/com/fr/design/extra/PluginUtils.java b/designer_base/src/com/fr/design/extra/PluginUtils.java index 7ef3eaaad..f4403c7fc 100644 --- a/designer_base/src/com/fr/design/extra/PluginUtils.java +++ b/designer_base/src/com/fr/design/extra/PluginUtils.java @@ -195,7 +195,7 @@ public class PluginUtils { JSONArray resultJSONArray = JSONArray.create(); for(int i = 0; i < oriJSONArray.length(); i++){ JSONObject jo = oriJSONArray.getJSONObject(i); - String envVersion = jo.optString("env-version"); + String envVersion = jo.optString("envversion"); if(isCompatibleCurrentEnv(envVersion)){ resultJSONArray.put(jo); } diff --git a/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java index d3bfb9662..ec65e6b2d 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java @@ -37,7 +37,8 @@ public abstract class UIControlPane extends BasicPane implements UnrepeatedNameH protected CardLayout cardLayout; protected JPanel cardPane; protected BasePlot plot; - private static final int TOP_TOOLBAR_HEIGHT = 24; + private static final int TOP_TOOLBAR_HEIGHT = 20; + private static final int TOP_TOOLBAR_WIDTH = 156; // 可能因为用了tablelayout,要比其他地方多一个像素,看起来才正常 public UIControlPane() { this.initComponentPane(); @@ -191,6 +192,7 @@ public abstract class UIControlPane extends BasicPane implements UnrepeatedNameH g2.fillRect(0, 0, c.getWidth(), c.getHeight()); } }); + topToolBar.setBorder(null); topToolBar.setLayout(new BorderLayout()); ShortCut addItem = addItemShortCut().getShortCut(); addItem.intoJToolBar(topToolBar); @@ -206,10 +208,10 @@ public abstract class UIControlPane extends BasicPane implements UnrepeatedNameH protected JPanel getLeftTopPane (UIToolbar topToolBar) { double p = TableLayout.PREFERRED; double f = TableLayout.FILL; - double[] columnSize = { p, f}; + double[] columnSize = { p, f, TOP_TOOLBAR_WIDTH}; double[] rowSize = {TOP_TOOLBAR_HEIGHT}; Component[][] components = new Component[][]{ - new Component[]{new UILabel(getAddItemText()), topToolBar}, + new Component[]{new UILabel(getAddItemText()), new JPanel(), topToolBar}, }; return TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize); } diff --git a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java index 279873f0b..1881bd02c 100644 --- a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java +++ b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java @@ -925,7 +925,8 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta } else { this.addAndActivateJTemplate(jt); } - + //REPORT-5084:激活后刷新一下右側面板 + jt.refreshEastPropertiesPane(); } /** diff --git a/designer_base/src/com/fr/design/module/DesignModule.java b/designer_base/src/com/fr/design/module/DesignModule.java index 2830566c2..a82fd032e 100644 --- a/designer_base/src/com/fr/design/module/DesignModule.java +++ b/designer_base/src/com/fr/design/module/DesignModule.java @@ -95,7 +95,7 @@ public abstract class DesignModule extends TopModule { new NameObjectCreator(Inter.getLocText("FR-Designer_Email"), EmailJavaScript.class, EmailPane.class), new NameObjectCreator(Inter.getLocText("Hyperlink-Web_link"), WebHyperlink.class, WebHyperlinkPane.ChartNoRename.class), new NameObjectCreator(Inter.getLocText("JavaScript-Dynamic_Parameters"), ParameterJavaScript.class, ParameterJavaScriptPane.ChartNoRename.class), - new NameObjectCreator("FR-Designer_JavaScript", JavaScriptImpl.class, JavaScriptImplPane.ChartNoRename.class) + new NameObjectCreator(Inter.getLocText("FR-Designer_JavaScript"), JavaScriptImpl.class, JavaScriptImplPane.ChartNoRename.class) }; } diff --git a/designer_base/src/com/fr/design/present/dict/FormulaDictPane.java b/designer_base/src/com/fr/design/present/dict/FormulaDictPane.java index bcc41943f..98a2c9986 100644 --- a/designer_base/src/com/fr/design/present/dict/FormulaDictPane.java +++ b/designer_base/src/com/fr/design/present/dict/FormulaDictPane.java @@ -49,7 +49,7 @@ public class FormulaDictPane extends FurtherBasicBeanPane { int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; UILabel tag = new UILabel(Inter.getLocText("FR-Designer-Formula_Dictionary_Display_Examples_Html")); - tag.setForeground(new Color(51, 51, 52)); + tag.setForeground(new Color(143, 143, 146)); tag.setPreferredSize(new Dimension(225, 80)); JPanel t = new JPanel(new BorderLayout()); t.add(tag, BorderLayout.CENTER); diff --git a/designer_base/src/com/fr/design/present/dict/TableDataDictPane.java b/designer_base/src/com/fr/design/present/dict/TableDataDictPane.java index 566591a1e..fd7c14da1 100644 --- a/designer_base/src/com/fr/design/present/dict/TableDataDictPane.java +++ b/designer_base/src/com/fr/design/present/dict/TableDataDictPane.java @@ -51,6 +51,7 @@ import java.util.List; public class TableDataDictPane extends FurtherBasicBeanPane implements Previewable, UIObserver { private static final int BEGIN = 1; private static final int END = 10; + private static final int VGAP = 24; private static final long serialVersionUID = -5469742115988153206L; private static final int SELECTED_NO_TABLEDATA = -2; public TableDataComboBox tableDataNameComboBox; @@ -111,7 +112,7 @@ public class TableDataDictPane extends FurtherBasicBeanPane new Component[]{new UILabel(Inter.getLocText("FR-Designer_Display_Value") + " ", UILabel.LEFT), valueDictPane}, }; - JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, VGAP, LayoutConstants.VGAP_MEDIUM); this.setLayout(new BorderLayout()); this.add(panel, BorderLayout.CENTER); } diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index 5be4889c7..d299a8cdd 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -3,6 +3,8 @@ */ package com.fr.start; +import com.fr.base.ConfigManagerCreatorProxy; +import com.fr.base.ConfigManagerFactory; import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.ExtraDesignClassManager; @@ -62,6 +64,7 @@ public abstract class BaseDesigner extends ToolBarMenuDock { public BaseDesigner(String[] args) { RestartHelper.deleteRecordFilesWhenStart(); + ConfigManagerFactory.registerConfigManagerProxy(new ConfigManagerCreatorProxy()); //启动core BuildContext.setBuildFilePath(buildPropertiesPath()); Register.load(); diff --git a/designer_base/src/com/fr/start/SplashWindow.java b/designer_base/src/com/fr/start/SplashWindow.java index f2df42981..aa83c34f7 100644 --- a/designer_base/src/com/fr/start/SplashWindow.java +++ b/designer_base/src/com/fr/start/SplashWindow.java @@ -1,46 +1,40 @@ package com.fr.start; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Image; - -import javax.swing.ImageIcon; -import javax.swing.JFrame; -import javax.swing.JPanel; - import com.fr.base.BaseUtils; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.stable.OperatingSystem; import com.sun.awt.AWTUtilities; +import javax.swing.ImageIcon; +import javax.swing.JFrame; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Image; + + public class SplashWindow extends JFrame { private SplashPane splash = null; @SuppressWarnings("LeakingThisInConstructor") - public SplashWindow(SplashPane splashPane) { + public SplashWindow(SplashPane splashPane) { // alex:必须设置这个属性为true,才可以用透明背景 System.setProperty("sun.java2d.noddraw", "true"); this.setIconImage(BaseUtils.readImage("/com/fr/base/images/oem/logo.png")); - JPanel defaultPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - this.setContentPane(defaultPane); - - defaultPane.setBackground(new Color(0, 0, 0, 0)); //slash pane this.splash = splashPane; - splash.setBackground(null); - Image image = splash.getSplashImage(); - ImageIcon imageIcon = new ImageIcon(image); + if (splash != null) { - defaultPane.add(splash, BorderLayout.CENTER); + splash.setBackground(null); + Image image = splash.getSplashImage(); + ImageIcon imageIcon = new ImageIcon(image); + this.setContentPane(splash); this.setSize(new Dimension(imageIcon.getIconWidth(), imageIcon.getIconHeight())); } else { - defaultPane.add(new UILabel("Error, please contract: support@finereport.com"), BorderLayout.CENTER); + this.setContentPane(new UILabel("Error, please contract: support@finereport.com")); this.setSize(new Dimension(480, 320)); } @@ -50,9 +44,9 @@ public class SplashWindow extends JFrame { //使窗体背景透明 if (OperatingSystem.isWindows()) { - this.setBackground(new Color(0,0,0,0)); + this.setBackground(new Color(0, 0, 0, 0)); } - + GUICoreUtils.centerWindow(this); this.setVisible(true); } @@ -62,8 +56,8 @@ public class SplashWindow extends JFrame { */ public void dispose() { super.dispose(); - if(this.splash != null){ - this.splash.releaseTimer(); + if (this.splash != null) { + this.splash.releaseTimer(); } } diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index 0512a3d82..d11733e0c 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -69,7 +69,6 @@ import com.fr.plugin.chart.map.MapIndependentVanChartInterface; import com.fr.plugin.chart.map.VanChartMapPlot; import com.fr.plugin.chart.multilayer.MultiPieIndependentVanChartInterface; import com.fr.plugin.chart.multilayer.VanChartMultiPiePlot; -import com.fr.plugin.chart.phantom.VanChartPhantomService; import com.fr.plugin.chart.pie.PieIndependentVanChartInterface; import com.fr.plugin.chart.radar.RadarIndependentVanChartInterface; import com.fr.plugin.chart.radar.VanChartRadarPlot; @@ -151,19 +150,16 @@ public class ChartTypeInterfaceManager implements ExtraChartDesignClassManagerPr allCharts[i] = rowChart; } - + //异步加载图片 new Thread(new Runnable() { - + @Override public void run() { - - VanChartPhantomService.startPhantomService(); - initAllChartsDemoImage(allCharts); } }).start(); - + return child; }