diff --git a/designer-base/src/main/java/com/fr/design/event/DesignerOpenedListener.java b/designer-base/src/main/java/com/fr/design/event/DesignerOpenedListener.java index 77c6bcf8f..c14fe870f 100644 --- a/designer-base/src/main/java/com/fr/design/event/DesignerOpenedListener.java +++ b/designer-base/src/main/java/com/fr/design/event/DesignerOpenedListener.java @@ -9,5 +9,5 @@ public interface DesignerOpenedListener extends EventListener { /** * Invoked when the target of the listener has changed the rpt content. */ - public void designerOpened(); + void designerOpened(); } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java index e10de8ab4..277ca93eb 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java @@ -308,16 +308,6 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta } } }); - this.addDesignerOpenedListener(new DesignerOpenedListener() { - - @Override - public void designerOpened() { - - HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setComposite(); - reCalculateFrameSize(); - HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().doResize(); - } - }); this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); this.setVisible(false); this.setExtendedState(JFrame.MAXIMIZED_BOTH); @@ -326,7 +316,14 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta initMenuPane(); this.progressDialog = new ProgressDialog(this); } - + + public void resizeFrame() { + + HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setComposite(); + reCalculateFrameSize(); + HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().doResize(); + } + public void closeAuthorityEditing() { DesignModeContext.switchTo(com.fr.design.base.mode.DesignerMode.NORMAL); WestRegionContainerPane.getInstance().replaceDownPane( diff --git a/designer-base/src/main/java/com/fr/start/BaseDesigner.java b/designer-base/src/main/java/com/fr/start/BaseDesigner.java index f88582e66..05d41a1e7 100644 --- a/designer-base/src/main/java/com/fr/start/BaseDesigner.java +++ b/designer-base/src/main/java/com/fr/start/BaseDesigner.java @@ -43,8 +43,6 @@ public abstract class BaseDesigner extends ToolBarMenuDock { } private void init() { - //初始化 - EventDispatcher.fire(ModuleEvent.MajorModuleStarting, Toolkit.i18nText("Fine-Design_Basic_Initializing")); // 初始化look and feel.这个在预加载之前执行是因为lookAndFeel里的东西,预加载时也要用到 DesignUtils.initLookAndFeel(); // 初始化Log Handler @@ -55,11 +53,14 @@ public abstract class BaseDesigner extends ToolBarMenuDock { public void show() { collectUserInformation(); showDesignerFrame(false); - DesignerContext.getDesignerFrame().setVisible(true); + + //TODO: 2019-06-14 这里有啥作用? DesignerContext.getDesignerFrame().refreshEnv(); for (int i = 0; !TemplateTreePane.getInstance().getTemplateFileTree().isTemplateShowing() && i < LOAD_TREE_MAXNUM; i++) { TemplateTreePane.getInstance().getTemplateFileTree().refresh(); } + DesignerContext.getDesignerFrame().setVisible(true); + DesignerContext.getDesignerFrame().resizeFrame(); } diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java index 97bdceda1..539e8359a 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java @@ -1,21 +1,11 @@ package com.fr.start.module; -import com.fr.design.file.HistoryTemplateListCache; -import com.fr.event.Event; -import com.fr.event.Listener; import com.fr.module.Activator; import com.fr.record.analyzer.EnableMetrics; import com.fr.record.analyzer.Metrics; import com.fr.runtime.FineRuntime; -import com.fr.start.DesignerInitial; import com.fr.start.ServerStarter; -import com.fr.start.server.FineEmbedServer; -import com.fr.workspace.Workspace; -import com.fr.workspace.WorkspaceEvent; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; /** * Created by juhaoyu on 2018/1/8. @@ -31,7 +21,6 @@ public class DesignerStartup extends Activator { getSub("parallel").start(); //designer模块启动好后,查看demo browserDemo(); - startSub(DesignerShowActivator.class); startSub(StartFinishActivator.class); FineRuntime.startFinish(); diff --git a/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java b/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java index 72d3217be..c4b1dc0a9 100644 --- a/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java @@ -3,14 +3,17 @@ package com.fr.start.module; import com.fr.design.DesignerEnvManager; import com.fr.design.RestartHelper; import com.fr.design.fun.OemProcessor; +import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.template.info.TemplateInfoCollector; import com.fr.design.utils.DesignUtils; import com.fr.design.utils.DesignerPort; +import com.fr.event.EventDispatcher; import com.fr.general.CloudCenter; import com.fr.general.ComparatorUtils; import com.fr.general.GeneralContext; import com.fr.log.FineLoggerFactory; import com.fr.module.Activator; +import com.fr.module.ModuleEvent; import com.fr.stable.BuildContext; import com.fr.stable.OperatingSystem; import com.fr.stable.ProductConstants; @@ -30,10 +33,10 @@ import java.util.concurrent.Executors; * Created by juhaoyu on 2018/1/8. */ public class PreStartActivator extends Activator { - + @Override public void start() { - + BuildContext.setBuildFilePath("/com/fr/stable/build.properties"); // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); @@ -45,87 +48,98 @@ public class PreStartActivator extends Activator { System.exit(0); return; } - + RestartHelper.deleteRecordFilesWhenStart(); - + preloadResource(); - + SplashContext.getInstance().registerSplash(createSplash()); - + SplashContext.getInstance().show(); - + //初始化 + EventDispatcher.fire(ModuleEvent.MajorModuleStarting, Toolkit.i18nText("Fine-Design_Basic_Initializing")); // 完成初始化 //noinspection ResultOfMethodCallIgnored CloudCenter.getInstance(); - + // 创建监听服务 DesignUtils.createListeningServer(DesignUtils.getPort(), startFileSuffix()); - + initLanguage(); } - + @Override public void stop() { - + } - + private void checkDebugStart() { + if (isDebug()) { setDebugEnv(); } } - - + + /** * 在VM options里加入-Ddebug=true激活 * * @return isDebug */ private boolean isDebug() { + return ComparatorUtils.equals("true", System.getProperty("debug")); } - - + + //端口改一下,环境配置文件改一下。便于启动两个设计器,进行对比调试 private void setDebugEnv() { + DesignUtils.setPort(DesignerPort.DEBUG_MESSAGE_PORT); String debugXMlFilePath = StableUtils.pathJoin( - ProductConstants.getEnvHome(), - ProductConstants.APP_NAME + "Env_debug.xml" + ProductConstants.getEnvHome(), + ProductConstants.APP_NAME + "Env_debug.xml" ); DesignerEnvManager.setEnvFile( - new File(debugXMlFilePath)); + new File(debugXMlFilePath)); } - + private void initLanguage() { //这两句的位置不能随便调换,因为会影响语言切换的问题 GeneralContext.setLocale(DesignerEnvManager.getEnvManager(false).getLanguage()); } - + private String[] startFileSuffix() { + return new String[]{".cpt", ".xls", ".xlsx", ".frm", ".form", ".cht", ".chart"}; } - + private static void preloadResource() { + ExecutorService service = Executors.newCachedThreadPool(); - + service.submit(new Runnable() { + @Override public void run() { + new ImagePreLoader(); } }); - + service.submit(new Runnable() { + @Override public void run() { + TemplateInfoCollector.getInstance(); } }); service.shutdown(); } - + private SplashStrategy createSplash() { + OemProcessor oemProcessor = OemHandler.findOem(); if (oemProcessor != null) { SplashStrategy splashStrategy = null;