diff --git a/designer_base/src/com/fr/design/actions/help/AboutPane.java b/designer_base/src/com/fr/design/actions/help/AboutPane.java index 9c8953597..1155f4e92 100644 --- a/designer_base/src/com/fr/design/actions/help/AboutPane.java +++ b/designer_base/src/com/fr/design/actions/help/AboutPane.java @@ -47,7 +47,7 @@ public class AboutPane extends JPanel { BoxCenterAlignmentCopyablePane buildCopyPane = new BoxCenterAlignmentCopyablePane( getBuildTitle(), - GeneralUtils.readBuildNO(), + GeneralUtils.readFullBuildNO(), new String[]{ Inter.getLocText("FR-Designer-Basic_Copy_Build_NO"), Inter.getLocText("FR-Designer-Basic_Copy_Build_NO_OK") diff --git a/designer_base/src/com/fr/design/gui/style/BackgroundSpecialPane.java b/designer_base/src/com/fr/design/gui/style/BackgroundSpecialPane.java index 43c1d133c..ca538e944 100644 --- a/designer_base/src/com/fr/design/gui/style/BackgroundSpecialPane.java +++ b/designer_base/src/com/fr/design/gui/style/BackgroundSpecialPane.java @@ -1,6 +1,12 @@ package com.fr.design.gui.style; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import com.fr.design.ExtraDesignClassManager; import com.fr.design.event.UIObserverListener; +import com.fr.design.fun.BackgroundQuickUIProvider; import com.fr.design.mainframe.backgroundpane.*; /** @@ -40,11 +46,26 @@ public class BackgroundSpecialPane extends BackgroundPane{ fireStateChanged(); } }); - return new BackgroundQuickPane[] { - new NullBackgroundQuickPane(), - colorBackgroundPane, - imageBackgroundPane, - gradientPane - }; + //hugh:表单支持背景接口 + List kinds = new ArrayList(); + + kinds.add(new NullBackgroundQuickPane()); + kinds.add(colorBackgroundPane); + kinds.add(imageBackgroundPane); + kinds.add(gradientPane); + + Set providers = ExtraDesignClassManager.getInstance().getArray(BackgroundQuickUIProvider.MARK_STRING); + for (BackgroundQuickUIProvider provider : providers) { + BackgroundQuickPane newTypePane = provider.appearanceForBackground(); + newTypePane.registerChangeListener(new UIObserverListener() { + @Override + public void doChange() { + fireStateChanged(); + } + }); + kinds.add(newTypePane); + } + + return kinds.toArray(new BackgroundQuickPane[kinds.size()]); } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/module/DesignModule.java b/designer_base/src/com/fr/design/module/DesignModule.java index 14ed20aea..f04aa5474 100644 --- a/designer_base/src/com/fr/design/module/DesignModule.java +++ b/designer_base/src/com/fr/design/module/DesignModule.java @@ -33,6 +33,7 @@ import java.util.Set; * 所有设计器模块的父类 */ public abstract class DesignModule extends TopModule { + public static final String LOCALE_FILE_PATH = "com/fr/design/locale/designer"; public void start() { super.start(); App[] apps = apps4TemplateOpener(); @@ -62,7 +63,7 @@ public abstract class DesignModule extends TopModule { * @return 国际化文件路径 */ public String[] getLocaleFile() { - return new String[]{"com/fr/design/locale/designer"}; + return new String[]{LOCALE_FILE_PATH}; } public Class[] actionsForInsertCellElement() { diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index 412b65727..905d44ba9 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -16,15 +16,13 @@ import com.fr.design.fun.GlobalListenerProvider; import com.fr.design.mainframe.DesignerFrame; import com.fr.design.mainframe.TemplatePane; import com.fr.design.mainframe.toolbar.ToolBarMenuDock; +import com.fr.design.module.DesignModule; import com.fr.design.utils.DesignUtils; import com.fr.env.SignIn; import com.fr.file.FILE; import com.fr.file.FILEFactory; import com.fr.file.FileFILE; -import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogger; -import com.fr.general.Inter; -import com.fr.general.ModuleContext; +import com.fr.general.*; import com.fr.plugin.PluginCollector; import com.fr.stable.*; @@ -66,6 +64,9 @@ public abstract class BaseDesigner extends ToolBarMenuDock { //下面这两句的位置不能随便调换,因为会影响语言切换的问题 initLanguage(); + // 先加载设计器的国际化文件 + Inter.loadLocaleFile(GeneralContext.getLocale(), DesignModule.LOCALE_FILE_PATH); + SplashWindow splashWindow = new SplashWindow(createSplashPane()); if (args != null) { for (String arg : args) {