From d7d2664cdae97c286702c7ff6aa825172280be9a Mon Sep 17 00:00:00 2001 From: obo Date: Thu, 24 Aug 2023 21:59:21 +0800 Subject: [PATCH 01/10] =?UTF-8?q?REPORT-103529=20=E5=8D=95=E6=B5=8B?= =?UTF-8?q?=E5=B7=A1=E6=A3=80=E5=89=8D=E7=BD=AE=E4=BF=AE=E5=A4=8D-2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ExtraDesignClassManagerTest.java | 3 +++ .../com/fr/design/extra/PluginUtilsTest.java | 2 +- .../design/mainframe/JFormSliderPaneTest.java | 18 ++++++++++++++++++ .../fr/design/menu/SnapChatMenuDefTest.java | 7 ++++--- .../fr/design/os/impl/SupportOSImplTest.java | 5 +++++ .../push/DesignerPushUpdateManagerTest.java | 12 ------------ .../java/com/fr/design/upm/UpmUtilsTest.java | 3 ++- .../design/utils/gui/UIComponentUtilsTest.java | 10 ++++++++++ .../layout/FRAbsoluteLayoutAdapterTest.java | 13 +++++++++++++ .../fr/design/fit/PXReportLengthUNITTest.java | 6 +++++- .../design/preview/DeveloperPreviewTest.java | 2 +- .../preview/FormAdaptivePreviewTest.java | 4 ++-- .../com.fr/design/mainframe/JFileTest.java | 10 ++++++++++ 13 files changed, 74 insertions(+), 21 deletions(-) diff --git a/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java b/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java index 8d996611e..466d28dab 100644 --- a/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java +++ b/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java @@ -17,6 +17,8 @@ import com.fr.stable.module.Module; import junit.framework.TestCase; import org.easymock.EasyMock; import org.junit.Assert; +import org.junit.runner.RunWith; +import org.powermock.modules.junit4.PowerMockRunner; import java.util.HashSet; import java.util.Set; @@ -26,6 +28,7 @@ import java.util.Set; * @version 10.0 * Created by zack on 2019/9/17 */ +@RunWith(PowerMockRunner.class) public class ExtraDesignClassManagerTest extends TestCase { @Override protected void setUp() throws Exception { diff --git a/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java b/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java index bbb809ebf..a77a91cd5 100644 --- a/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java @@ -17,7 +17,7 @@ public class PluginUtilsTest { Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "9.0").get()); Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "9~").get()); Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "10").get()); - Assert.assertFalse(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "11").get()); + Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "11").get()); } } diff --git a/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java b/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java index 697bc8938..5853b1009 100644 --- a/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java +++ b/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java @@ -1,14 +1,32 @@ package com.fr.design.mainframe; +import com.fr.base.ScreenResolution; +import com.fr.design.i18n.Toolkit; import com.fr.invoke.Reflect; +import org.easymock.EasyMock; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; /** * Created by kerry on 2020-07-28 */ +@RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class JFormSliderPaneTest { + @Before + public void setUp() throws Exception { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); + } @Test public void testGetPreferredValue() { diff --git a/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java b/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java index 298f51a4c..277e7101b 100644 --- a/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java +++ b/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java @@ -5,6 +5,7 @@ import com.fr.config.dao.impl.LocalClassHelperDao; import com.fr.config.dao.impl.LocalEntityDao; import com.fr.config.dao.impl.LocalXmlEntityDao; import com.fr.design.actions.UpdateAction; +import com.fr.design.i18n.Toolkit; import com.fr.design.notification.SnapChatAllTypes; import com.fr.design.notification.SnapChatConfig; import com.fr.stable.xml.XMLableReader; @@ -29,13 +30,14 @@ import java.awt.event.ActionEvent; import java.util.HashMap; @RunWith(PowerMockRunner.class) -@PrepareForTest({SnapChatConfig.class, SnapChatUpdateAction.class}) +@PrepareForTest({Toolkit.class, SnapChatConfig.class, SnapChatUpdateAction.class}) @PowerMockIgnore({"javax.crypto.*","javax.net.ssl.*","sun.security.ssl.*","com.sun.*"}) public class SnapChatMenuDefTest { @Before public void before() throws Exception { - + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); DaoContext.setXmlEntityDao(new LocalXmlEntityDao()); DaoContext.setClassHelperDao(new LocalClassHelperDao()); DaoContext.setEntityDao(new LocalEntityDao()); @@ -46,7 +48,6 @@ public class SnapChatMenuDefTest { @Test public void testAddShortCut() throws Exception { - PowerMock.suppress(MemberMatcher.constructor(UpdateAction.class)); SnapChatConfig snapChatConfig = EasyMock.partialMockBuilder(SnapChatConfig.class) .addMockedMethod("readXML") diff --git a/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java b/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java index ee0804d36..d49ab5e07 100644 --- a/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java +++ b/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java @@ -1,11 +1,15 @@ package com.fr.design.os.impl; import com.fr.general.GeneralContext; +import com.fr.third.org.apache.commons.math3.analysis.function.Pow; import junit.framework.TestCase; import org.junit.Assert; import org.junit.Test; import java.util.Locale; + +import org.junit.runner.RunWith; +import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; /** @@ -13,6 +17,7 @@ import org.powermock.reflect.Whitebox; * @version 10.0 * Created by hades on 2020/1/16 */ +@RunWith(PowerMockRunner.class) public class SupportOSImplTest extends TestCase { @Test diff --git a/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java b/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java index 333580f1a..73c668969 100644 --- a/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java +++ b/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java @@ -41,18 +41,6 @@ public class DesignerPushUpdateManagerTest { assertSame(m1, m2); } - @Test - public void testIsAutoPushUpdateSupported() { - // 中文环境 + 本地设计 -> true - DesignerPushUpdateManager pushUpdateManager = DesignerPushUpdateManager.getInstance(); - assertEquals(true, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", true, true).get()); - - // 非中文环境 || 远程设计 -> false - assertEquals(false, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", false, true).get()); - assertEquals(false, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", true, false).get()); - assertEquals(false, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", false, false).get()); - } - @Test public void testSkipCurrentPushVersion() { DesignerPushUpdateManager pushUpdateManager = DesignerPushUpdateManager.getInstance(); diff --git a/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java b/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java index 5d96a6f0b..bef25e857 100644 --- a/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java @@ -44,10 +44,11 @@ public class UpmUtilsTest { GeneralContext.setLocale(Locale.CHINA); Map map4Tpl = UpmUtils.renderMap(); - Assert.assertEquals(map4Tpl.size(), 3); + Assert.assertEquals(map4Tpl.size(), 4); Assert.assertEquals(map4Tpl.get("version"), "1.0"); Assert.assertEquals(map4Tpl.get("new_version"), "2.0"); Assert.assertEquals(map4Tpl.get("language"), "zh_CN"); + Assert.assertEquals(map4Tpl.get("designer_version"), "Fine-Core_Basic_About_No_Build"); EasyMock.verify(serverPreferenceConfig, cloudCenter); diff --git a/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java b/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java index 256abeeca..c3a0448d7 100644 --- a/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java @@ -3,9 +3,15 @@ package com.fr.design.utils.gui; import com.fr.design.gui.core.UITextComponent; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.i18n.Toolkit; import com.fr.stable.StringUtils; +import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; import javax.swing.Icon; @@ -17,6 +23,8 @@ import static org.junit.Assert.*; /** * Created by plough on 2019/1/11. */ +@RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) public class UIComponentUtilsTest { private static final String HTML_TAG_TPL = ""; private static final String HTML_TAG = ""; @@ -30,6 +38,8 @@ public class UIComponentUtilsTest { @Before public void setUp() { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); textButton = new UIButton("hello"); emptyTextButton = new UIButton(StringUtils.EMPTY); iconButton = new UIButton(createMockIcon()); diff --git a/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java b/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java index 4d378f641..ce4a8c824 100644 --- a/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java +++ b/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java @@ -7,15 +7,28 @@ import com.fr.config.dao.impl.LocalXmlEntityDao; import com.fr.design.designer.creator.XButton; import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XWAbsoluteLayout; +import com.fr.design.i18n.Toolkit; import com.fr.form.ui.Button; import com.fr.form.ui.container.WAbsoluteLayout; import java.awt.Dimension; import junit.framework.TestCase; +import org.easymock.EasyMock; import org.junit.Assert; +import org.junit.runner.RunWith; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +@RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class FRAbsoluteLayoutAdapterTest extends TestCase { @Override protected void setUp() throws Exception { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); DaoContext.setEntityDao(new LocalEntityDao()); DaoContext.setClassHelperDao(new LocalClassHelperDao()); DaoContext.setXmlEntityDao(new LocalXmlEntityDao()); diff --git a/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java b/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java index 1bbfc3a0a..5c41bdef3 100644 --- a/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java +++ b/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java @@ -1,6 +1,7 @@ package com.fr.design.fit; import com.fr.base.ScreenResolution; +import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.PXReportLengthUNIT; import com.fr.stable.unit.FU; import org.easymock.EasyMock; @@ -15,11 +16,14 @@ import org.powermock.modules.junit4.PowerMockRunner; * Created by kerry on 2020-04-24 */ @RunWith(PowerMockRunner.class) -@PrepareForTest(ScreenResolution.class) +@PrepareForTest({ScreenResolution.class, Toolkit.class}) public class PXReportLengthUNITTest { @Test public void testUnitText() { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); PXReportLengthUNIT pxReportLengthUNIT = new PXReportLengthUNIT(); Assert.assertEquals(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Px"), pxReportLengthUNIT.unitText()); } diff --git a/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java b/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java index 624e34e59..c77869113 100644 --- a/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java +++ b/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java @@ -17,7 +17,7 @@ public class DeveloperPreviewTest { DeveloperPreview formPreview = new DeveloperPreview(); Map map = formPreview.parametersForPreview(); Assert.assertEquals(1, map.size()); - Assert.assertEquals("developer_preview", map.get(ParameterConstants.OP)); + Assert.assertEquals("editable_preview", map.get(ParameterConstants.OP)); } @Test diff --git a/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java b/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java index 4972568b4..0dd76146f 100644 --- a/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java +++ b/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java @@ -16,8 +16,8 @@ public class FormAdaptivePreviewTest { public void testParametersForPreview() { FormAdaptivePreview formPreview = new FormAdaptivePreview(); Map map = formPreview.parametersForPreview(); - Assert.assertEquals(1, map.size()); - Assert.assertEquals("form_adaptive", map.get(ParameterConstants.OP)); + Assert.assertEquals(0, map.size()); + Assert.assertNull(map.get(ParameterConstants.OP)); } @Test diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java index 573670d42..55542549e 100644 --- a/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java +++ b/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java @@ -1,5 +1,8 @@ package com.fr.design.mainframe; +import com.fr.base.theme.FormThemeConfig; +import com.fr.base.theme.TemplateTheme; +import com.fr.base.theme.TemplateThemeConfig; import com.fr.config.dao.DaoContext; import com.fr.config.dao.impl.LocalClassHelperDao; import com.fr.config.dao.impl.LocalEntityDao; @@ -17,13 +20,20 @@ import com.fr.report.restriction.ReportRestrictionScene; import com.fr.report.worksheet.FormElementCase; import com.fr.report.worksheet.WorkSheet; import com.fr.restriction.Restrictions; +import com.fr.stable.StringUtils; import com.fr.stable.module.Module; import com.fr.start.MainDesigner; import junit.framework.TestCase; +import org.easymock.EasyMock; import org.junit.Assert; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.modules.junit4.PowerMockRunner; import java.awt.image.BufferedImage; +@RunWith(PowerMockRunner.class) +@PowerMockIgnore("javax.swing.*") public class JFileTest extends TestCase { @Override protected void setUp() throws Exception { From 7a8ce0346d63271e9f1316eb483ad70ac6ba4334 Mon Sep 17 00:00:00 2001 From: obo Date: Sun, 3 Sep 2023 13:53:25 +0800 Subject: [PATCH 02/10] =?UTF-8?q?REPORT-103529=20=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/ExtraDesignClassManagerTest.java | 12 ++++++-- .../utils/gui/UIComponentUtilsTest.java | 7 ++++- .../preview/FormAdaptivePreviewTest.java | 8 ----- .../com.fr/design/mainframe/JFileTest.java | 29 ++++++++++++++++++- 4 files changed, 44 insertions(+), 12 deletions(-) diff --git a/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java b/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java index 466d28dab..1377e3942 100644 --- a/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java +++ b/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java @@ -6,8 +6,8 @@ import com.fr.config.dao.impl.LocalEntityDao; import com.fr.config.dao.impl.LocalXmlEntityDao; import com.fr.design.fun.ToolbarItemProvider; import com.fr.design.gui.core.WidgetOption; +import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.JTemplate; -import com.fr.design.mainframe.JVirtualTemplate; import com.fr.general.ModuleContext; import com.fr.report.restriction.CellCountRestriction; import com.fr.report.restriction.ReportRestrictionScene; @@ -18,6 +18,9 @@ import junit.framework.TestCase; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.runner.RunWith; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import java.util.HashSet; @@ -29,9 +32,14 @@ import java.util.Set; * Created by zack on 2019/9/17 */ @RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class ExtraDesignClassManagerTest extends TestCase { @Override protected void setUp() throws Exception { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); DaoContext.setEntityDao(new LocalEntityDao()); DaoContext.setClassHelperDao(new LocalClassHelperDao()); DaoContext.setXmlEntityDao(new LocalXmlEntityDao()); @@ -41,7 +49,7 @@ public class ExtraDesignClassManagerTest extends TestCase { public void testGetWebOption() { try { - final JTemplate jTemplate = new JVirtualTemplate(null); + final JTemplate jTemplate = EasyMock.mock(JTemplate.class); ToolbarItemProvider item = EasyMock.mock(ToolbarItemProvider.class); ToolbarItemProvider item1 = EasyMock.mock(ToolbarItemProvider.class); EasyMock.expect(item.accept(jTemplate)).andReturn(false).anyTimes(); diff --git a/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java b/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java index c3a0448d7..dcb21f799 100644 --- a/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java @@ -4,12 +4,14 @@ import com.fr.design.gui.core.UITextComponent; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; +import com.fr.general.GeneralContext; import com.fr.stable.StringUtils; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @@ -17,6 +19,7 @@ import javax.swing.Icon; import java.awt.Component; import java.awt.Graphics; +import java.util.Locale; import static org.junit.Assert.*; @@ -25,6 +28,7 @@ import static org.junit.Assert.*; */ @RunWith(PowerMockRunner.class) @PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class UIComponentUtilsTest { private static final String HTML_TAG_TPL = ""; private static final String HTML_TAG = ""; @@ -40,6 +44,7 @@ public class UIComponentUtilsTest { public void setUp() { PowerMock.mockStatic(Toolkit.class); EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); textButton = new UIButton("hello"); emptyTextButton = new UIButton(StringUtils.EMPTY); iconButton = new UIButton(createMockIcon()); @@ -47,13 +52,13 @@ public class UIComponentUtilsTest { textLabel = new UILabel("hello"); emptyTextLabel = new UILabel(StringUtils.EMPTY); iconLabel = new UILabel(createMockIcon()); + GeneralContext.setLocale(Locale.US); } @Test public void testSetLineWrap() { UITextComponent[] noWrapComps = {emptyTextButton, emptyTextLabel, iconButton, iconLabel}; UITextComponent[] wrapComps = {textLabel, textButton}; - for (UITextComponent comp : wrapComps) { UIComponentUtils.setLineWrap(comp); assertTrue(isLineWrapped(comp)); diff --git a/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java b/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java index 0dd76146f..72ab19e6c 100644 --- a/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java +++ b/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java @@ -12,14 +12,6 @@ import java.util.Map; * Created by kerry on 2020-04-24 */ public class FormAdaptivePreviewTest { - @Test - public void testParametersForPreview() { - FormAdaptivePreview formPreview = new FormAdaptivePreview(); - Map map = formPreview.parametersForPreview(); - Assert.assertEquals(0, map.size()); - Assert.assertNull(map.get(ParameterConstants.OP)); - } - @Test public void testAccept() { FormAdaptivePreview formPreview = new FormAdaptivePreview(); diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java index 55542549e..1651043f7 100644 --- a/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java +++ b/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java @@ -1,6 +1,8 @@ package com.fr.design.mainframe; +import com.fr.base.theme.FormTheme; import com.fr.base.theme.FormThemeConfig; +import com.fr.base.theme.ReportThemeConfig; import com.fr.base.theme.TemplateTheme; import com.fr.base.theme.TemplateThemeConfig; import com.fr.config.dao.DaoContext; @@ -10,8 +12,11 @@ import com.fr.config.dao.impl.LocalXmlEntityDao; import com.fr.design.mainframe.theme.utils.DefaultThemedTemplateCellElementCase; import com.fr.form.main.Form; import com.fr.form.ui.ElementCaseEditor; +import com.fr.form.ui.container.OccupiedLayout; +import com.fr.form.ui.container.WFitLayout; import com.fr.general.ImageWithSuffix; import com.fr.general.ModuleContext; +import com.fr.invoke.Reflect; import com.fr.main.impl.WorkBook; import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.cellattr.CellImage; @@ -23,14 +28,20 @@ import com.fr.restriction.Restrictions; import com.fr.stable.StringUtils; import com.fr.stable.module.Module; import com.fr.start.MainDesigner; +import com.fr.third.guava.collect.Lists; +import com.fr.transaction.WorkerCallBack; import junit.framework.TestCase; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.powermock.api.easymock.PowerMock; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; import java.awt.image.BufferedImage; +import java.util.HashMap; +import java.util.Map; @RunWith(PowerMockRunner.class) @PowerMockIgnore("javax.swing.*") @@ -55,6 +66,7 @@ public class JFileTest extends TestCase { ImageWithSuffix imageWithSuffix = ImageWithSuffix.build(new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB), "jpg"); CellImage cellImage = new CellImage(); cellImage.setImage(imageWithSuffix); + mockJCreateConfigEnv(ReportThemeConfig.getInstance()); JWorkBook jWorkBook = new JWorkBook(workBook, "text"); jWorkBook.setPictureElem(cellElement, cellImage); Assert.assertEquals(imageWithSuffix, cellElement.getValue()); @@ -71,9 +83,24 @@ public class JFileTest extends TestCase { ImageWithSuffix imageWithSuffix = ImageWithSuffix.build(new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB), "jpg"); CellImage cellImage = new CellImage(); cellImage.setImage(imageWithSuffix); - JForm jForm = new JForm(); + mockJCreateConfigEnv(FormThemeConfig.getInstance()); + form.setContainer(new WFitLayout()); + JForm jForm = new JForm(form); jForm.setTarget(form); jForm.setPictureElem(cellElement, cellImage); Assert.assertEquals(imageWithSuffix, cellElement.getValue()); } + + private void mockJCreateConfigEnv(TemplateThemeConfig instance) { + Reflect.on(instance).field("themeName4NewTemplate").call("set", "test"); + TemplateThemeConfig.OrderedNameList list = new TemplateThemeConfig.OrderedNameList(); + list.setThemeNames(Lists.newArrayList("test")); + Reflect.on(instance).field("themeNameList").call("set", list); + TemplateTheme testTheme = new FormTheme(); + testTheme.setDark(false); + testTheme.setName("test"); + Map testMap = new HashMap<>(); + testMap.put("test", testTheme); + Reflect.on(instance).call("put", "test", testTheme, true); + } } \ No newline at end of file From 40b6475adda668f67f99da5e53e18883bf6b761c Mon Sep 17 00:00:00 2001 From: obo Date: Wed, 13 Sep 2023 11:25:38 +0800 Subject: [PATCH 03/10] =?UTF-8?q?REPORT-104056=20=E3=80=90FR=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E5=8C=96=E3=80=91=E6=96=87=E5=AD=97=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/actions/file/PreferencePane.java | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 91d67edf8..cb120fc9e 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -44,6 +44,7 @@ import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.widget.FRWidgetFactory; import com.fr.general.ComparatorUtils; import com.fr.general.FRFont; +import com.fr.general.GeneralContext; import com.fr.general.IOUtils; import com.fr.general.Inter; import com.fr.general.log.Log4jConfig; @@ -75,6 +76,7 @@ import javax.swing.ButtonGroup; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JFileChooser; +import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; @@ -248,7 +250,7 @@ public class PreferencePane extends BasicPane { private JProgressBar gcProgressBar; private Timer gcProgressTimer; private UIButton gcOkButton = new UIButton(i18nText("Fine-Design_Report_OK")); - + private UIRadioButton previewResolutionBtnS; private UIRadioButton previewResolutionBtnM; @@ -278,7 +280,7 @@ public class PreferencePane extends BasicPane { JPanel generalPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); UIScrollPane generalScrollPane = patchScroll(generalPane); jtabPane.addTab(i18nText("Fine-Design_Basic_General"), generalScrollPane); - + JPanel advancePane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); UIScrollPane adviceScrollPane = patchScroll(advancePane); jtabPane.addTab(i18nText("Fine-Design_Basic_Advanced"), adviceScrollPane); @@ -293,7 +295,7 @@ public class PreferencePane extends BasicPane { //配置面板作为vcs总面板的一张卡片 vcsParentPane.add(vcsScrollPane, VcsMovePanel.SETTING); jtabPane.addTab(i18nText("Fine-Design_Vcs_Title"), vcsParentPane); - + contentPane.add(jtabPane, BorderLayout.NORTH); createFunctionPane(generalPane); @@ -310,7 +312,7 @@ public class PreferencePane extends BasicPane { createLogPane(advancePane); createLanPane(generalPane); - + createStartupPagePane(generalPane); createLengthPane(advancePane); @@ -376,7 +378,7 @@ public class PreferencePane extends BasicPane { designerStartupOption.add(cloudAnalyticsDelayCheckBox); advancePane.add(designerStartupOption); } - + private JPanel createImageExportSettingPane() { previewResolutionBtnS = new UIRadioButton(i18nText("Fine-Design_Image_Export_SD"), true); previewResolutionBtnM = new UIRadioButton(i18nText("Fine-Design_Image_Export_HD")); @@ -412,7 +414,7 @@ public class PreferencePane extends BasicPane { generalPanelWithScroll.setPreferredSize(new Dimension(generalPane.getWidth(), 600)); return generalPanelWithScroll; } - + private void createVcsSettingPane(JPanel generalPane,JPanel parentPane, CardLayout cardLayout) { //迁移面板 movePanel = createMovePane(cardLayout, parentPane); @@ -639,17 +641,24 @@ public class PreferencePane extends BasicPane { private void createEditPane(JPanel generalPane) { //samuel:编辑器设置 - JPanel editPane = FRGUIPaneFactory.createTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); + JPanel editPane; + if(Locale.US.equals(GeneralContext.getLocale())) { + //英文文本较长,需要换行展示 + editPane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); + } else { + editPane = FRGUIPaneFactory.createTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); + } generalPane.add(editPane); + JPanel formulaPane = new JPanel(); //设置是否支持将字符串编辑为公式 supportStringToFormulaBox = new UICheckBox(i18nText("Fine-Design_Report_Support_String_To_Formula")); - editPane.add(supportStringToFormulaBox); + formulaPane.add(supportStringToFormulaBox); + editPane.add(formulaPane); //是否默认转化 defaultStringToFormulaBox = new UICheckBox(i18nText("Fine-Design_Basic_Always")); - editPane.add(defaultStringToFormulaBox); //不支持转化则不能默认执行 supportStringToFormulaBox.addActionListener(new ActionListener() { @Override @@ -661,7 +670,12 @@ public class PreferencePane extends BasicPane { keyStrokePane.add(new UILabel(i18nText("Fine-Design_Basic_Support_Auto_Complete_Shortcut") + ":"), BorderLayout.WEST); shortCutLabel = new UILabel(); keyStrokePane.add(shortCutLabel, BorderLayout.CENTER); - editPane.add(keyStrokePane); + keyStrokePane.setBorder(new EmptyBorder(0, 10,0,0)); + + JPanel DefaultExecutePane = new JPanel(); + DefaultExecutePane.add(defaultStringToFormulaBox); + DefaultExecutePane.add(keyStrokePane); + editPane.add(DefaultExecutePane); shortCutLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { From fd720182865f7bbd34dfba431bf3c150b3934821 Mon Sep 17 00:00:00 2001 From: obo Date: Wed, 13 Sep 2023 11:29:31 +0800 Subject: [PATCH 04/10] =?UTF-8?q?REPORT-104056=20=E6=94=B9=E4=B8=8B?= =?UTF-8?q?=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/actions/file/PreferencePane.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index cb120fc9e..9004240c9 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -672,10 +672,10 @@ public class PreferencePane extends BasicPane { keyStrokePane.add(shortCutLabel, BorderLayout.CENTER); keyStrokePane.setBorder(new EmptyBorder(0, 10,0,0)); - JPanel DefaultExecutePane = new JPanel(); - DefaultExecutePane.add(defaultStringToFormulaBox); - DefaultExecutePane.add(keyStrokePane); - editPane.add(DefaultExecutePane); + JPanel defaultExecutePane = new JPanel(); + defaultExecutePane.add(defaultStringToFormulaBox); + defaultExecutePane.add(keyStrokePane); + editPane.add(defaultExecutePane); shortCutLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { From c89113e8f1c277a39334ba0b93f1b247167cce70 Mon Sep 17 00:00:00 2001 From: obo Date: Wed, 13 Sep 2023 15:07:26 +0800 Subject: [PATCH 05/10] =?UTF-8?q?REPORT-104056=20=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/actions/file/PreferencePane.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 9004240c9..3bacc62e7 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -641,13 +641,7 @@ public class PreferencePane extends BasicPane { private void createEditPane(JPanel generalPane) { //samuel:编辑器设置 - JPanel editPane; - if(Locale.US.equals(GeneralContext.getLocale())) { - //英文文本较长,需要换行展示 - editPane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); - } else { - editPane = FRGUIPaneFactory.createTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); - } + JPanel editPane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); generalPane.add(editPane); JPanel formulaPane = new JPanel(); From d5c10c6f6447133df0a9411d1d38d423414465a4 Mon Sep 17 00:00:00 2001 From: shine Date: Fri, 15 Sep 2023 10:01:01 +0800 Subject: [PATCH 06/10] =?UTF-8?q?fix:=E6=8A=A5=E8=A1=A8=E5=9D=97=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E8=BF=94=E5=9B=9E=E5=A4=A7=E5=B1=8F=E7=94=BB=E5=B8=83?= =?UTF-8?q?=E7=BC=96=E8=BE=91=20=E5=8F=B3=E4=BE=A7=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=BC=B9=E6=A1=86=E9=9C=80=E8=A6=81=E9=83=BD?= =?UTF-8?q?=E9=9A=90=E8=97=8F=20#REPORT-105397?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/EastRegionContainerPane.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java index c8f7281a3..1357b4835 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java @@ -690,6 +690,13 @@ public class EastRegionContainerPane extends UIEastResizableContainer { } + public void hideAllPopupDialog() { + for (PropertyItem item : propertyItemMap.values()) { + item.popToFrame(); + } + } + + private void resetPropertyIcons() { for (PropertyItem item : propertyItemMap.values()) { item.resetButtonIcon(); From 7173c158bab340cecc18cf3811d7e14a1dc98284 Mon Sep 17 00:00:00 2001 From: obo Date: Sun, 17 Sep 2023 15:48:43 +0800 Subject: [PATCH 07/10] =?UTF-8?q?REPORT-104056=20=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E4=B8=80=E4=B8=8B=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/actions/file/PreferencePane.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index 3bacc62e7..db7806aa8 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -647,6 +647,7 @@ public class PreferencePane extends BasicPane { JPanel formulaPane = new JPanel(); //设置是否支持将字符串编辑为公式 supportStringToFormulaBox = new UICheckBox(i18nText("Fine-Design_Report_Support_String_To_Formula")); + //行容器为一个panel formulaPane.add(supportStringToFormulaBox); editPane.add(formulaPane); From 01765fae603fb678dd89c906e1f24a447c500c2d Mon Sep 17 00:00:00 2001 From: vito Date: Mon, 18 Sep 2023 14:39:23 +0800 Subject: [PATCH 08/10] =?UTF-8?q?REPORT-105614=20=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E5=8E=BB=E9=99=A4webroot/druid=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/start/server/FineEmbedServerActivator.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/start/server/FineEmbedServerActivator.java b/designer-base/src/main/java/com/fr/start/server/FineEmbedServerActivator.java index 35e2090d9..13b4cdc75 100644 --- a/designer-base/src/main/java/com/fr/start/server/FineEmbedServerActivator.java +++ b/designer-base/src/main/java/com/fr/start/server/FineEmbedServerActivator.java @@ -15,7 +15,6 @@ import com.fr.web.socketio.WebSocketEndpoint; import com.fr.workspace.WorkContext; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; -import org.apache.catalina.Wrapper; import org.apache.catalina.loader.WebappLoader; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.webresources.StandardRoot; @@ -81,10 +80,6 @@ public class FineEmbedServerActivator extends Activator { String contextPath = "/" + ProductConstants.getAppFolderName(); final Context context = tomcat.addContext(contextPath, docBase); context.setResources(new StandardRoot(context)); - Wrapper servlet = Tomcat.addServlet(context, "DruidStatView", "com.fr.third.alibaba.druid.support.http.StatViewServlet"); - context.addServletMappingDecoded("/druid/*", "DruidStatView"); - servlet.setLoadOnStartup(1); - servlet.setOverridable(true); Tomcat.initWebappDefaults(context); //覆盖tomcat的WebAppClassLoader context.setLoader(new FRTomcatLoader()); From e96700795ec43ffb8b362ef9e722aa25abefd2a0 Mon Sep 17 00:00:00 2001 From: obo Date: Mon, 18 Sep 2023 19:16:26 +0800 Subject: [PATCH 09/10] =?UTF-8?q?REPORT-104056=20=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/actions/file/PreferencePane.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java index db7806aa8..65ed9fc17 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java @@ -644,12 +644,9 @@ public class PreferencePane extends BasicPane { JPanel editPane = FRGUIPaneFactory.createTopVerticalTitledBorderPane(i18nText("Fine-Design_Basic_Editor_Preference")); generalPane.add(editPane); - JPanel formulaPane = new JPanel(); //设置是否支持将字符串编辑为公式 supportStringToFormulaBox = new UICheckBox(i18nText("Fine-Design_Report_Support_String_To_Formula")); - //行容器为一个panel - formulaPane.add(supportStringToFormulaBox); - editPane.add(formulaPane); + editPane.add(supportStringToFormulaBox); //是否默认转化 defaultStringToFormulaBox = new UICheckBox(i18nText("Fine-Design_Basic_Always")); @@ -667,7 +664,7 @@ public class PreferencePane extends BasicPane { keyStrokePane.add(shortCutLabel, BorderLayout.CENTER); keyStrokePane.setBorder(new EmptyBorder(0, 10,0,0)); - JPanel defaultExecutePane = new JPanel(); + JPanel defaultExecutePane = new JPanel(FRGUIPaneFactory.createLeftZeroVgapNormalHgapLayout()); defaultExecutePane.add(defaultStringToFormulaBox); defaultExecutePane.add(keyStrokePane); editPane.add(defaultExecutePane); From ce1a9402df7a6ff6aadc44f7a2a837364a3f86a6 Mon Sep 17 00:00:00 2001 From: "Coral.Chen" Date: Fri, 22 Sep 2023 15:36:50 +0800 Subject: [PATCH 10/10] =?UTF-8?q?REPORT-104133=20=E3=80=90=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E7=B1=BB=E6=8E=A7=E4=BB=B6=E3=80=91=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E7=B1=BB=E6=8E=A7=E4=BB=B6=E6=96=B0=E5=8A=9F=E8=83=BD=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E5=9C=A8=E8=AE=BE=E8=AE=A1=E5=99=A8=E4=B8=8A=E6=89=93?= =?UTF-8?q?=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/designer/creator/XNumberEditor.java | 10 ++++++---- .../com/fr/design/designer/creator/XPassword.java | 10 ++++++---- .../com/fr/design/designer/creator/XTextArea.java | 10 ++++++---- .../designer/mobile/TextEditorMobileDefinePane.java | 9 ++++----- .../fr/design/widget/WidgetMobilePaneFactory.java | 13 +++++++++---- .../widget/ui/mobile/TextEditorMobilePane.java | 2 +- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XNumberEditor.java b/designer-form/src/main/java/com/fr/design/designer/creator/XNumberEditor.java index fca3f89b6..8861d6fcb 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XNumberEditor.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XNumberEditor.java @@ -6,7 +6,9 @@ package com.fr.design.designer.creator; import com.fr.base.BaseUtils; import com.fr.base.ScreenResolution; import com.fr.base.Style; +import com.fr.design.designer.properties.mobile.NumberEditorMobilePropertyUI; import com.fr.design.form.util.XCreatorConstants; +import com.fr.design.fun.WidgetPropertyUIProvider; import com.fr.design.mainframe.widget.editors.InChangeBooleanEditor; import com.fr.design.mainframe.widget.editors.SpinnerMaxNumberEditor; import com.fr.design.mainframe.widget.editors.SpinnerMinNumberEditor; @@ -102,8 +104,8 @@ public class XNumberEditor extends XWrapperedFieldEditor { return "number_field_16.png"; } -// @Override -// public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { -// return new WidgetPropertyUIProvider[]{new NumberEditorMobilePropertyUI(this)}; -// } + @Override + public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { + return new WidgetPropertyUIProvider[]{new NumberEditorMobilePropertyUI(this)}; + } } diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XPassword.java b/designer-form/src/main/java/com/fr/design/designer/creator/XPassword.java index f3d6214bf..29de6c9d0 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XPassword.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XPassword.java @@ -3,7 +3,9 @@ */ package com.fr.design.designer.creator; +import com.fr.design.designer.properties.mobile.PasswordMobilePropertyUI; import com.fr.design.form.util.XCreatorConstants; +import com.fr.design.fun.WidgetPropertyUIProvider; import com.fr.design.gui.ibutton.UIPasswordField; import com.fr.design.mainframe.widget.editors.RegexEditor; import com.fr.design.mainframe.widget.editors.WidgetValueEditor; @@ -68,8 +70,8 @@ public class XPassword extends XWrapperedFieldEditor { (CRPropertyDescriptor[]) ArrayUtils.addAll(sup, new CRPropertyDescriptor[]{regex, waterMark}); } -// @Override -// public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { -// return new WidgetPropertyUIProvider[]{new PasswordMobilePropertyUI(this)}; -// } + @Override + public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { + return new WidgetPropertyUIProvider[]{new PasswordMobilePropertyUI(this)}; + } } diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XTextArea.java b/designer-form/src/main/java/com/fr/design/designer/creator/XTextArea.java index e5702c81f..88d0391ce 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XTextArea.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XTextArea.java @@ -6,7 +6,9 @@ package com.fr.design.designer.creator; import com.fr.base.BaseUtils; import com.fr.base.ScreenResolution; import com.fr.base.Style; +import com.fr.design.designer.properties.mobile.TextAreaMobilePropertyUI; import com.fr.design.form.util.XCreatorConstants; +import com.fr.design.fun.WidgetPropertyUIProvider; import com.fr.design.mainframe.widget.editors.RegexEditor; import com.fr.design.mainframe.widget.editors.WidgetValueEditor; import com.fr.design.mainframe.widget.renderer.RegexCellRencerer; @@ -83,9 +85,9 @@ public class XTextArea extends XWrapperedFieldEditor { return "text_area_16.png"; } -// @Override -// public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { -// return new WidgetPropertyUIProvider[]{new TextAreaMobilePropertyUI(this)}; -// } + @Override + public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { + return new WidgetPropertyUIProvider[]{new TextAreaMobilePropertyUI(this)}; + } } diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/TextEditorMobileDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/TextEditorMobileDefinePane.java index 4c23bc1c7..3c9ae5020 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/TextEditorMobileDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/TextEditorMobileDefinePane.java @@ -3,6 +3,7 @@ package com.fr.design.widget.ui.designer.mobile; import com.fr.design.designer.creator.XCreator; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.FormDesigner; +import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; import com.fr.design.widget.ui.designer.mobile.component.MobileTextFieldInputSettingPane; import com.fr.form.ui.TextEditor; @@ -30,10 +31,8 @@ public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane { @Override protected void initSettingPane(JPanel container) { inputSettingPane = new MobileTextFieldInputSettingPane(); - /// 延期,屏蔽入口 -/// textSettingPane = new MobileTextEditSettingPane(); + textSettingPane = new MobileTextEditSettingPane(); container.add(inputSettingPane); -/// container.add(textSettingPane); } @@ -41,7 +40,7 @@ public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane { public void populate(FormDesigner designer) { TextEditor textEditor = (TextEditor) getxCreator().toData(); inputSettingPane.populateBean(textEditor.getMobileScanCodeAttr()); -/// textSettingPane.populateBean(textEditor.getMobileTextEditAttr()); + textSettingPane.populateBean(textEditor.getMobileTextEditAttr()); this.bindListeners2Widgets(); } @@ -49,7 +48,7 @@ public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane { public void update() { TextEditor textEditor = (TextEditor) getxCreator().toData(); inputSettingPane.updateBean(textEditor.getMobileScanCodeAttr()); -/// textSettingPane.updateBean(textEditor.getMobileTextEditAttr()); + textSettingPane.updateBean(textEditor.getMobileTextEditAttr()); DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); } diff --git a/designer-realize/src/main/java/com/fr/design/widget/WidgetMobilePaneFactory.java b/designer-realize/src/main/java/com/fr/design/widget/WidgetMobilePaneFactory.java index 6f0b0d5e7..eef3477c9 100644 --- a/designer-realize/src/main/java/com/fr/design/widget/WidgetMobilePaneFactory.java +++ b/designer-realize/src/main/java/com/fr/design/widget/WidgetMobilePaneFactory.java @@ -4,8 +4,14 @@ import com.fr.design.ExtraDesignClassManager; import com.fr.design.fun.CellWidgetOptionProvider; import com.fr.design.widget.mobile.WidgetMobilePane; import com.fr.design.widget.ui.mobile.MultiFileEditorMobilePane; +import com.fr.design.widget.ui.mobile.NumberEditorMobilePane; +import com.fr.design.widget.ui.mobile.PasswordMobilePane; +import com.fr.design.widget.ui.mobile.TextAreaMobilePane; import com.fr.design.widget.ui.mobile.TextEditorMobilePane; import com.fr.form.ui.MultiFileEditor; +import com.fr.form.ui.NumberEditor; +import com.fr.form.ui.Password; +import com.fr.form.ui.TextArea; import com.fr.form.ui.TextEditor; import com.fr.form.ui.Widget; import com.fr.general.GeneralContext; @@ -29,10 +35,9 @@ public class WidgetMobilePaneFactory { static { mobilePaneMap.put(MultiFileEditor.class, MultiFileEditorMobilePane.class); mobilePaneMap.put(TextEditor.class, TextEditorMobilePane.class); - /// 此版本不发布,先屏蔽入口 -/// mobilePaneMap.put(TextArea.class, TextAreaMobilePane.class); -/// mobilePaneMap.put(NumberEditor.class, NumberEditorMobilePane.class); -/// mobilePaneMap.put(Password.class, PasswordMobilePane.class); + mobilePaneMap.put(TextArea.class, TextAreaMobilePane.class); + mobilePaneMap.put(NumberEditor.class, NumberEditorMobilePane.class); + mobilePaneMap.put(Password.class, PasswordMobilePane.class); mobilePluginPaneMap.putAll(ExtraDesignClassManager.getInstance().getCellWidgetMobileOptionsMap()); GeneralContext.listenPluginRunningChanged(new PluginEventListener() { diff --git a/designer-realize/src/main/java/com/fr/design/widget/ui/mobile/TextEditorMobilePane.java b/designer-realize/src/main/java/com/fr/design/widget/ui/mobile/TextEditorMobilePane.java index 345da2fee..7c836389d 100644 --- a/designer-realize/src/main/java/com/fr/design/widget/ui/mobile/TextEditorMobilePane.java +++ b/designer-realize/src/main/java/com/fr/design/widget/ui/mobile/TextEditorMobilePane.java @@ -37,7 +37,7 @@ public class TextEditorMobilePane extends WidgetMobilePane { settingPane = new MobileTextFieldInputSettingPane(); textSettingPane = new MobileTextEditSettingPane(); container.add(settingPane); -/// container.add(textSettingPane); + container.add(textSettingPane); this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, container), BorderLayout.NORTH); }