From 04e593d0ed3b1387dd3422f54fa7868bd736e1a6 Mon Sep 17 00:00:00 2001 From: hzzz Date: Wed, 26 Jul 2017 09:58:41 +0800 Subject: [PATCH 1/9] d --- .../parameter/ParameterDefinitePane.java | 1 + .../fr/design/parameter/ParameterBridge.java | 8 + .../parameter/ParameterDesignerProvider.java | 1 - .../src/com/fr/start/StartServer.java | 295 +++++++++--------- .../fr/design/designer/creator/XLabel.java | 188 +++++------ .../designer/creator/XLayoutContainer.java | 13 + .../designer/creator/XWParameterLayout.java | 17 +- .../designer/creator/XWidgetCreator.java | 224 ++++++------- .../mainframe/MobileParaWidgetTable.java | 166 +++++----- .../design/mainframe/WidgetPropertyPane.java | 2 +- 10 files changed, 475 insertions(+), 440 deletions(-) diff --git a/designer/src/com/fr/design/parameter/ParameterDefinitePane.java b/designer/src/com/fr/design/parameter/ParameterDefinitePane.java index 300d42c3f..394c6facc 100644 --- a/designer/src/com/fr/design/parameter/ParameterDefinitePane.java +++ b/designer/src/com/fr/design/parameter/ParameterDefinitePane.java @@ -355,6 +355,7 @@ public class ParameterDefinitePane extends JPanel implements ToolBarMenuDockPlus reportParameterAttr.setShowWindow(bridge.isDisplay()); reportParameterAttr.setAlign(bridge.getPosition()); reportParameterAttr.setBackground(bridge.getDataBackground()); + reportParameterAttr.setUseParamsTemplate(bridge.isUseParamsTemplate()); } //这里不用 parameterUI 的原因是考虑到没有控件的时候设置宽度有效果但不保存,只有含有控件才保存属性 paraDesignEditor.getParaTarget().setDesignSize(new Dimension(bridge.getDesignWidth(), diff --git a/designer_base/src/com/fr/design/parameter/ParameterBridge.java b/designer_base/src/com/fr/design/parameter/ParameterBridge.java index f9250c59e..dcae82231 100644 --- a/designer_base/src/com/fr/design/parameter/ParameterBridge.java +++ b/designer_base/src/com/fr/design/parameter/ParameterBridge.java @@ -16,6 +16,12 @@ public interface ParameterBridge { */ public boolean isDelayDisplayContent(); + /** + * 是否启用参数模板 + * @return 显示参数模板界面则返回true,否则返回false + */ + public boolean isUseParamsTemplate(); + /** * 是否显示参数界面 * @return 显示参数界面则返回true,否则返回false @@ -48,4 +54,6 @@ public interface ParameterBridge { public void setDisplay(boolean showWindow); public void setBackground(Background background); + + public void setUseParamsTemplate(boolean isUse); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/parameter/ParameterDesignerProvider.java b/designer_base/src/com/fr/design/parameter/ParameterDesignerProvider.java index 3ba3d610d..e0d2ffb55 100644 --- a/designer_base/src/com/fr/design/parameter/ParameterDesignerProvider.java +++ b/designer_base/src/com/fr/design/parameter/ParameterDesignerProvider.java @@ -68,5 +68,4 @@ public interface ParameterDesignerProvider { void removeSelection(); ParameterBridge getParaComponent(); - } \ No newline at end of file diff --git a/designer_base/src/com/fr/start/StartServer.java b/designer_base/src/com/fr/start/StartServer.java index e21beef7b..2ecf322a1 100644 --- a/designer_base/src/com/fr/start/StartServer.java +++ b/designer_base/src/com/fr/start/StartServer.java @@ -19,6 +19,7 @@ import com.fr.stable.ProductConstants; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; +import com.fr.start.job.favoriteparams.FavoriteParamsJob; import com.fr.start.server.JettyHost; import javax.swing.*; @@ -28,173 +29,173 @@ import java.net.URI; import java.net.URISyntaxException; public class StartServer { - public static boolean NEED_LOAD_ENV = true; - // 原先的jettyHost放在类JettyHost里面,很不方便操作,而且因为存在多个进程的原因, - // 原先的getInstance()方法无多大意义 - private static JettyHost jettyHost = null; - - static { - GeneralContext.addEnvChangedListener(new EnvChangedListener() { - public void envChanged() { - currentEnvChanged(); - } - }); - } + public static boolean NEED_LOAD_ENV = true; + // 原先的jettyHost放在类JettyHost里面,很不方便操作,而且因为存在多个进程的原因, + // 原先的getInstance()方法无多大意义 + private static JettyHost jettyHost = null; + + static { + GeneralContext.addEnvChangedListener(new EnvChangedListener() { + public void envChanged() { + currentEnvChanged(); + } + }); + } /** * 预览Demo * 找默认工作目录,不应该按照名字去找,而应该按照安装路径,因为默认工作目录的名字可能会改变。 */ - public static void browserDemoURL() { - if (ComparatorUtils.equals(StableUtils.getInstallHome(), ".")) {//august:供代码使用 - String web = GeneralContext.getCurrentAppNameOfEnv(); - browserURLWithLocalEnv("http://localhost:" + DesignerEnvManager.getEnvManager().getJettyServerPort() + "/" + web + "/" + ConfigManager.getProviderInstance().getServletMapping() - + "?op=fs"); - return; - } - DesignerEnvManager envManager = DesignerEnvManager.getEnvManager(); - if (!envManager.isCurrentEnvDefault()) { - InformationPane inf = new InformationPane(envManager.getDefaultEnvName()); - inf.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { - @Override - public void doOk() { - try { - SignIn.signIn(DesignerEnvManager.getEnvManager().getDefaultEnv()); - TemplateTreePane.getInstance().refreshDockingView(); - TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); - } catch (Exception e) { - FRContext.getLogger().errorWithServerLevel(e.getMessage()); - } - initDemoServerAndBrowser(); - } - - }).setVisible(true); - } else { - initDemoServerAndBrowser(); - } - } - - private static void initDemoServerAndBrowser() { - if (jettyHost != null) { - if (!jettyHost.isDemoAppLoaded()) { - jettyHost.exit(); - jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); - jettyHost.addAndStartInstallHomeWebApp(); - } - } else { - jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); - jettyHost.addAndStartInstallHomeWebApp(); - } - try { - if (!jettyHost.isStarted()) { - jettyHost.start(); - } - } catch (Exception e) { - FRContext.getLogger().errorWithServerLevel(e.getMessage()); - } finally { - //先访问Demo, 后访问报表, 不需要重置服务器. - NEED_LOAD_ENV = false; - browser("http://localhost:" + DesignerEnvManager.getEnvManager().getJettyServerPort() + "/" + ProjectConstants.WEBAPP_NAME + "/" + ConfigManager.getProviderInstance().getServletMapping() - + "?op=fs"); - } - } + public static void browserDemoURL() { + if (ComparatorUtils.equals(StableUtils.getInstallHome(), ".")) {//august:供代码使用 + String web = GeneralContext.getCurrentAppNameOfEnv(); + browserURLWithLocalEnv("http://localhost:" + DesignerEnvManager.getEnvManager().getJettyServerPort() + "/" + web + "/" + ConfigManager.getProviderInstance().getServletMapping() + + "?op=fs"); + return; + } + DesignerEnvManager envManager = DesignerEnvManager.getEnvManager(); + if (!envManager.isCurrentEnvDefault()) { + InformationPane inf = new InformationPane(envManager.getDefaultEnvName()); + inf.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { + @Override + public void doOk() { + try { + SignIn.signIn(DesignerEnvManager.getEnvManager().getDefaultEnv()); + TemplateTreePane.getInstance().refreshDockingView(); + TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); + } catch (Exception e) { + FRContext.getLogger().errorWithServerLevel(e.getMessage()); + } + initDemoServerAndBrowser(); + } + + }).setVisible(true); + } else { + initDemoServerAndBrowser(); + } + } + + private static void initDemoServerAndBrowser() { + if (jettyHost != null) { + if (!jettyHost.isDemoAppLoaded()) { + jettyHost.exit(); + jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); + jettyHost.addAndStartInstallHomeWebApp(); + } + } else { + jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); + jettyHost.addAndStartInstallHomeWebApp(); + } + try { + if (!jettyHost.isStarted()) { + jettyHost.start(); + } + } catch (Exception e) { + FRContext.getLogger().errorWithServerLevel(e.getMessage()); + } finally { + //先访问Demo, 后访问报表, 不需要重置服务器. + NEED_LOAD_ENV = false; + browser("http://localhost:" + DesignerEnvManager.getEnvManager().getJettyServerPort() + "/" + ProjectConstants.WEBAPP_NAME + "/" + ConfigManager.getProviderInstance().getServletMapping() + + "?op=fs"); + } + } /** * 本地环境浏览url * * @param url 指定路径 */ - public static void browserURLWithLocalEnv(String url) { - try { - if (jettyHost != null) { - if (NEED_LOAD_ENV) { - jettyHost.exit(); - jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); - jettyHost.addAndStartLocalEnvHomeWebApp(); - - } - } else { - jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); - jettyHost.addAndStartLocalEnvHomeWebApp(); - - } - if (!jettyHost.isStarted()) { - jettyHost.start(); - } - } catch (InterruptedException e) { - FRContext.getLogger().errorWithServerLevel(e.getMessage()); - } catch (Exception e) { - FRContext.getLogger().errorWithServerLevel(e.getMessage()); - } finally { - NEED_LOAD_ENV = false; - browser(url); - } - } - - public static JettyHost getInstance() { - // august: 正确的逻辑能保证jettyHost不为null,不然就有bug,不允许这儿加是否等于null判断 - return jettyHost; - } + public static void browserURLWithLocalEnv(String url) { + try { + if (jettyHost != null) { + if (NEED_LOAD_ENV) { + jettyHost.exit(); + jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); + jettyHost.addAndStartLocalEnvHomeWebApp(); + + } + } else { + jettyHost = new JettyHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); + jettyHost.addAndStartLocalEnvHomeWebApp(); + + } + if (!jettyHost.isStarted()) { + jettyHost.start(); + } + } catch (InterruptedException e) { + FRContext.getLogger().errorWithServerLevel(e.getMessage()); + } catch (Exception e) { + FRContext.getLogger().errorWithServerLevel(e.getMessage()); + } finally { + FavoriteParamsJob.create().start(); + browser(url); + } + } + + public static JettyHost getInstance() { + // august: 正确的逻辑能保证jettyHost不为null,不然就有bug,不允许这儿加是否等于null判断 + return jettyHost; + } /** * 运行环境改变事件 */ - public static void currentEnvChanged() { - if (!NEED_LOAD_ENV) { - NEED_LOAD_ENV = true; - } - } - - private static void browser(String uri) { - if (StringUtils.isEmpty(uri)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(uri)); - - } catch (IOException e) { - JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer_Set_default_browser")); - FRContext.getLogger().errorWithServerLevel(e.getMessage(), e); - } catch (URISyntaxException e) { - FRContext.getLogger().errorWithServerLevel(e.getMessage(), e); - } catch (Exception e) { - FRContext.getLogger().errorWithServerLevel(e.getMessage(), e); - FRContext.getLogger().error("Can not open the browser for URL: " + uri); - } - } - - private static class InformationPane extends BasicPane { - private static final long serialVersionUID = 1L; - - public InformationPane(String message) { - this.setLayout(new BorderLayout(10, 10)); - this.setBorder(BorderFactory.createEmptyBorder(15, 5, 5, 5)); - String text; - if (!ComparatorUtils.equals(message, Inter.getLocText(new String[]{"Default", "Utils-Report_Runtime_Env"}))) { - text = new StringBuffer(Inter.getLocText("FR-Designer_Open")) + public static void currentEnvChanged() { + if (!NEED_LOAD_ENV) { + NEED_LOAD_ENV = true; + } + } + + private static void browser(String uri) { + if (StringUtils.isEmpty(uri)) { + FRContext.getLogger().info("The URL is empty!"); + return; + } + try { + Desktop.getDesktop().browse(new URI(uri)); + + } catch (IOException e) { + JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer_Set_default_browser")); + FRContext.getLogger().errorWithServerLevel(e.getMessage(), e); + } catch (URISyntaxException e) { + FRContext.getLogger().errorWithServerLevel(e.getMessage(), e); + } catch (Exception e) { + FRContext.getLogger().errorWithServerLevel(e.getMessage(), e); + FRContext.getLogger().error("Can not open the browser for URL: " + uri); + } + } + + private static class InformationPane extends BasicPane { + private static final long serialVersionUID = 1L; + + public InformationPane(String message) { + this.setLayout(new BorderLayout(10, 10)); + this.setBorder(BorderFactory.createEmptyBorder(15, 5, 5, 5)); + String text; + if (!ComparatorUtils.equals(message, Inter.getLocText(new String[]{"Default", "Utils-Report_Runtime_Env"}))) { + text = new StringBuffer(Inter.getLocText("FR-Designer_Open")) .append(ProductConstants.APP_NAME) .append(Inter.getLocText("FR-Designer_Utils-OpenDemoEnv")) .append(message).append(Inter.getLocText("FR-Designer_Utils-switch")).toString(); - }else{ - text = new StringBuffer(Inter.getLocText("FR-Designer_Open")) + } else { + text = new StringBuffer(Inter.getLocText("FR-Designer_Open")) .append(ProductConstants.APP_NAME) .append(Inter.getLocText("FR-Designer_Utils-NewDemoEnv")) .append(message).append(Inter.getLocText("FR-Designer_Utils-switch")).toString(); - } - UITextArea a = new UITextArea(text); - a.setFont(new Font("Dialog", Font.PLAIN, 12)); - a.setEditable(false); - a.setBackground(this.getBackground()); - a.setLineWrap(true); - this.add(a); - } - - @Override - protected String title4PopupWindow() { - return Inter.getLocText("FR-Designer_Tooltips"); - } - - } + } + UITextArea a = new UITextArea(text); + a.setFont(new Font("Dialog", Font.PLAIN, 12)); + a.setEditable(false); + a.setBackground(this.getBackground()); + a.setLineWrap(true); + this.add(a); + } + + @Override + protected String title4PopupWindow() { + return Inter.getLocText("FR-Designer_Tooltips"); + } + + } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/creator/XLabel.java b/designer_form/src/com/fr/design/designer/creator/XLabel.java index 2a47eb3af..80dcca3b1 100644 --- a/designer_form/src/com/fr/design/designer/creator/XLabel.java +++ b/designer_form/src/com/fr/design/designer/creator/XLabel.java @@ -3,19 +3,11 @@ */ package com.fr.design.designer.creator; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.geom.Rectangle2D; -import java.beans.IntrospectionException; - -import javax.swing.JComponent; -import javax.swing.SwingConstants; - import com.fr.base.BaseUtils; import com.fr.base.ScreenResolution; import com.fr.base.Style; import com.fr.design.border.UIRoundedBorder; +import com.fr.design.form.util.XCreatorConstants; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.widget.editors.FontEditor; import com.fr.design.mainframe.widget.editors.ItemCellEditor; @@ -23,98 +15,114 @@ import com.fr.design.mainframe.widget.editors.WidgetValueEditor; import com.fr.design.mainframe.widget.renderer.FontCellRenderer; import com.fr.design.mainframe.widget.renderer.LabelHorizontalAlignmentRenderer; import com.fr.form.ui.Label; -import com.fr.design.form.util.XCreatorConstants; +import com.fr.form.ui.container.WParameterLayout; import com.fr.general.Inter; import com.fr.stable.ArrayUtils; import com.fr.stable.Constants; +import com.fr.stable.core.PropertyChangeAdapter; + +import javax.swing.*; +import java.awt.*; +import java.awt.geom.Rectangle2D; +import java.beans.IntrospectionException; /** * @author richer * @since 6.5.3 */ public class XLabel extends XWidgetCreator { - - private int cornerSize = 15; - public XLabel(Label widget, Dimension initSize) { - super(widget, initSize); - } + private int cornerSize = 15; + + public XLabel(Label widget, Dimension initSize) { + super(widget, initSize); + } + + /** + * 生成creator对应的控件widget + * + * @return 控件widget + */ + public Label toData() { + return (Label) data; + } + + /** + * 返回组件属性值 + * + * @return 返回组件属性值 + * @throws IntrospectionException 异常 + */ + @Override + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + return (CRPropertyDescriptor[]) ArrayUtils.addAll(super.supportedDescriptor(), + new CRPropertyDescriptor[]{ + new CRPropertyDescriptor("widgetValue", this.data.getClass()).setI18NName( + Inter.getLocText(new String[]{"FR-Designer_Widget", "Value"})).setEditorClass( + WidgetValueEditor.class).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") + .setPropertyChangeListener(new PropertyChangeAdapter() { + + @Override + public void propertyChange() { + XCreator parent = (XCreator) XLabel.this.getParent(); + ((WParameterLayout) parent.toData()).refreshTagList(); + } + }), + new CRPropertyDescriptor("wrap", this.data.getClass()).setI18NName( + Inter.getLocText("FR-Designer_StyleAlignment-Wrap_Text")).putKeyValue( + XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), + new CRPropertyDescriptor("verticalCenter", this.data.getClass()).setI18NName( + Inter.getLocText("FR-Designer_PageSetup-Vertically")).putKeyValue( + XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), + new CRPropertyDescriptor("textalign", this.data.getClass()).setI18NName( + Inter.getLocText("FR-Designer_Alignment-Style")).setEditorClass(ItemCellEditor.class) + .setRendererClass(LabelHorizontalAlignmentRenderer.class).putKeyValue( + XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), + new CRPropertyDescriptor("font", this.data.getClass()).setI18NName(Inter.getLocText("FR-Designer_Font")) + .setEditorClass(FontEditor.class).setRendererClass(FontCellRenderer.class).putKeyValue( + XCreatorConstants.PROPERTY_CATEGORY, "Advanced")}); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + Label label = (Label) data; + Dimension size = this.getSize(); + //先画背景,再画标题 + if (toData().getBackground() != null) { + toData().getBackground().paint(g, new Rectangle2D.Double(0, 0, size.getWidth(), size.getHeight())); + } + if (label.getWidgetValue() != null) { + Graphics2D g2d = (Graphics2D) g.create(); + BaseUtils.drawStringStyleInRotation(g2d, this.getWidth(), this.getHeight(), label.getWidgetValue() + .toString(), Style.getInstance(label.getFont()).deriveHorizontalAlignment(label.getTextalign()) + .deriveVerticalAlignment(label.isVerticalCenter() ? SwingConstants.CENTER : SwingConstants.TOP) + .deriveTextStyle(label.isWrap() ? Style.TEXTSTYLE_WRAPTEXT : Style.TEXTSTYLE_SINGLELINE), + ScreenResolution.getScreenResolution()); + } + } + + @Override + protected JComponent initEditor() { + if (editor == null) { + editor = new UILabel(); + } + return editor; + } - /** - * 生成creator对应的控件widget - * @return 控件widget - */ - public Label toData() { - return (Label) data; - } - - /** - * 返回组件属性值 - * @return 返回组件属性值 - * @throws IntrospectionException 异常 - */ - @Override - public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { - return (CRPropertyDescriptor[]) ArrayUtils.addAll(super.supportedDescriptor(), - new CRPropertyDescriptor[] { - new CRPropertyDescriptor("widgetValue", this.data.getClass()).setI18NName( - Inter.getLocText(new String[]{"FR-Designer_Widget", "Value"})).setEditorClass( - WidgetValueEditor.class).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), - new CRPropertyDescriptor("wrap", this.data.getClass()).setI18NName( - Inter.getLocText("FR-Designer_StyleAlignment-Wrap_Text")).putKeyValue( - XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), - new CRPropertyDescriptor("verticalCenter", this.data.getClass()).setI18NName( - Inter.getLocText("FR-Designer_PageSetup-Vertically")).putKeyValue( - XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), - new CRPropertyDescriptor("textalign", this.data.getClass()).setI18NName( - Inter.getLocText("FR-Designer_Alignment-Style")).setEditorClass(ItemCellEditor.class) - .setRendererClass(LabelHorizontalAlignmentRenderer.class).putKeyValue( - XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), - new CRPropertyDescriptor("font", this.data.getClass()).setI18NName(Inter.getLocText("FR-Designer_Font")) - .setEditorClass(FontEditor.class).setRendererClass(FontCellRenderer.class).putKeyValue( - XCreatorConstants.PROPERTY_CATEGORY, "Advanced") }); - } + @Override + protected void initXCreatorProperties() { + super.initXCreatorProperties(); + if (toData().getBorder() != Constants.LINE_NONE) { + this.setBorder(new UIRoundedBorder(toData().getBorder(), toData().getColor(), toData().isCorner() ? cornerSize : 0)); + } else { + this.setBorder(DEFALUTBORDER); + } + } - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - Label label = (Label) data; - Dimension size = this.getSize(); - //先画背景,再画标题 - if (toData().getBackground() != null) { - toData().getBackground().paint(g,new Rectangle2D.Double(0, 0, size.getWidth(), size.getHeight())); - } - if (label.getWidgetValue() != null) { - Graphics2D g2d = (Graphics2D) g.create(); - BaseUtils.drawStringStyleInRotation(g2d, this.getWidth(), this.getHeight(), label.getWidgetValue() - .toString(), Style.getInstance(label.getFont()).deriveHorizontalAlignment(label.getTextalign()) - .deriveVerticalAlignment(label.isVerticalCenter() ? SwingConstants.CENTER : SwingConstants.TOP) - .deriveTextStyle(label.isWrap() ? Style.TEXTSTYLE_WRAPTEXT : Style.TEXTSTYLE_SINGLELINE), - ScreenResolution.getScreenResolution()); - } - } + @Override + protected String getIconName() { + return "label_16.png"; + } - @Override - protected JComponent initEditor() { - if (editor == null) { - editor = new UILabel(); - } - return editor; - } - - @Override - protected void initXCreatorProperties() { - super.initXCreatorProperties(); - if (toData().getBorder() != Constants.LINE_NONE) { - this.setBorder(new UIRoundedBorder(toData().getBorder(), toData().getColor(), toData().isCorner() ? cornerSize : 0)); - } else { - this.setBorder(DEFALUTBORDER); - } - } - - @Override - protected String getIconName() { - return "label_16.png"; - } - } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java b/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java index edd1c69f0..27288cb62 100644 --- a/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java +++ b/designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java @@ -412,6 +412,15 @@ public abstract class XLayoutContainer extends XBorderStyleWidgetCreator impleme return false; } + /** + * 是否启用参数模板 + * @return 显示参数模板界面则返回true,否则返回false + */ + public boolean isUseParamsTemplate() { + return false; + } + + /** * 是否显示参数界面 * @@ -485,6 +494,10 @@ public abstract class XLayoutContainer extends XBorderStyleWidgetCreator impleme } + public void setUseParamsTemplate(boolean isUse) { + + } + public void setPosition(int align) { } diff --git a/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java b/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java index d85c610ac..406716cec 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java @@ -46,7 +46,7 @@ public class XWParameterLayout extends XWAbsoluteLayout { * @return 尺寸 */ public Dimension initEditorSize() { - return new Dimension(WFitLayout.DEFAULT_WIDTH, WBorderLayout.DEFAULT_SIZE); + return new Dimension(WFitLayout.DEFAULT_WIDTH+1000, WBorderLayout.DEFAULT_SIZE+1000); } /** @@ -67,6 +67,9 @@ public class XWParameterLayout extends XWAbsoluteLayout { new CRPropertyDescriptor("position", this.data.getClass()).setEditorClass(WidgetDisplayPosition.class) .setRendererClass(WidgetDisplayPositionRender.class).setI18NName(Inter.getLocText("FR-Designer_WidgetDisplyPosition")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), + new CRPropertyDescriptor("useParamsTemplate", this.data.getClass()).setEditorClass(BooleanEditor.class) + .setI18NName("使用常用参数组合") + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), }; ParameterWindowEditorProcessor processor = ExtraDesignClassManager.getInstance().getSingle(ParameterWindowEditorProcessor.MARK_STRING); @@ -124,6 +127,14 @@ public class XWParameterLayout extends XWAbsoluteLayout { return toData().isDelayDisplayContent(); } + /** + * 是否启用参数模板 + * @return 显示参数模板界面则返回true,否则返回false + */ + public boolean isUseParamsTemplate() { + return toData().isUseParamsTemplate(); + } + /** * 是否显示参数界面 * @return 显示参数界面则返回true,否则返回false @@ -152,6 +163,10 @@ public class XWParameterLayout extends XWAbsoluteLayout { this.toData().setDelayDisplayContent(delayPlaying); } + public void setUseParamsTemplate(boolean isUse) { + this.toData().setUseParamsTemplate(isUse); + } + public void setPosition(int align){ this.toData().setPosition(align); } diff --git a/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java b/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java index 2c1be0eab..252278710 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java +++ b/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java @@ -3,17 +3,17 @@ */ package com.fr.design.designer.creator; -import java.awt.*; -import java.beans.IntrospectionException; - import com.fr.base.BaseUtils; import com.fr.base.FRContext; +import com.fr.design.form.util.XCreatorConstants; import com.fr.design.mainframe.FormDesigner; import com.fr.form.ui.Widget; import com.fr.general.Inter; import com.fr.stable.core.PropertyChangeAdapter; import javax.swing.*; +import java.awt.*; +import java.beans.IntrospectionException; /** * @author richer @@ -21,8 +21,8 @@ import javax.swing.*; */ public abstract class XWidgetCreator extends XCreator { - protected static final float FULL_OPACITY = 1.0f; - protected static final float HALF_OPACITY = 0.4f; + protected static final float FULL_OPACITY = 1.0f; + protected static final float HALF_OPACITY = 0.4f; public XWidgetCreator(Widget widget, Dimension initSize) { super(widget, initSize); @@ -31,35 +31,41 @@ public abstract class XWidgetCreator extends XCreator { /** * 待说明 - * @return 待说明 + * + * @return 待说明 * @throws IntrospectionException */ - public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { - return new CRPropertyDescriptor[] { - new CRPropertyDescriptor("widgetName", this.data.getClass()).setI18NName(Inter - .getLocText("Form-Widget_Name")), - new CRPropertyDescriptor("enabled", this.data.getClass()).setI18NName(Inter.getLocText("FR-Designer_Enabled")) - .setPropertyChangeListener(new PropertyChangeAdapter() { - - @Override - public void propertyChange() { - setEnabled(toData().isEnabled()); - } - }), - new CRPropertyDescriptor("visible", this.data.getClass()).setI18NName( + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + return new CRPropertyDescriptor[]{ + new CRPropertyDescriptor("widgetName", this.data.getClass()).setI18NName(Inter + .getLocText("Form-Widget_Name")), + new CRPropertyDescriptor("enabled", this.data.getClass()).setI18NName(Inter.getLocText("FR-Designer_Enabled")) + .setPropertyChangeListener(new PropertyChangeAdapter() { + + @Override + public void propertyChange() { + setEnabled(toData().isEnabled()); + } + }), + new CRPropertyDescriptor("visible", this.data.getClass()).setI18NName( Inter.getLocText("FR-Designer_Widget-Visible")).setPropertyChangeListener(new PropertyChangeAdapter() { - @Override - public void propertyChange() { - makeVisible(toData().isVisible()); - } - }) }; + @Override + public void propertyChange() { + makeVisible(toData().isVisible()); + } + }), + new CRPropertyDescriptor("labelName", this.data.getClass(), "getLabelName", "setLabelName") + .setI18NName("标签名称") + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "FR-Designer_Advanced") + }; - } + } /** * 待说明 - * @return 待说明 + * + * @return 待说明 */ public Widget toData() { return this.data; @@ -80,94 +86,96 @@ public abstract class XWidgetCreator extends XCreator { } - protected void makeVisible(boolean visible) { - } - - public class LimpidButton extends JButton { - private String name; - private String imagePath; - private float opacity = 0.4f; - public LimpidButton(String name, String imagePath, float opacity) { - this.name = name; - this.imagePath = imagePath; - this.opacity = opacity; - this.draw(); - } - - public void draw() { - try { - ImageIcon imageIcon =(ImageIcon) BaseUtils.readIcon(imagePath); - Image img = imageIcon.getImage(); - MediaTracker mt = new MediaTracker(this); - int w = 21; - int h = 21; - mt.addImage(img, 0); - mt.waitForAll(); - - GraphicsConfiguration gc = new JFrame().getGraphicsConfiguration(); // 本地图形设备 - Image image = gc.createCompatibleImage(w, h, Transparency.TRANSLUCENT);//建立透明画布 - Graphics2D g = (Graphics2D) image.getGraphics(); //在画布上创建画笔 - - Composite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f); //指定透明度为半透明90% - g.setComposite(alpha); - g.drawImage(img, 0, 0, this); //注意是,将image画到g画笔所在的画布上 - g.setColor(Color.black);//设置颜色为黑色 - g.drawString(name, 25, 20);//写字 - g.dispose(); //释放内存 - - Composite alpha2 = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); - Image image1 = gc.createCompatibleImage(w, h, Transparency.TRANSLUCENT); - g = (Graphics2D) image1.getGraphics(); - g.setComposite(alpha2); - g.drawImage(img, 2, 2, this); //改变图像起始位置,产生动态效果 - g.setColor(Color.black); - g.drawString(name, 25, 20); - g.dispose(); - - this.setIgnoreRepaint(true); - this.setFocusable(false);//设置没有焦点 - this.setBorder(null);//设置不画按钮边框 - this.setContentAreaFilled(false);//设置不画按钮背景 - this.setIcon(new ImageIcon(image1)); //把刚才生成的半透明image变成ImageIcon,贴到按钮上去 - this.setRolloverIcon(new ImageIcon(image1)); - this.setPressedIcon(new ImageIcon(image));//按下去的图标 - } catch (Exception e) { - FRContext.getLogger().error(e.getMessage()); - } - } + protected void makeVisible(boolean visible) { + } + + public class LimpidButton extends JButton { + private String name; + private String imagePath; + private float opacity = 0.4f; + + public LimpidButton(String name, String imagePath, float opacity) { + this.name = name; + this.imagePath = imagePath; + this.opacity = opacity; + this.draw(); + } + + public void draw() { + try { + ImageIcon imageIcon = (ImageIcon) BaseUtils.readIcon(imagePath); + Image img = imageIcon.getImage(); + MediaTracker mt = new MediaTracker(this); + int w = 21; + int h = 21; + mt.addImage(img, 0); + mt.waitForAll(); + + GraphicsConfiguration gc = new JFrame().getGraphicsConfiguration(); // 本地图形设备 + Image image = gc.createCompatibleImage(w, h, Transparency.TRANSLUCENT);//建立透明画布 + Graphics2D g = (Graphics2D) image.getGraphics(); //在画布上创建画笔 + + Composite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f); //指定透明度为半透明90% + g.setComposite(alpha); + g.drawImage(img, 0, 0, this); //注意是,将image画到g画笔所在的画布上 + g.setColor(Color.black);//设置颜色为黑色 + g.drawString(name, 25, 20);//写字 + g.dispose(); //释放内存 + + Composite alpha2 = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); + Image image1 = gc.createCompatibleImage(w, h, Transparency.TRANSLUCENT); + g = (Graphics2D) image1.getGraphics(); + g.setComposite(alpha2); + g.drawImage(img, 2, 2, this); //改变图像起始位置,产生动态效果 + g.setColor(Color.black); + g.drawString(name, 25, 20); + g.dispose(); + + this.setIgnoreRepaint(true); + this.setFocusable(false);//设置没有焦点 + this.setBorder(null);//设置不画按钮边框 + this.setContentAreaFilled(false);//设置不画按钮背景 + this.setIcon(new ImageIcon(image1)); //把刚才生成的半透明image变成ImageIcon,贴到按钮上去 + this.setRolloverIcon(new ImageIcon(image1)); + this.setPressedIcon(new ImageIcon(image));//按下去的图标 + } catch (Exception e) { + FRContext.getLogger().error(e.getMessage()); + } + } /** * 待说明 - * @param visible 待说明 + * + * @param visible 待说明 */ - public void makeVisible(boolean visible) { - this.opacity = visible ? FULL_OPACITY : HALF_OPACITY; - this.draw(); - } - } - - /** - * 渲染Painter - */ - public void paint(Graphics g) { - //不可见时,按钮.4f透明 - AlphaComposite composite = this.data.isVisible() ? (AlphaComposite)((Graphics2D)g).getComposite() : AlphaComposite.getInstance(AlphaComposite.SRC_OVER,HALF_OPACITY); - ((Graphics2D)g).setComposite(composite); - super.paint(g); - } - /** - * 重命名 - * - * @param designer 表单设计器 - * @param creator 当前组件 - * - */ - public void ChangeCreatorName(FormDesigner designer,XCreator creator){ + public void makeVisible(boolean visible) { + this.opacity = visible ? FULL_OPACITY : HALF_OPACITY; + this.draw(); + } + } + + /** + * 渲染Painter + */ + public void paint(Graphics g) { + //不可见时,按钮.4f透明 + AlphaComposite composite = this.data.isVisible() ? (AlphaComposite) ((Graphics2D) g).getComposite() : AlphaComposite.getInstance(AlphaComposite.SRC_OVER, HALF_OPACITY); + ((Graphics2D) g).setComposite(composite); + super.paint(g); + } + + /** + * 重命名 + * + * @param designer 表单设计器 + * @param creator 当前组件 + */ + public void ChangeCreatorName(FormDesigner designer, XCreator creator) { String oldName = creator.toData().getWidgetName(); String value = JOptionPane.showInputDialog(designer, Inter.getLocText("Form-Change_Widget_Name_Discription"), oldName); - if(value != null) { - designer.renameCreator(creator, value); + if (value != null) { + designer.renameCreator(creator, value); } - } + } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java index 80fa7f895..f80496399 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java @@ -1,41 +1,12 @@ package com.fr.design.mainframe; -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Component; -import java.awt.Cursor; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.geom.RoundRectangle2D; -import java.util.EventObject; - -import javax.swing.AbstractCellEditor; -import javax.swing.BorderFactory; -import javax.swing.JTable; -import javax.swing.ListSelectionModel; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import javax.swing.table.DefaultTableCellRenderer; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.JTableHeader; -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableColumn; -import javax.swing.table.TableModel; - -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itable.GroupRenderer; -import com.fr.design.gui.itable.HeaderRenderer; -import com.fr.design.gui.itextfield.UITextField; import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XLayoutContainer; import com.fr.design.designer.creator.XWParameterLayout; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itable.HeaderRenderer; +import com.fr.design.gui.itextfield.UITextField; import com.fr.form.ui.Label; import com.fr.form.ui.Widget; import com.fr.form.ui.container.WParameterLayout; @@ -43,6 +14,18 @@ import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.stable.StringUtils; +import javax.swing.*; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.table.*; +import java.awt.*; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.geom.RoundRectangle2D; +import java.util.EventObject; + /** * MobileParaWidgetTable主要显示参数面板容器的控件列表,与MobileWidgetTable的区别就是该表多了UITextField这一列 * Created with IntelliJ IDEA. @@ -54,8 +37,8 @@ import com.fr.stable.StringUtils; class MobileParaWidgetTable extends JTable { private FormDesigner designer; - private String[][] cellData ; - private String[] headers = {Inter.getLocText("FR-Utils_Label"), Inter.getLocText("Form-Widget_Name")}; + private String[][] cellData; + private String[] headers = {Inter.getLocText("Form-Widget_Name")}; private static final int WIDGET_TABLE_ROW_HEIGHT = 22; private static final int UITEXTFIELD_WIDTH = 40; private UILabel moveComponent = new UILabel(); // 作为拖动时候随鼠标移动的那个半透明控件 @@ -75,7 +58,7 @@ class MobileParaWidgetTable extends JTable { TableColumn tc = this.getColumn(this.getColumnName(0)); tc.setPreferredWidth(UITEXTFIELD_WIDTH); this.repaint(); - this.setDefaultRenderer(Object.class,new MobileWidgetTableCellRenderer()); + this.setDefaultRenderer(Object.class, new MobileWidgetTableCellRenderer()); refreshData(); this.addMouseListener(mouseAdapter); this.addMouseMotionListener(mouseAdapter); @@ -112,12 +95,12 @@ class MobileParaWidgetTable extends JTable { */ @Override public void mouseReleased(MouseEvent e) { - if(!draging){ + if (!draging) { return; } draging = false; moveComponent.setVisible(false); - int toIndex = e.getY() < GAP ? 0 : (int)Math.rint((e.getY() - GAP)/WIDGET_TABLE_ROW_HEIGHT) + 1; + int toIndex = e.getY() < GAP ? 0 : (int) Math.rint((e.getY() - GAP) / WIDGET_TABLE_ROW_HEIGHT) + 1; //当鼠标放开时,将选中的容器调整至新的顺序 ((WParameterLayout) designer.getParaComponent().toData()).adjustOrder(selectedRow, toIndex); //拿取排序后表格数据,然后重绘表格 @@ -135,13 +118,13 @@ class MobileParaWidgetTable extends JTable { public void mouseMoved(MouseEvent e) { int overColumn = e.getX() < getColumnModel().getColumn(0).getWidth() ? 0 : 1; // 判断当前鼠标在哪一列 int overRow = -1; - for (int i = 0;i < getRowCount();i++) { + for (int i = 0; i < getRowCount(); i++) { if (e.getY() > i * WIDGET_TABLE_ROW_HEIGHT && e.getY() <= (i + 1) * WIDGET_TABLE_ROW_HEIGHT) { overRow = i; //判断当前鼠标在哪一行 } } //如果鼠标移动到当前选中的行列上面的时候,并且不能在第一列 - if (overRow == selectedRow && overColumn == selectedColumn && overColumn !=0) { + if (overRow == selectedRow && overColumn == selectedColumn && overColumn != 0) { //把当前选中的那一列行的光标改成(除了第一列)移动样式MOVE_CURSOR setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); } else { @@ -156,18 +139,15 @@ class MobileParaWidgetTable extends JTable { */ @Override public void mouseDragged(MouseEvent e) { - int width = getColumnModel().getColumn(1).getWidth(); - //如果点击选中的是第二列,就可以拖动 - if (selectedColumn == 1){ - setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); - draging = true; - moveComponent.setText(getValueAt(selectedRow, selectedColumn).toString()); - moveComponent.setLocation(getColumnModel().getColumn(0).getWidth(), e.getY() - GAP); - moveComponent.setSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); - moveComponent.setVisible(true); - moveComponent.setForeground(Color.lightGray); - moveComponent.setBorder(BorderFactory.createLineBorder(Color.lightGray)); - } + int width = getColumnModel().getColumn(0).getWidth(); + setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + draging = true; + moveComponent.setText(getValueAt(selectedRow, selectedColumn).toString()); + moveComponent.setLocation(getColumnModel().getColumn(0).getWidth(), e.getY() - GAP); + moveComponent.setSize(new Dimension(width, WIDGET_TABLE_ROW_HEIGHT)); + moveComponent.setVisible(true); + moveComponent.setForeground(Color.lightGray); + moveComponent.setBorder(BorderFactory.createLineBorder(Color.lightGray)); } /** @@ -176,14 +156,14 @@ class MobileParaWidgetTable extends JTable { */ @Override public void mouseClicked(MouseEvent e) { - if(getSelectedRow() != -1 && getSelectedColumn() == 1){ + if (getSelectedRow() != -1 && getSelectedColumn() == 0) { String widgetName = cellData[getSelectedRow()][getSelectedColumn()]; - if (StringUtils.isNotEmpty(widgetName)){ + if (StringUtils.isNotEmpty(widgetName)) { int count = getEditingDesigner().getParaComponent().getComponentCount(); - for (int i = 0; i < count; i++){ - XCreator xCreator = (XCreator)getEditingDesigner().getParaComponent().getComponent(i); + for (int i = 0; i < count; i++) { + XCreator xCreator = (XCreator) getEditingDesigner().getParaComponent().getComponent(i); Widget widget = xCreator.toData(); - if (!widget.acceptType(Label.class) && ComparatorUtils.equals(widgetName,widget.getWidgetName())) { + if (!widget.acceptType(Label.class) && ComparatorUtils.equals(widgetName, widget.getWidgetName())) { //设置选中的component,这句代码控制点击之后跳转到相应component属性表 getEditingDesigner().getSelectionModel().setSelectedCreator(xCreator); } @@ -204,12 +184,12 @@ class MobileParaWidgetTable extends JTable { } }; - public MobileParaWidgetTable getInstance(){ + public MobileParaWidgetTable getInstance() { return this; } - private FormDesigner getEditingDesigner(){ - return designer; + private FormDesigner getEditingDesigner() { + return designer; } /** @@ -229,8 +209,8 @@ class MobileParaWidgetTable extends JTable { /** * 重新get排序后的数据 */ - public void refreshData(){ - cellData = getData(); + public void refreshData() { + cellData = getData(); } /** @@ -238,30 +218,30 @@ class MobileParaWidgetTable extends JTable { * * @return String[][] 二维数组,[0][0]widgetTag, [0][1]widgetName */ - private String[][] getData(){ - XLayoutContainer paraContainer = designer.getParaComponent(); - if(paraContainer == null || !paraContainer.acceptType(XWParameterLayout.class)){ - return new String[0][0]; - } - - WParameterLayout para = (WParameterLayout) (paraContainer.toData()); + private String[][] getData() { + XLayoutContainer paraContainer = designer.getParaComponent(); + if (paraContainer == null || !paraContainer.acceptType(XWParameterLayout.class)) { + return new String[0][1]; + } + + WParameterLayout para = (WParameterLayout) (paraContainer.toData()); return para.getWidgetNameTag(); } /** * 自定义的tableRender类 */ - private class MobileWidgetTableCellRenderer extends DefaultTableCellRenderer{ + private class MobileWidgetTableCellRenderer extends DefaultTableCellRenderer { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if (column == 0){ + if (column == 0) { UITextField uiTableTextField; - if (getSelectedColumn() == column && getSelectedRow() == row){ - uiTableTextField = new UITableTextField(value.toString()); + if (getSelectedColumn() == column && getSelectedRow() == row) { + uiTableTextField = new UITableTextField(value.toString()); } else { - uiTableTextField = new UITextField(value.toString()); + uiTableTextField = new UITextField(value.toString()); } return uiTableTextField; } @@ -275,7 +255,8 @@ class MobileParaWidgetTable extends JTable { */ private class MobileCellEditor extends AbstractCellEditor implements TableCellEditor { UITableTextField uiTableTextField; - MobileCellEditor(){ + + MobileCellEditor() { uiTableTextField = new UITableTextField(); uiTableTextField.addFocusListener(new FocusAdapter() { @Override @@ -306,7 +287,7 @@ class MobileParaWidgetTable extends JTable { * cell改变,相应的nametag改变 */ - private void firePropertyChange(){ + private void firePropertyChange() { ((WParameterLayout) designer.getParaComponent().toData()).add2NameTagMap(uiTableTextField.getText(), cellData[getSelectedRow()][1]); ((WParameterLayout) designer.getParaComponent().toData()).setNameTagModified(cellData[getSelectedRow()][1], @@ -314,21 +295,21 @@ class MobileParaWidgetTable extends JTable { } @Override - public Object getCellEditorValue(){ + public Object getCellEditorValue() { return uiTableTextField.getText(); } /** - * 双击以编辑, 表示只有双击的情况下才可以编辑 - */ + * 双击以编辑, 表示只有双击的情况下才可以编辑 + */ @Override public boolean isCellEditable(EventObject anEvent) { return !(anEvent instanceof MouseEvent) || ((MouseEvent) anEvent).getClickCount() >= 2; } @Override - public Component getTableCellEditorComponent( JTable table,Object value, - boolean isSelected,int row,int column){ + public Component getTableCellEditorComponent(JTable table, Object value, + boolean isSelected, int row, int column) { uiTableTextField.setText(value.toString()); return uiTableTextField; } @@ -360,7 +341,7 @@ class MobileParaWidgetTable extends JTable { } Object[] rowValue = cellData[row]; if (column > -1 && column < rowValue.length) { - return cellData[row][column]; + return cellData[row][1]; } return null; } @@ -381,23 +362,24 @@ class MobileParaWidgetTable extends JTable { return; } if (aValue == null) { - cellData[row][column] = null; + cellData[row][1] = null; return; } - cellData[row][column] = aValue.toString(); + cellData[row][1] = aValue.toString(); } /** - * 是否可编辑 控件标签列可以编辑,控件名不可编辑 - * @param row 行号 - * @param column 列号 + * 是否可编辑 控件标签列可以编辑,控件名不可编辑 + * + * @param row 行号 + * @param column 列号 * @return 是否可编辑 */ public boolean isCellEditable(int row, int column) { - if(column ==1){ - return false; - } - return true; +// if(column ==1){ + return false; +// } +// return true; } } @@ -406,11 +388,11 @@ class MobileParaWidgetTable extends JTable { * 继承自JTextField类,重写了编辑框的样式 */ private class UITableTextField extends UITextField { - public UITableTextField(){ + public UITableTextField() { super(); } - public UITableTextField(String string){ + public UITableTextField(String string) { super(string); } diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index 201ab203e..280f82dd1 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -354,7 +354,7 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper int value = downPanel.getVerticalScrollBar().getValue(); if (hasSelectParaPane(getEditingFormDesigner())) { cardLayout.show(centerPane, PARA); - mobileParaWidgetTable.refreshData(); +// mobileParaWidgetTable.refreshData(); } else { cardLayout.show(centerPane, BODY); mobileWidgetTable.refreshData(); From 4829a61629d74f6a879269ae671f7f712b45624f Mon Sep 17 00:00:00 2001 From: hzzz Date: Wed, 26 Jul 2017 14:28:57 +0800 Subject: [PATCH 2/9] d --- designer_base/src/com/fr/start/StartServer.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer_base/src/com/fr/start/StartServer.java b/designer_base/src/com/fr/start/StartServer.java index 2ecf322a1..ff1c054e1 100644 --- a/designer_base/src/com/fr/start/StartServer.java +++ b/designer_base/src/com/fr/start/StartServer.java @@ -19,7 +19,6 @@ import com.fr.stable.ProductConstants; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; -import com.fr.start.job.favoriteparams.FavoriteParamsJob; import com.fr.start.server.JettyHost; import javax.swing.*; @@ -127,7 +126,6 @@ public class StartServer { } catch (Exception e) { FRContext.getLogger().errorWithServerLevel(e.getMessage()); } finally { - FavoriteParamsJob.create().start(); browser(url); } } From 68a24976e239ff1b86e39f36e6871ad1eade74b9 Mon Sep 17 00:00:00 2001 From: hzzz Date: Fri, 28 Jul 2017 14:31:32 +0800 Subject: [PATCH 3/9] REPORT-2419 --- designer_base/src/com/fr/design/locale/designer.properties | 2 ++ .../src/com/fr/design/locale/designer_en_US.properties | 2 ++ .../src/com/fr/design/locale/designer_zh_CN.properties | 2 ++ .../src/com/fr/design/designer/creator/XWParameterLayout.java | 2 +- .../src/com/fr/design/designer/creator/XWidgetCreator.java | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 0cb4ae2ef..ad8dfec8f 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2092,3 +2092,5 @@ FR-Designer_CellWrite_Show_As_HTML=CellWrite_Show_As_HTML FR-Designer_Datasource_Other_Attributes=Other_Attributes FR-Designer_Not_use_a_cell_attribute_table_editing=Not_use_a_cell_attribute_table_editing FR-Designer_CellElement_Property_Table=CellElement_Property_Table +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index c794b6466..66ba9d5b1 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2093,3 +2093,5 @@ FR-Designer_CellWrite_Show_As_HTML=CellWrite_Show_As_HTML FR-Designer_Datasource_Other_Attributes=Other_Attributes FR-Designer_Not_use_a_cell_attribute_table_editing=Not_use_a_cell_attribute_table_editing FR-Designer_CellElement_Property_Table=CellElement_Property_Table +FR-Designer_Use_Params_Template=use parameter template +FR-Designer_Label_Name=label name diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 7f4fc313c..a43140c38 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2092,3 +2092,5 @@ FR-Designer_CellWrite_Show_As_HTML=\u7528HTML\u663E\u793A\u5185\u5BB9 FR-Designer_Datasource_Other_Attributes=\u5176\u4ED6\u5C5E\u6027 FR-Designer_Not_use_a_cell_attribute_table_editing=\u60A8\u4E0D\u53EF\u4EE5\u7528\u5355\u5143\u683C\u5C5E\u6027\u8868\u7F16\u8F91 FR-Designer_CellElement_Property_Table=\u5355\u5143\u683C\u5C5E\u6027\u8868 +FR-Designer_Use_Params_Template=\u4F7F\u7528\u5E38\u7528\u53C2\u6570\u7EC4\u5408 +FR-Designer_Label_Name=\u6807\u7B7E\u540D\u79F0 diff --git a/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java b/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java index 406716cec..d651f0dfc 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java @@ -68,7 +68,7 @@ public class XWParameterLayout extends XWAbsoluteLayout { .setRendererClass(WidgetDisplayPositionRender.class).setI18NName(Inter.getLocText("FR-Designer_WidgetDisplyPosition")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), new CRPropertyDescriptor("useParamsTemplate", this.data.getClass()).setEditorClass(BooleanEditor.class) - .setI18NName("使用常用参数组合") + .setI18NName(Inter.getLocText("FR-Designer_Use_Params_Template")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), }; diff --git a/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java b/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java index 252278710..21ff4ed20 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java +++ b/designer_form/src/com/fr/design/designer/creator/XWidgetCreator.java @@ -56,7 +56,7 @@ public abstract class XWidgetCreator extends XCreator { } }), new CRPropertyDescriptor("labelName", this.data.getClass(), "getLabelName", "setLabelName") - .setI18NName("标签名称") + .setI18NName(Inter.getLocText("FR-Designer_Label_Name")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "FR-Designer_Advanced") }; From 12aafb66bec25837c3c32365302519f291fb80ed Mon Sep 17 00:00:00 2001 From: hzzz Date: Fri, 28 Jul 2017 14:33:22 +0800 Subject: [PATCH 4/9] REPORT-2419 --- designer_base/src/com/fr/start/StartServer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer_base/src/com/fr/start/StartServer.java b/designer_base/src/com/fr/start/StartServer.java index ff1c054e1..79b3f739d 100644 --- a/designer_base/src/com/fr/start/StartServer.java +++ b/designer_base/src/com/fr/start/StartServer.java @@ -126,6 +126,7 @@ public class StartServer { } catch (Exception e) { FRContext.getLogger().errorWithServerLevel(e.getMessage()); } finally { + NEED_LOAD_ENV = false; browser(url); } } From 200f4bff69f21b8c9134cb6f9e773f321ee4c787 Mon Sep 17 00:00:00 2001 From: hzzz Date: Fri, 28 Jul 2017 14:39:38 +0800 Subject: [PATCH 5/9] REPORT-2419 --- .../fr/design/designer/creator/XWParameterLayout.java | 2 +- .../com/fr/design/mainframe/MobileParaWidgetTable.java | 10 ++++------ .../com/fr/design/mainframe/WidgetPropertyPane.java | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java b/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java index d651f0dfc..979d9bf08 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWParameterLayout.java @@ -46,7 +46,7 @@ public class XWParameterLayout extends XWAbsoluteLayout { * @return 尺寸 */ public Dimension initEditorSize() { - return new Dimension(WFitLayout.DEFAULT_WIDTH+1000, WBorderLayout.DEFAULT_SIZE+1000); + return new Dimension(WFitLayout.DEFAULT_WIDTH, WBorderLayout.DEFAULT_SIZE); } /** diff --git a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java index f80496399..b8df3ab7b 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java @@ -36,6 +36,7 @@ import java.util.EventObject; */ class MobileParaWidgetTable extends JTable { + private final int WIDGET_NAME_COLUMN = 1; private FormDesigner designer; private String[][] cellData; private String[] headers = {Inter.getLocText("Form-Widget_Name")}; @@ -341,7 +342,7 @@ class MobileParaWidgetTable extends JTable { } Object[] rowValue = cellData[row]; if (column > -1 && column < rowValue.length) { - return cellData[row][1]; + return cellData[row][WIDGET_NAME_COLUMN]; } return null; } @@ -362,10 +363,10 @@ class MobileParaWidgetTable extends JTable { return; } if (aValue == null) { - cellData[row][1] = null; + cellData[row][WIDGET_NAME_COLUMN] = null; return; } - cellData[row][1] = aValue.toString(); + cellData[row][WIDGET_NAME_COLUMN] = aValue.toString(); } /** @@ -376,10 +377,7 @@ class MobileParaWidgetTable extends JTable { * @return 是否可编辑 */ public boolean isCellEditable(int row, int column) { -// if(column ==1){ return false; -// } -// return true; } } diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index 280f82dd1..201ab203e 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -354,7 +354,7 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper int value = downPanel.getVerticalScrollBar().getValue(); if (hasSelectParaPane(getEditingFormDesigner())) { cardLayout.show(centerPane, PARA); -// mobileParaWidgetTable.refreshData(); + mobileParaWidgetTable.refreshData(); } else { cardLayout.show(centerPane, BODY); mobileWidgetTable.refreshData(); From 573db22a5e19c92e2a67d6572f962355bbcbf600 Mon Sep 17 00:00:00 2001 From: hzzz Date: Fri, 28 Jul 2017 14:40:54 +0800 Subject: [PATCH 6/9] REPORT-2419 --- .../src/com/fr/design/mainframe/MobileParaWidgetTable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java index b8df3ab7b..e32ba8cc5 100644 --- a/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java +++ b/designer_form/src/com/fr/design/mainframe/MobileParaWidgetTable.java @@ -152,7 +152,7 @@ class MobileParaWidgetTable extends JTable { } /** - * 设置鼠标单击时处理的事件(单击第二列的控件列表进入控件属性表) + * 设置鼠标单击时处理的事件 * @param e */ @Override From 26d66e2f8831ded786b1b7634dc5e1d5f06d8795 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Sun, 30 Jul 2017 18:10:33 +0800 Subject: [PATCH 7/9] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E6=82=AC=E6=B5=AE=E5=85=83?= =?UTF-8?q?=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../insert/flot/AbstractShapeAction.java | 15 +- .../actions/insert/flot/ChartFloatAction.java | 124 ++++----- .../insert/flot/FormulaFloatAction.java | 57 +++- .../actions/insert/flot/ImageFloatAction.java | 17 +- .../insert/flot/TextBoxFloatAction.java | 43 ++- .../mainframe/ElementCasePaneDelegate.java | 32 ++- .../fr/design/mainframe/ReportFloatPane.java | 99 +++++++ .../src/com/fr/grid/GridMouseAdapter.java | 55 ++-- designer/src/com/fr/grid/GridUtils.java | 23 +- .../com/fr/poly/creator/ECBlockEditor.java | 258 +++++++++--------- .../floatquick/FloatImageQuickEditor.java | 89 +++--- .../floatquick/FloatStringQuickEditor.java | 201 ++++++++------ .../com/fr/design/locale/designer.properties | 6 + .../design/locale/designer_en_US.properties | 6 + .../design/locale/designer_ja_JP.properties | 5 + .../design/locale/designer_ko_KR.properties | 6 + .../design/locale/designer_zh_CN.properties | 6 + .../design/locale/designer_zh_TW.properties | 6 + 18 files changed, 653 insertions(+), 395 deletions(-) create mode 100644 designer/src/com/fr/design/mainframe/ReportFloatPane.java diff --git a/designer/src/com/fr/design/actions/insert/flot/AbstractShapeAction.java b/designer/src/com/fr/design/actions/insert/flot/AbstractShapeAction.java index f3bd328d4..2f1237ca4 100644 --- a/designer/src/com/fr/design/actions/insert/flot/AbstractShapeAction.java +++ b/designer/src/com/fr/design/actions/insert/flot/AbstractShapeAction.java @@ -4,6 +4,7 @@ package com.fr.design.actions.insert.flot; import com.fr.design.actions.ElementCaseAction; +import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.report.cell.FloatElement; @@ -11,20 +12,20 @@ import com.fr.report.cell.FloatElement; * Abstract shape. */ public abstract class AbstractShapeAction extends ElementCaseAction { - protected AbstractShapeAction(ElementCasePane t) { - super(t); - } - + protected AbstractShapeAction(ElementCasePane t) { + super(t); + } + public void startDraw(FloatElement floatElement) { - ElementCasePane jws = getEditingComponent(); + ElementCasePane jws = (ElementCasePane) HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getCurrentElementCasePane(); if (jws == null) { return; } jws.getGrid().setDrawingFloatElement(floatElement); } - + @Override public boolean executeActionReturnUndoRecordNeeded() { - return false; + return false; } } \ No newline at end of file diff --git a/designer/src/com/fr/design/actions/insert/flot/ChartFloatAction.java b/designer/src/com/fr/design/actions/insert/flot/ChartFloatAction.java index 63716621b..8f20a1577 100644 --- a/designer/src/com/fr/design/actions/insert/flot/ChartFloatAction.java +++ b/designer/src/com/fr/design/actions/insert/flot/ChartFloatAction.java @@ -8,6 +8,7 @@ import com.fr.base.Style; import com.fr.base.chart.BaseChartCollection; import com.fr.design.actions.ElementCaseAction; import com.fr.design.dialog.DialogActionAdapter; +import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.chart.MiddleChartDialog; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.ElementCasePane; @@ -32,77 +33,78 @@ public class ChartFloatAction extends ElementCaseAction { /** * 构造函数 图表插入悬浮元素 */ - public ChartFloatAction(ElementCasePane t) { - super(t); + public ChartFloatAction(ElementCasePane t) { + super(t); this.setMenuKeySet(FLOAT_INSERT_CHART); - this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); + this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setMnemonic(getMenuKeySet().getMnemonic()); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/chart.png")); } - public static final MenuKeySet FLOAT_INSERT_CHART = new MenuKeySet() { - @Override - public char getMnemonic() { - return 'C'; - } + public static final MenuKeySet FLOAT_INSERT_CHART = new MenuKeySet() { + @Override + public char getMnemonic() { + return 'C'; + } - @Override - public String getMenuName() { - return Inter.getLocText("M_Insert-Chart"); - } + @Override + public String getMenuName() { + return Inter.getLocText("FR-Designer_Insert_Chart"); + } - @Override - public KeyStroke getKeyStroke() { - return null; - } - }; + @Override + public KeyStroke getKeyStroke() { + return null; + } + }; /** * 执行插入悬浮元素操作, 并返回true, 需要记录撤销. + * * @return 是则返回true */ - public boolean executeActionReturnUndoRecordNeeded() { - final ElementCasePane reportPane = getEditingComponent(); - if (reportPane == null) { - return false; - } - - reportPane.stopEditing(); - - final BaseChartCollection cc = (BaseChartCollection)StableFactory.createXmlObject(BaseChartCollection.XML_TAG); - cc.removeAllNameObject(); - final MiddleChartDialog chartDialog = DesignModuleFactory.getChartDialog(DesignerContext.getDesignerFrame()); - chartDialog.populate(cc); - chartDialog.addDialogActionListener(new DialogActionAdapter() { - @Override - public void doOk() { - - FloatElement newFloatElement; - try { - newFloatElement = new FloatElement(chartDialog.getChartCollection().clone()); - newFloatElement.setLeftDistance(new OLDPIX(20)); - newFloatElement.setTopDistance(new OLDPIX(20)); - newFloatElement.setWidth(new OLDPIX(BaseChartCollection.CHART_DEFAULT_WIDTH)); - newFloatElement.setHeight(new OLDPIX(BaseChartCollection.CHART_DEFAULT_HEIGHT)); - - Style style = newFloatElement.getStyle(); - if(style != null) { - newFloatElement.setStyle(style.deriveBorder(Constants.LINE_NONE, Color.black, - Constants.LINE_NONE, Color.black, - Constants.LINE_NONE, Color.black, - Constants.LINE_NONE, Color.black)); - } - reportPane.getEditingElementCase().addFloatElement(newFloatElement); - reportPane.setSelection(new FloatSelection(newFloatElement.getName())); - reportPane.fireTargetModified(); - reportPane.fireSelectionChangeListener(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error in Float"); - } - } - }); - - chartDialog.setVisible(true); - return true; - } + public boolean executeActionReturnUndoRecordNeeded() { + final ElementCasePane reportPane = (ElementCasePane) HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getCurrentElementCasePane(); + if (reportPane == null) { + return false; + } + + reportPane.stopEditing(); + + final BaseChartCollection cc = (BaseChartCollection) StableFactory.createXmlObject(BaseChartCollection.XML_TAG); + cc.removeAllNameObject(); + final MiddleChartDialog chartDialog = DesignModuleFactory.getChartDialog(DesignerContext.getDesignerFrame()); + chartDialog.populate(cc); + chartDialog.addDialogActionListener(new DialogActionAdapter() { + @Override + public void doOk() { + + FloatElement newFloatElement; + try { + newFloatElement = new FloatElement(chartDialog.getChartCollection().clone()); + newFloatElement.setLeftDistance(new OLDPIX(20)); + newFloatElement.setTopDistance(new OLDPIX(20)); + newFloatElement.setWidth(new OLDPIX(BaseChartCollection.CHART_DEFAULT_WIDTH)); + newFloatElement.setHeight(new OLDPIX(BaseChartCollection.CHART_DEFAULT_HEIGHT)); + + Style style = newFloatElement.getStyle(); + if (style != null) { + newFloatElement.setStyle(style.deriveBorder(Constants.LINE_NONE, Color.black, + Constants.LINE_NONE, Color.black, + Constants.LINE_NONE, Color.black, + Constants.LINE_NONE, Color.black)); + } + reportPane.getEditingElementCase().addFloatElement(newFloatElement); + reportPane.setSelection(new FloatSelection(newFloatElement.getName())); + reportPane.fireTargetModified(); + reportPane.fireSelectionChangeListener(); + } catch (CloneNotSupportedException e) { + FRLogger.getLogger().error("Error in Float"); + } + } + }); + + chartDialog.setVisible(true); + return true; + } } \ No newline at end of file diff --git a/designer/src/com/fr/design/actions/insert/flot/FormulaFloatAction.java b/designer/src/com/fr/design/actions/insert/flot/FormulaFloatAction.java index a4f9e57e1..de7cbe582 100644 --- a/designer/src/com/fr/design/actions/insert/flot/FormulaFloatAction.java +++ b/designer/src/com/fr/design/actions/insert/flot/FormulaFloatAction.java @@ -4,11 +4,18 @@ package com.fr.design.actions.insert.flot; import com.fr.base.BaseUtils; +import com.fr.base.DynamicUnitList; import com.fr.base.Formula; +import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.menu.MenuKeySet; import com.fr.general.Inter; +import com.fr.grid.Grid; +import com.fr.grid.selection.FloatSelection; +import com.fr.report.ReportHelper; import com.fr.report.cell.FloatElement; +import com.fr.report.elementcase.TemplateElementCase; +import com.fr.stable.unit.FU; import javax.swing.*; import java.awt.event.ActionEvent; @@ -17,10 +24,10 @@ import java.awt.event.ActionEvent; * Insert formula. */ public class FormulaFloatAction extends AbstractShapeAction { - public FormulaFloatAction(ElementCasePane t) { - super(t); + public FormulaFloatAction(ElementCasePane t) { + super(t); this.setMenuKeySet(FLOAT_INSERT_FORMULA); - this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); + this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setMnemonic(getMenuKeySet().getMnemonic()); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/formula.png")); } @@ -33,7 +40,7 @@ public class FormulaFloatAction extends AbstractShapeAction { @Override public String getMenuName() { - return Inter.getLocText("HF-Insert_Formula"); + return Inter.getLocText("FR-Designer_Insert_Formula"); } @Override @@ -44,16 +51,48 @@ public class FormulaFloatAction extends AbstractShapeAction { /** * 动作 + * * @param e 事件 */ - public void actionPerformed(ActionEvent e) { - ElementCasePane jws = getEditingComponent(); + public void actionPerformed(ActionEvent e) { + ElementCasePane jws = getEditingComponent(); if (jws == null) { return; } - - // - FloatElement floatElement = new FloatElement( new Formula("")); + // + FloatElement floatElement = new FloatElement(new Formula("")); this.startDraw(floatElement); + doWithDrawingFloatElement(); + jws.getGrid().startEditing(); } + + private void doWithDrawingFloatElement() { + ElementCasePane jws = (ElementCasePane) HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getCurrentElementCasePane(); + Grid grid = jws.getGrid(); + + ElementCasePane reportPane = grid.getElementCasePane(); + TemplateElementCase report = reportPane.getEditingElementCase(); + DynamicUnitList columnWidthList = ReportHelper.getColumnWidthList(report); + DynamicUnitList rowHeightList = ReportHelper.getRowHeightList(report); + + int horizentalScrollValue = grid.getHorizontalValue(); + int verticalScrollValue = grid.getVerticalValue(); + + int resolution = grid.getResolution(); + int floatWdith = grid.getDrawingFloatElement().getWidth().toPixI(resolution); + int floatHeight = grid.getDrawingFloatElement().getWidth().toPixI(resolution); + + FU evtX_fu = FU.valueOfPix((grid.getWidth() - floatWdith) / 2, resolution); + FU evtY_fu = FU.valueOfPix((grid.getHeight() - floatHeight) / 2, resolution); + + FU leftDistance = FU.getInstance(evtX_fu.toFU() + columnWidthList.getRangeValue(0, horizentalScrollValue).toFU()); + FU topDistance = FU.getInstance(evtY_fu.toFU() + rowHeightList.getRangeValue(0, verticalScrollValue).toFU()); + + grid.getDrawingFloatElement().setLeftDistance(leftDistance); + grid.getDrawingFloatElement().setTopDistance(topDistance); + + report.addFloatElement(grid.getDrawingFloatElement()); + reportPane.setSelection(new FloatSelection(grid.getDrawingFloatElement().getName())); + } + } \ No newline at end of file diff --git a/designer/src/com/fr/design/actions/insert/flot/ImageFloatAction.java b/designer/src/com/fr/design/actions/insert/flot/ImageFloatAction.java index f59483fb9..8814936cd 100644 --- a/designer/src/com/fr/design/actions/insert/flot/ImageFloatAction.java +++ b/designer/src/com/fr/design/actions/insert/flot/ImageFloatAction.java @@ -8,6 +8,7 @@ import com.fr.base.ScreenResolution; import com.fr.design.actions.ElementCaseAction; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; +import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.menu.MenuKeySet; @@ -28,12 +29,12 @@ import java.io.File; */ public class ImageFloatAction extends ElementCaseAction { - private boolean returnValue = false; + private boolean returnValue = false; public ImageFloatAction(ElementCasePane t) { - super(t); + super(t); this.setMenuKeySet(FLOAT_INSERT_IMAGE); - this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); + this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setMnemonic(getMenuKeySet().getMnemonic()); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/image.png")); } @@ -46,7 +47,7 @@ public class ImageFloatAction extends ElementCaseAction { @Override public String getMenuName() { - return Inter.getLocText("HF-Insert_Image"); + return Inter.getLocText("FR-Designer_Insert_Image"); } @Override @@ -57,10 +58,11 @@ public class ImageFloatAction extends ElementCaseAction { /** * 执行动作 + * * @return 成功返回true */ public boolean executeActionReturnUndoRecordNeeded() { - final ElementCasePane reportPane = getEditingComponent(); + final ElementCasePane reportPane = (ElementCasePane) HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getCurrentElementCasePane(); if (reportPane == null) { return false; } @@ -96,9 +98,10 @@ public class ImageFloatAction extends ElementCaseAction { returnValue = true; } } + @Override - public void doCancel() { - returnValue = false; + public void doCancel() { + returnValue = false; } }); dialog.setVisible(true); diff --git a/designer/src/com/fr/design/actions/insert/flot/TextBoxFloatAction.java b/designer/src/com/fr/design/actions/insert/flot/TextBoxFloatAction.java index da57d8d15..3f0be1c56 100644 --- a/designer/src/com/fr/design/actions/insert/flot/TextBoxFloatAction.java +++ b/designer/src/com/fr/design/actions/insert/flot/TextBoxFloatAction.java @@ -4,10 +4,17 @@ package com.fr.design.actions.insert.flot; import com.fr.base.BaseUtils; +import com.fr.base.DynamicUnitList; +import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.menu.MenuKeySet; import com.fr.general.Inter; +import com.fr.grid.Grid; +import com.fr.grid.selection.FloatSelection; +import com.fr.report.ReportHelper; import com.fr.report.cell.FloatElement; +import com.fr.report.elementcase.TemplateElementCase; +import com.fr.stable.unit.FU; import javax.swing.*; import java.awt.event.ActionEvent; @@ -15,7 +22,7 @@ import java.awt.event.ActionEvent; /** * Insert textbox. */ -public class TextBoxFloatAction extends AbstractShapeAction { +public class TextBoxFloatAction extends AbstractShapeAction { public TextBoxFloatAction(ElementCasePane t) { super(t); this.setMenuKeySet(FLOAT_INSERT_TEXT); @@ -32,7 +39,7 @@ public class TextBoxFloatAction extends AbstractShapeAction { @Override public String getMenuName() { - return Inter.getLocText("M_Insert-Text"); + return Inter.getLocText("FR-Designer_Insert_Text"); } @Override @@ -54,5 +61,37 @@ public class TextBoxFloatAction extends AbstractShapeAction { } FloatElement floatElement = new FloatElement("Text"); this.startDraw(floatElement); + doWithDrawingFloatElement(); + } + + + private void doWithDrawingFloatElement() { + ElementCasePane jws = (ElementCasePane) HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getCurrentElementCasePane(); + ; + Grid grid = jws.getGrid(); + + ElementCasePane reportPane = grid.getElementCasePane(); + TemplateElementCase report = reportPane.getEditingElementCase(); + DynamicUnitList columnWidthList = ReportHelper.getColumnWidthList(report); + DynamicUnitList rowHeightList = ReportHelper.getRowHeightList(report); + + int horizentalScrollValue = grid.getHorizontalValue(); + int verticalScrollValue = grid.getVerticalValue(); + + int resolution = grid.getResolution(); + int floatWdith = grid.getDrawingFloatElement().getWidth().toPixI(resolution); + int floatHeight = grid.getDrawingFloatElement().getWidth().toPixI(resolution); + + FU evtX_fu = FU.valueOfPix((grid.getWidth() - floatWdith) / 2, resolution); + FU evtY_fu = FU.valueOfPix((grid.getHeight() - floatHeight) / 2, resolution); + + FU leftDistance = FU.getInstance(evtX_fu.toFU() + columnWidthList.getRangeValue(0, horizentalScrollValue).toFU()); + FU topDistance = FU.getInstance(evtY_fu.toFU() + rowHeightList.getRangeValue(0, verticalScrollValue).toFU()); + + grid.getDrawingFloatElement().setLeftDistance(leftDistance); + grid.getDrawingFloatElement().setTopDistance(topDistance); + + report.addFloatElement(grid.getDrawingFloatElement()); + reportPane.setSelection(new FloatSelection(grid.getDrawingFloatElement().getName())); } } \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java b/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java index 7c9fcdaae..d2ccd6b18 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java @@ -1,35 +1,36 @@ package com.fr.design.mainframe; import com.fr.base.BaseUtils; -import com.fr.design.fun.MenuHandler; -import com.fr.design.gui.frpane.HyperlinkGroupPane; -import com.fr.design.menu.KeySetUtils; -import com.fr.general.Inter; -import com.fr.grid.selection.FloatSelection; -import com.fr.page.ReportSettingsProvider; -import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.DesignState; -import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.design.actions.UpdateAction; import com.fr.design.actions.cell.*; +import com.fr.design.actions.columnrow.InsertColumnAction; +import com.fr.design.actions.columnrow.InsertRowAction; import com.fr.design.actions.core.ActionFactory; import com.fr.design.actions.edit.HyperlinkAction; import com.fr.design.actions.edit.merge.MergeCellAction; import com.fr.design.actions.edit.merge.UnmergeCellAction; -import com.fr.design.actions.columnrow.InsertColumnAction; -import com.fr.design.actions.columnrow.InsertRowAction; import com.fr.design.actions.utils.DeprecatedActionManager; import com.fr.design.event.TargetModifiedEvent; import com.fr.design.event.TargetModifiedListener; +import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.fun.MenuHandler; +import com.fr.design.gui.frpane.HyperlinkGroupPane; import com.fr.design.mainframe.cell.QuickEditorRegion; +import com.fr.design.menu.KeySetUtils; import com.fr.design.menu.MenuDef; import com.fr.design.menu.SeparatorDef; -import com.fr.report.worksheet.WorkSheet; +import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.design.selection.SelectionEvent; import com.fr.design.selection.SelectionListener; +import com.fr.general.Inter; +import com.fr.grid.selection.FloatSelection; +import com.fr.page.ReportSettingsProvider; +import com.fr.report.worksheet.WorkSheet; import com.fr.stable.ArrayUtils; import javax.swing.*; +import java.awt.*; /** * 类说明: 设计面板中最上方的"插入" "单元格"下拉列表Menu模块. @@ -63,11 +64,14 @@ public class ElementCasePaneDelegate extends ElementCasePane { // HyperlinkGroupPane hyperlinkGroupPane = ReportHyperlinkGroupPane.getInstance(HyperlinkGroupPaneActionImpl.getInstance()); HyperlinkGroupPane hyperlinkGroupPane = editingTemplate.getHyperLinkPane(HyperlinkGroupPaneActionImpl.getInstance()); hyperlinkGroupPane.populate(ElementCasePaneDelegate.this); - if (((ElementCasePaneDelegate)e.getSource()).getSelection() instanceof FloatSelection) { + if (((ElementCasePaneDelegate) e.getSource()).getSelection() instanceof FloatSelection) { EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.REPORT_FLOAT); -// EastRegionContainerPane.getInstance().replaceCellAttrPane(CellElementPropertyPane.getInstance()); - EastRegionContainerPane.getInstance().replaceFloatElementPane(QuickEditorRegion.getInstance()); + JPanel floatPane = new JPanel(new BorderLayout()); + floatPane.add(ReportFloatPane.getInstance(), BorderLayout.NORTH); + floatPane.add(QuickEditorRegion.getInstance(), BorderLayout.CENTER); + EastRegionContainerPane.getInstance().replaceFloatElementPane(floatPane); } else { + EastRegionContainerPane.getInstance().replaceFloatElementPane(ReportFloatPane.getInstance()); EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.REPORT); EastRegionContainerPane.getInstance().replaceCellAttrPane(CellElementPropertyPane.getInstance()); EastRegionContainerPane.getInstance().replaceCellElementPane(QuickEditorRegion.getInstance()); diff --git a/designer/src/com/fr/design/mainframe/ReportFloatPane.java b/designer/src/com/fr/design/mainframe/ReportFloatPane.java new file mode 100644 index 000000000..fe191f948 --- /dev/null +++ b/designer/src/com/fr/design/mainframe/ReportFloatPane.java @@ -0,0 +1,99 @@ +package com.fr.design.mainframe; + +import com.fr.design.actions.UpdateAction; +import com.fr.design.actions.core.ActionFactory; +import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.gui.ibutton.UIButton; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itoolbar.UIToolbar; +import com.fr.design.layout.TableLayout; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.menu.KeySetUtils; +import com.fr.design.menu.MenuDef; +import com.fr.general.Inter; + +import javax.swing.*; +import java.awt.*; + +/** + * 悬浮元素 + * Created by MoMeak on 2017/7/27. + */ +public class ReportFloatPane extends JPanel { + + private static ReportFloatPane THIS; + private ElementCasePaneDelegate elementCasePaneDelegate; + private MenuDef insertFloatMenu; + + private ReportFloatPane() { + initComponent(); + } + + public synchronized static final ReportFloatPane getInstance() { + if (THIS == null) { + THIS = new ReportFloatPane(); + } + return THIS; + } + + private void initComponent() { + this.setLayout(new BorderLayout()); + + UIToolbar topToolBar = new UIToolbar(); + topToolBar.setLayout(new BorderLayout()); + insertFloatMenu = createInsertToolBar(); + topToolBar.add(createButtonUI()); + topToolBar.setBorder(BorderFactory.createEmptyBorder(2, 10, 2, 0)); + + double p = TableLayout.PREFERRED; + double f = TableLayout.FILL; + double[] columnSize = {p, f}; + double[] rowSize = {p}; + Component[][] components = new Component[][]{ + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Add_FloatElement")), topToolBar}, + }; + JPanel leftTopPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + leftTopPane.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 10)); + this.add(leftTopPane, BorderLayout.NORTH); + } + + private MenuDef createInsertToolBar() { + MenuDef insertFloatMenu = new MenuDef(); + insertFloatMenu.setName(KeySetUtils.INSERT_FLOAT.getMenuKeySetName()); + insertFloatMenu.setTooltip(Inter.getLocText("FR-Designer_T_Insert_Float")); + insertFloatMenu.setIconPath("com/fr/design/images/control/addPopup.png"); + JTemplate editingTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + elementCasePaneDelegate = (ElementCasePaneDelegate) editingTemplate.getCurrentElementCasePane(); + UpdateAction[] actions = ActionFactory.createFloatInsertAction(ElementCasePane.class, elementCasePaneDelegate); + for (int i = 0; i < actions.length; i++) { + insertFloatMenu.addShortCut(actions[i]); + } + return insertFloatMenu; + + } + + private UIButton createButtonUI() { + UIButton createdButton = insertFloatMenu.createUIButton(); + // 此按钮单独抽出,不应使用工具栏外观 + if (!createdButton.isOpaque()) { + createdButton.setOpaque(true); + createdButton.setNormalPainted(true); + createdButton.setBorderPaintedOnlyWhenPressed(false); + } + return createdButton; + } + + + public static void main(String[] args) { +// JFrame jf = new JFrame("test"); +// jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +// JPanel content = (JPanel) jf.getContentPane(); +// content.setLayout(new BorderLayout()); +// content.add(ReportFloatPane.getInstance(), BorderLayout.CENTER); +// GUICoreUtils.centerWindow(jf); +// jf.setSize(250, 400); +// jf.setVisible(true); + } + + +} diff --git a/designer/src/com/fr/grid/GridMouseAdapter.java b/designer/src/com/fr/grid/GridMouseAdapter.java index 27e93b866..147155e43 100644 --- a/designer/src/com/fr/grid/GridMouseAdapter.java +++ b/designer/src/com/fr/grid/GridMouseAdapter.java @@ -25,7 +25,6 @@ import com.fr.stable.ArrayUtils; import com.fr.stable.ColumnRow; import com.fr.stable.StringUtils; import com.fr.stable.unit.FU; -import com.fr.stable.unit.OLDPIX; import javax.swing.*; import java.awt.*; @@ -72,7 +71,7 @@ public class GridMouseAdapter implements MouseListener, MouseWheelListener, Mous private int ECBlockGap = 40; - private int resolution = (int) (ScreenResolution.getScreenResolution()* JSliderPane.getInstance().resolutionTimes); + private int resolution = (int) (ScreenResolution.getScreenResolution() * JSliderPane.getInstance().resolutionTimes); protected GridMouseAdapter(Grid grid) { this.grid = grid; @@ -93,19 +92,15 @@ public class GridMouseAdapter implements MouseListener, MouseWheelListener, Mous grid.requestFocus(); } - if (grid.getDrawingFloatElement() != null) { - doWithDrawingFloatElement(); + if (SwingUtilities.isRightMouseButton(evt)) { + doWithRightButtonPressed(); } else { - if (SwingUtilities.isRightMouseButton(evt)) { - doWithRightButtonPressed(); - } else { - doWithLeftButtonPressed(evt); - } - // 用户没有按住Shift键时,tempOldSelectedCell是一直变化的。如果一直按住shift,是不变的 - ElementCasePane ePane = grid.getElementCasePane(); - if (!evt.isShiftDown() && ePane.getSelection() instanceof CellSelection) { - tempOldSelectedCell = GridUtils.getAdjustEventColumnRow_withresolution(ePane, oldEvtX, oldEvtY,resolution); - } + doWithLeftButtonPressed(evt); + } + // 用户没有按住Shift键时,tempOldSelectedCell是一直变化的。如果一直按住shift,是不变的 + ElementCasePane ePane = grid.getElementCasePane(); + if (!evt.isShiftDown() && ePane.getSelection() instanceof CellSelection) { + tempOldSelectedCell = GridUtils.getAdjustEventColumnRow_withresolution(ePane, oldEvtX, oldEvtY, resolution); } } @@ -240,14 +235,9 @@ public class GridMouseAdapter implements MouseListener, MouseWheelListener, Mous boolean isDataChanged = false; ElementCasePane reportPane = grid.getElementCasePane(); Selection selection = reportPane.getSelection(); - if (grid.getDrawingFloatElement() != null) { - if (grid.getDrawingFloatElement().getWidth().equal_zero() && grid.getDrawingFloatElement().getHeight().equal_zero()) { - grid.getDrawingFloatElement().setWidth(new OLDPIX(100)); - grid.getDrawingFloatElement().setHeight(new OLDPIX(100)); - } - grid.setDrawingFloatElement(null); - } else if (selection instanceof FloatSelection) { - grid.setCursor(Cursor.getDefaultCursor()); + + if (selection instanceof FloatSelection) { + grid.setCursor(new Cursor(Cursor.MOVE_CURSOR)); } if (grid.getDragType() == GridUtils.DRAG_CELLSELECTION) { if (selection instanceof CellSelection) { @@ -586,16 +576,13 @@ public class GridMouseAdapter implements MouseListener, MouseWheelListener, Mous */ private void mouseMoveOnGrid(int evtX, int evtY) { grid.setToolTipText(null); - if (grid.getDrawingFloatElement() != null) { - grid.setCursor(UIConstants.DRAW_CURSOR); // august:是否是将要画悬浮元素,就是那个笔的形状 - } else { - Object[] floatElementCursor = GridUtils.getAboveFloatElementCursor(grid.getElementCasePane(), evtX, evtY); - if (!ArrayUtils.isEmpty(floatElementCursor)) {// 鼠标在悬浮元素上移动 - grid.setCursor((Cursor) floatElementCursor[1]); - } else {// 鼠标在单元格上移动 - doMouseMoveOnCells(evtX, evtY); - } + Object[] floatElementCursor = GridUtils.getAboveFloatElementCursor(grid.getElementCasePane(), evtX, evtY); + if (!ArrayUtils.isEmpty(floatElementCursor)) {// 鼠标在悬浮元素上移动 + grid.setCursor((Cursor) floatElementCursor[1]); + } else {// 鼠标在单元格上移动 + doMouseMoveOnCells(evtX, evtY); } + } /** @@ -765,8 +752,10 @@ public class GridMouseAdapter implements MouseListener, MouseWheelListener, Mous FloatElement floatElement = (FloatElement) tmpFloatElementCursor[0]; String floatName = floatElement.getName(); reportPane.setSelection(new FloatSelection(floatName)); - double[] floatArray = GridUtils.caculateFloatElementLocations(floatElement, ReportHelper.getColumnWidthList(report), ReportHelper.getRowHeightList(report), reportPane - .getGrid().getVerticalValue(), reportPane.getGrid().getHorizontalValue()); +// double[] floatArray = GridUtils.caculateFloatElementLocations(floatElement, ReportHelper.getColumnWidthList(report), ReportHelper.getRowHeightList(report), reportPane +// .getGrid().getVerticalValue(), reportPane.getGrid().getHorizontalValue()); + double[] floatArray = GridUtils.caculateFloatElementLocations_withresolution(floatElement, ReportHelper.getColumnWidthList(report), ReportHelper.getRowHeightList(report), reportPane + .getGrid().getVerticalValue(), reportPane.getGrid().getHorizontalValue(), grid.getResolution()); int cursorType = ((Cursor) tmpFloatElementCursor[1]).getType(); if (cursorType == Cursor.MOVE_CURSOR) { diff --git a/designer/src/com/fr/grid/GridUtils.java b/designer/src/com/fr/grid/GridUtils.java index d197ec907..635a2e30d 100644 --- a/designer/src/com/fr/grid/GridUtils.java +++ b/designer/src/com/fr/grid/GridUtils.java @@ -65,12 +65,11 @@ public class GridUtils { Iterator flotIt = report.floatIterator(); while (flotIt.hasNext()) { FloatElement tmpFloatElement = (FloatElement) flotIt.next(); + int resolution = reportPane.getGrid().getResolution(); //peter:计算悬浮元素的四个角落的位置. - double[] floatArray = caculateFloatElementLocations(tmpFloatElement, ReportHelper.getColumnWidthList(report), - ReportHelper.getRowHeightList(report), reportPane.getGrid().getVerticalValue(), reportPane.getGrid().getHorizontalValue()); + double[] floatArray = caculateFloatElementLocations_withresolution(tmpFloatElement, ReportHelper.getColumnWidthList(report), + ReportHelper.getRowHeightList(report), reportPane.getGrid().getVerticalValue(), reportPane.getGrid().getHorizontalValue(), resolution); -// int resolution = ScreenResolution.getScreenResolution(); - int resolution = (int) (ScreenResolution.getScreenResolution()* JSliderPane.getInstance().resolutionTimes); //peter:悬浮元素的范围. Rectangle2D floatElementRect = new Rectangle2D.Double(floatArray[0], floatArray[1], tmpFloatElement.getWidth().toPixD(resolution), tmpFloatElement.getHeight().toPixD(resolution)); //peter:不是当前选中的悬浮元素,不支持六个改变大小的点. @@ -127,7 +126,19 @@ public class GridUtils { public static double[] caculateFloatElementLocations(FloatElement floatElement, DynamicUnitList columnWidthList, DynamicUnitList rowHeightList, int verticalValue, int horizentalValue) { // int resolution = ScreenResolution.getScreenResolution(); - int resolution = (int) (ScreenResolution.getScreenResolution()* JSliderPane.getInstance().resolutionTimes); + int resolution = (int) (ScreenResolution.getScreenResolution() * JSliderPane.getInstance().resolutionTimes); + + double floatX = columnWidthList.getRangeValue(horizentalValue, 0).toPixD(resolution) + floatElement.getLeftDistance().toPixD(resolution); + double floatY = rowHeightList.getRangeValue(verticalValue, 0).toPixD(resolution) + floatElement.getTopDistance().toPixD(resolution); + + double floatX2 = floatX + floatElement.getWidth().toPixD(resolution); + double floatY2 = floatY + floatElement.getHeight().toPixD(resolution); + + return new double[]{floatX, floatY, floatX2, floatY2}; + } + + public static double[] caculateFloatElementLocations_withresolution(FloatElement floatElement, DynamicUnitList columnWidthList, DynamicUnitList rowHeightList, + int verticalValue, int horizentalValue, int resolution) { double floatX = columnWidthList.getRangeValue(horizentalValue, 0).toPixD(resolution) + floatElement.getLeftDistance().toPixD(resolution); double floatY = rowHeightList.getRangeValue(verticalValue, 0).toPixD(resolution) + floatElement.getTopDistance().toPixD(resolution); @@ -170,7 +181,7 @@ public class GridUtils { double tmpIntIndex = 0; int selectedCellIndex = 0; // int resolution = ScreenResolution.getScreenResolution(); - int resolution = (int) (ScreenResolution.getScreenResolution()* JSliderPane.getInstance().resolutionTimes); + int resolution = (int) (ScreenResolution.getScreenResolution() * JSliderPane.getInstance().resolutionTimes); if (mouseEvtPosition < 0) { selectedCellIndex = value; for (; true; selectedCellIndex--) { diff --git a/designer/src/com/fr/poly/creator/ECBlockEditor.java b/designer/src/com/fr/poly/creator/ECBlockEditor.java index 50a6bc92c..ffcb9ae79 100644 --- a/designer/src/com/fr/poly/creator/ECBlockEditor.java +++ b/designer/src/com/fr/poly/creator/ECBlockEditor.java @@ -3,8 +3,6 @@ */ package com.fr.poly.creator; -import java.awt.Dimension; - import com.fr.base.BaseUtils; import com.fr.base.ScreenResolution; import com.fr.design.constants.UIConstants; @@ -15,6 +13,8 @@ import com.fr.design.gui.frpane.HyperlinkGroupPane; import com.fr.design.mainframe.*; import com.fr.design.mainframe.cell.QuickEditorRegion; import com.fr.grid.GridUtils; +import com.fr.grid.selection.FloatSelection; +import com.fr.grid.selection.Selection; import com.fr.poly.PolyConstants; import com.fr.poly.PolyDesigner; import com.fr.poly.PolyDesigner.SelectionType; @@ -24,131 +24,143 @@ import com.fr.report.poly.PolyECBlock; import com.fr.stable.unit.UNITConstants; import com.fr.stable.unit.UnitRectangle; +import javax.swing.*; +import java.awt.*; + /** * @author richer * @since 6.5.4 创建于2011-5-5 单元格类型的聚合块编辑器 */ public class ECBlockEditor extends BlockEditor { - private static final int HEIGHT_MORE = 5; - - public ECBlockEditor(PolyDesigner designer, ECBlockCreator creator) { - super(designer, creator); - } - - @Override - protected void initDataChangeListener() { - editComponent.addTargetModifiedListener(new TargetModifiedListener() { - - @Override - public void targetModified(TargetModifiedEvent e) { - designer.fireTargetModified(); - } - }); - } - - /** - * 获取当前编辑的组件 - * - * @return 聚合报表组件 - * - * - * @date 2014-11-24-下午3:49:12 - * - */ - public ECBlockPane createEffective() { - PolyECBlock pcb = creator.getValue(); - if (editComponent == null) { - editComponent = new ECBlockPane(designer, pcb, this); - } - if (DesignerContext.getFormatState() == DesignerContext.FORMAT_STATE_NULL) { - editComponent.getGrid().setCursor(UIConstants.CELL_DEFAULT_CURSOR); - } - return editComponent; - } - - @Override - protected void initSize() { - resolution = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getJTemplateResolution(); - if (resolution == 0){ - resolution = ScreenResolution.getScreenResolution(); - } - Dimension cornerSize = getCornerSize(); - PolyECBlock block = getValue(); - UnitRectangle ub = block.getBounds(); - int x = ub.x.toPixI(resolution) - cornerSize.width - designer.getHorizontalValue(); - int y = ub.y.toPixI(resolution) - cornerSize.height - designer.getVerticalValue(); - int w = ub.width.toPixI(resolution) + cornerSize.width + PolyConstants.OPERATION_SIZE - + UNITConstants.DELTA.toPixI(resolution); - int h = ub.height.toPixI(resolution) + cornerSize.height + PolyConstants.OPERATION_SIZE - + UNITConstants.DELTA.toPixI(resolution); - setBounds(x, y, w, h); - editComponent.getGrid().setVerticalExtent( - GridUtils.getExtentValue(0, block.getRowHeightList_DEC(), editComponent.getGrid().getHeight(), - resolution)); - editComponent.getGrid().setHorizontalExtent( - GridUtils.getExtentValue(0, block.getColumnWidthList_DEC(), editComponent.getGrid().getWidth(), - resolution)); - } - - public void setBounds(int x, int y, int width, int height) { - int selfheight = height + HEIGHT_MORE; - super.setBounds(x, y, width, selfheight); - } - - @Override - protected Dimension getAddHeigthPreferredSize() { - Dimension cornerSize = getCornerSize(); - cornerSize.height = PolyConstants.OPERATION_SIZE; - return cornerSize; - } - - @Override - protected Dimension getAddWidthPreferredSize() { - Dimension cornerSize = getCornerSize(); - cornerSize.width = PolyConstants.OPERATION_SIZE; - return cornerSize; - } - - @Override - protected RowOperationMouseHandler createRowOperationMouseHandler() { - return new RowOperationMouseHandler.ECBlockRowOperationMouseHandler(designer, this); - } - - @Override - protected ColumnOperationMouseHandler createColumnOperationMouseHandler() { - return new ColumnOperationMouseHandler.ECBlockColumnOperationMouseHandler(designer, this); - } - - @Override - public Dimension getCornerSize() { - return editComponent.getCornerSize(); - } - - /** - * 重置当前的选择状态, 用于更新右侧属性表 - * - * - * @date 2014-11-24-下午3:48:19 - * - */ - public void resetSelectionAndChooseState() { - designer.setChooseType(SelectionType.INNER); - if (BaseUtils.isAuthorityEditing()) { - JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if (jTemplate.isJWorkBook()) { - //清参数面板 - jTemplate.removeParameterPaneSelection(); - } - designer.noAuthorityEdit(); - return; - } - QuickEditorRegion.getInstance().populate(editComponent.getCurrentEditor()); - CellElementPropertyPane.getInstance().populate(editComponent); - EastRegionContainerPane.getInstance().replaceCellAttrPane(CellElementPropertyPane.getInstance()); - - HyperlinkGroupPane hyperlinkGroupPane = DesignerContext.getDesignerFrame().getSelectedJTemplate() - .getHyperLinkPane(HyperlinkGroupPaneActionImpl.getInstance()); - hyperlinkGroupPane.populate(editComponent); - } + private static final int HEIGHT_MORE = 5; + + public ECBlockEditor(PolyDesigner designer, ECBlockCreator creator) { + super(designer, creator); + } + + @Override + protected void initDataChangeListener() { + editComponent.addTargetModifiedListener(new TargetModifiedListener() { + + @Override + public void targetModified(TargetModifiedEvent e) { + designer.fireTargetModified(); + } + }); + } + + /** + * 获取当前编辑的组件 + * + * @return 聚合报表组件 + * @date 2014-11-24-下午3:49:12 + */ + public ECBlockPane createEffective() { + PolyECBlock pcb = creator.getValue(); + if (editComponent == null) { + editComponent = new ECBlockPane(designer, pcb, this); + } + if (DesignerContext.getFormatState() == DesignerContext.FORMAT_STATE_NULL) { + editComponent.getGrid().setCursor(UIConstants.CELL_DEFAULT_CURSOR); + } + return editComponent; + } + + @Override + protected void initSize() { + resolution = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getJTemplateResolution(); + if (resolution == 0) { + resolution = ScreenResolution.getScreenResolution(); + } + Dimension cornerSize = getCornerSize(); + PolyECBlock block = getValue(); + UnitRectangle ub = block.getBounds(); + int x = ub.x.toPixI(resolution) - cornerSize.width - designer.getHorizontalValue(); + int y = ub.y.toPixI(resolution) - cornerSize.height - designer.getVerticalValue(); + int w = ub.width.toPixI(resolution) + cornerSize.width + PolyConstants.OPERATION_SIZE + + UNITConstants.DELTA.toPixI(resolution); + int h = ub.height.toPixI(resolution) + cornerSize.height + PolyConstants.OPERATION_SIZE + + UNITConstants.DELTA.toPixI(resolution); + setBounds(x, y, w, h); + editComponent.getGrid().setVerticalExtent( + GridUtils.getExtentValue(0, block.getRowHeightList_DEC(), editComponent.getGrid().getHeight(), + resolution)); + editComponent.getGrid().setHorizontalExtent( + GridUtils.getExtentValue(0, block.getColumnWidthList_DEC(), editComponent.getGrid().getWidth(), + resolution)); + } + + public void setBounds(int x, int y, int width, int height) { + int selfheight = height + HEIGHT_MORE; + super.setBounds(x, y, width, selfheight); + } + + @Override + protected Dimension getAddHeigthPreferredSize() { + Dimension cornerSize = getCornerSize(); + cornerSize.height = PolyConstants.OPERATION_SIZE; + return cornerSize; + } + + @Override + protected Dimension getAddWidthPreferredSize() { + Dimension cornerSize = getCornerSize(); + cornerSize.width = PolyConstants.OPERATION_SIZE; + return cornerSize; + } + + @Override + protected RowOperationMouseHandler createRowOperationMouseHandler() { + return new RowOperationMouseHandler.ECBlockRowOperationMouseHandler(designer, this); + } + + @Override + protected ColumnOperationMouseHandler createColumnOperationMouseHandler() { + return new ColumnOperationMouseHandler.ECBlockColumnOperationMouseHandler(designer, this); + } + + @Override + public Dimension getCornerSize() { + return editComponent.getCornerSize(); + } + + /** + * 重置当前的选择状态, 用于更新右侧属性表 + * + * @date 2014-11-24-下午3:48:19 + */ + public void resetSelectionAndChooseState() { + designer.setChooseType(SelectionType.INNER); + if (BaseUtils.isAuthorityEditing()) { + JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + if (jTemplate.isJWorkBook()) { + //清参数面板 + jTemplate.removeParameterPaneSelection(); + } + designer.noAuthorityEdit(); + return; + } + QuickEditorRegion.getInstance().populate(editComponent.getCurrentEditor()); + CellElementPropertyPane.getInstance().populate(editComponent); + Selection Selection = ((JWorkBook) (HistoryTemplateListPane.getInstance().getCurrentEditingTemplate())).getEditingElementCasePane().getSelection(); + if (Selection instanceof FloatSelection) { + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.REPORT_FLOAT); + JPanel floatPane = new JPanel(new BorderLayout()); + floatPane.add(ReportFloatPane.getInstance(), BorderLayout.NORTH); + floatPane.add(QuickEditorRegion.getInstance(), BorderLayout.CENTER); + EastRegionContainerPane.getInstance().replaceFloatElementPane(floatPane); + } else { + EastRegionContainerPane.getInstance().replaceFloatElementPane(ReportFloatPane.getInstance()); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.REPORT); + EastRegionContainerPane.getInstance().replaceCellAttrPane(CellElementPropertyPane.getInstance()); + EastRegionContainerPane.getInstance().replaceCellElementPane(QuickEditorRegion.getInstance()); + } + + EastRegionContainerPane.getInstance().replaceCellAttrPane(CellElementPropertyPane.getInstance()); + + HyperlinkGroupPane hyperlinkGroupPane = DesignerContext.getDesignerFrame().getSelectedJTemplate() + .getHyperLinkPane(HyperlinkGroupPaneActionImpl.getInstance()); + hyperlinkGroupPane.populate(editComponent); + } } \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/floatquick/FloatImageQuickEditor.java b/designer/src/com/fr/quickeditor/floatquick/FloatImageQuickEditor.java index 72c911902..34a6d147d 100644 --- a/designer/src/com/fr/quickeditor/floatquick/FloatImageQuickEditor.java +++ b/designer/src/com/fr/quickeditor/floatquick/FloatImageQuickEditor.java @@ -1,39 +1,37 @@ package com.fr.quickeditor.floatquick; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.*; - -import com.fr.base.BaseUtils; import com.fr.base.Style; +import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; import com.fr.design.report.SelectImagePane; -import com.fr.design.dialog.DialogActionAdapter; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.quickeditor.FloatQuickEditor; import com.fr.report.cell.cellattr.CellImage; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + public class FloatImageQuickEditor extends FloatQuickEditor { - public FloatImageQuickEditor() { - super(); - UIButton editbutton = new UIButton(Inter.getLocText("Edit"), BaseUtils.readIcon("/com/fr/design/images/m_insert/image.png")); - editbutton.addActionListener(new ActionListener() { + public FloatImageQuickEditor() { + super(); + UIButton editbutton = new UIButton(Inter.getLocText("FR-Designer_Edit")); + editbutton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - showEditingDialog(); - } - }); - editbutton.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0)); - editbutton.setMargin(null); - editbutton.setOpaque(false); + @Override + public void actionPerformed(ActionEvent e) { + showEditingDialog(); + } + }); + editbutton.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0)); + editbutton.setMargin(null); + editbutton.setOpaque(false); Component[][] components = new Component[][]{ new Component[]{editbutton} }; @@ -41,38 +39,39 @@ public class FloatImageQuickEditor extends FloatQuickEditor { double f = TableLayout.FILL; double[] columnSize = {f}; double[] rowSize = {p}; - JPanel pane = TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize); + JPanel pane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); this.setLayout(new BorderLayout()); - this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); - this.add(pane,BorderLayout.CENTER); + + this.setBorder(BorderFactory.createEmptyBorder(10, 74, 10, 10)); + this.add(pane, BorderLayout.CENTER); - } + } - private void showEditingDialog() { - final SelectImagePane imageEditorPane = new SelectImagePane(); - imageEditorPane.populate(floatElement); - final Object oldValue = floatElement.getValue(); - final Style oldStyle = floatElement.getStyle(); - imageEditorPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { + private void showEditingDialog() { + final SelectImagePane imageEditorPane = new SelectImagePane(); + imageEditorPane.populate(floatElement); + final Object oldValue = floatElement.getValue(); + final Style oldStyle = floatElement.getStyle(); + imageEditorPane.showWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { - @Override - public void doOk() { - CellImage cellImage = imageEditorPane.update(); - if (!ComparatorUtils.equals(cellImage.getImage(), oldValue) || !ComparatorUtils.equals(cellImage.getStyle(), oldStyle)) { - floatElement.setValue(cellImage.getImage()); - floatElement.setStyle(cellImage.getStyle()); - fireTargetModified(); - } - } + @Override + public void doOk() { + CellImage cellImage = imageEditorPane.update(); + if (!ComparatorUtils.equals(cellImage.getImage(), oldValue) || !ComparatorUtils.equals(cellImage.getStyle(), oldStyle)) { + floatElement.setValue(cellImage.getImage()); + floatElement.setStyle(cellImage.getStyle()); + fireTargetModified(); + } + } - }).setVisible(true); - } + }).setVisible(true); + } - @Override - protected void refreshDetails() { - // TODO Auto-generated method stub + @Override + protected void refreshDetails() { + // TODO Auto-generated method stub - } + } } \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/floatquick/FloatStringQuickEditor.java b/designer/src/com/fr/quickeditor/floatquick/FloatStringQuickEditor.java index 820315c4b..04bf7808a 100644 --- a/designer/src/com/fr/quickeditor/floatquick/FloatStringQuickEditor.java +++ b/designer/src/com/fr/quickeditor/floatquick/FloatStringQuickEditor.java @@ -1,102 +1,127 @@ package com.fr.quickeditor.floatquick; -import java.awt.*; - -import javax.swing.*; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; - +import com.fr.base.BaseUtils; import com.fr.base.Formula; import com.fr.base.Style; import com.fr.base.TextFormat; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.gui.ibutton.UIButton; +import com.fr.design.mainframe.ElementCasePane; import com.fr.quickeditor.FloatQuickEditor; import com.fr.report.ReportHelper; import com.fr.stable.StringUtils; +import javax.swing.*; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + public class FloatStringQuickEditor extends FloatQuickEditor { - private UITextField stringTextField; - - // august:如果是原来编辑的是公式,要保留公式里的这些属性,不然在公式和字符串转化时,就会丢失这些属性设置 - private boolean reserveInResult = false; - private boolean reserveOnWriteOrAnaly = true; - - public FloatStringQuickEditor() { - super(); - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] cloumnSize = {f}; - double[] rowSize = {p}; - stringTextField = new UITextField(); - Component[][] components = new Component[][]{ - new Component[]{stringTextField} - }; - JPanel pane = TableLayoutHelper.createTableLayoutPane(components,rowSize,cloumnSize) ; + private JTextArea stringTextField; + private UIButton formulaButton; + + // august:如果是原来编辑的是公式,要保留公式里的这些属性,不然在公式和字符串转化时,就会丢失这些属性设置 + private boolean reserveInResult = false; + private boolean reserveOnWriteOrAnaly = true; + + public FloatStringQuickEditor() { + super(); + stringTextField = new JTextArea(); + initTextField(); + formulaButton = new UIButton(); + formulaButton.setPreferredSize(new Dimension(25, 23)); + formulaButton.setIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/formula.png")); + formulaButton.addActionListener(getFormulaActionListener); + JPanel pane = new JPanel(new BorderLayout(5, 0)); + pane.add(stringTextField, BorderLayout.CENTER); + pane.add(formulaButton, BorderLayout.EAST); + formulaButton.setVisible(false); this.setLayout(new BorderLayout()); this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); - this.add(pane,BorderLayout.CENTER); - } - - @Override - protected void refreshDetails() { - String str = null; - Object value = floatElement.getValue(); - if (value == null) { - str = StringUtils.EMPTY; - } else if (value instanceof Formula) { - Formula formula = (Formula)value; - str = formula.getContent(); - reserveInResult = formula.isReserveInResult(); - reserveOnWriteOrAnaly = formula.isReserveOnWriteOrAnaly(); - } else { - str = value.toString(); - } - showText(str); - } - - public void showText(String str) { - stringTextField.getDocument().removeDocumentListener(documentListener); - stringTextField.setText(str); - stringTextField.getDocument().addDocumentListener(documentListener); - } - - DocumentListener documentListener = new DocumentListener() { - - @Override - public void insertUpdate(DocumentEvent e) { - changeReportPaneCell(stringTextField.getText().trim()); - } - - @Override - public void removeUpdate(DocumentEvent e) { - changeReportPaneCell(stringTextField.getText().trim()); - } - - @Override - public void changedUpdate(DocumentEvent e) { - changeReportPaneCell(stringTextField.getText().trim()); - } - - }; - - protected void changeReportPaneCell(String tmpText) { - if (tmpText != null && (tmpText.length() > 0 && tmpText.charAt(0) == '=')) { - Formula textFormula = new Formula(tmpText); - textFormula.setReserveInResult(reserveInResult); - textFormula.setReserveOnWriteOrAnaly(reserveOnWriteOrAnaly); - floatElement.setValue(textFormula); - } else { - Style style = floatElement.getStyle(); - if (floatElement != null && style != null && style.getFormat() != null && style.getFormat() == TextFormat.getInstance()) { - floatElement.setValue(tmpText); - } else { - floatElement.setValue(ReportHelper.convertGeneralStringAccordingToExcel(tmpText)); - } - } - fireTargetModified(); - stringTextField.requestFocus(); - } + this.add(pane, BorderLayout.NORTH); + } + + private void initTextField() { + stringTextField.setFont(new Font("Dialog", Font.PLAIN, 12)); + stringTextField.setOpaque(true); + stringTextField.setLineWrap(true); + stringTextField.setWrapStyleWord(true); + stringTextField.setMargin(new Insets(5, 5, 5, 5)); + stringTextField.setBorder(BorderFactory.createLineBorder(Color.gray)); + stringTextField.setBackground(Color.white); + } + + ActionListener getFormulaActionListener = new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + ((ElementCasePane) HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().getCurrentElementCasePane()).getGrid().startEditing(); + } + }; + + @Override + protected void refreshDetails() { + String str = null; + Object value = floatElement.getValue(); + if (value == null) { + str = StringUtils.EMPTY; + } else if (value instanceof Formula) { + //MoMeak: 没拆文本框和公式所以需要这么个玩意 + formulaButton.setVisible(true); + Formula formula = (Formula) value; + str = formula.getContent(); + stringTextField.setLineWrap(false); + this.setBorder(BorderFactory.createEmptyBorder(10, 74, 10, 10)); + reserveInResult = formula.isReserveInResult(); + reserveOnWriteOrAnaly = formula.isReserveOnWriteOrAnaly(); + } else { + str = value.toString(); + } + showText(str); + } + + public void showText(String str) { + stringTextField.getDocument().removeDocumentListener(documentListener); + stringTextField.setText(str); + stringTextField.getDocument().addDocumentListener(documentListener); + } + + DocumentListener documentListener = new DocumentListener() { + + @Override + public void insertUpdate(DocumentEvent e) { + changeReportPaneCell(stringTextField.getText().trim()); + } + + @Override + public void removeUpdate(DocumentEvent e) { + changeReportPaneCell(stringTextField.getText().trim()); + } + + @Override + public void changedUpdate(DocumentEvent e) { + changeReportPaneCell(stringTextField.getText().trim()); + } + + }; + + protected void changeReportPaneCell(String tmpText) { + if (tmpText != null && (tmpText.length() > 0 && tmpText.charAt(0) == '=')) { + Formula textFormula = new Formula(tmpText); + textFormula.setReserveInResult(reserveInResult); + textFormula.setReserveOnWriteOrAnaly(reserveOnWriteOrAnaly); + floatElement.setValue(textFormula); + } else { + Style style = floatElement.getStyle(); + if (floatElement != null && style != null && style.getFormat() != null && style.getFormat() == TextFormat.getInstance()) { + floatElement.setValue(tmpText); + } else { + floatElement.setValue(ReportHelper.convertGeneralStringAccordingToExcel(tmpText)); + } + } + fireTargetModified(); + stringTextField.requestFocus(); + } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 0cb4ae2ef..968e44ba6 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2092,3 +2092,9 @@ FR-Designer_CellWrite_Show_As_HTML=CellWrite_Show_As_HTML FR-Designer_Datasource_Other_Attributes=Other_Attributes FR-Designer_Not_use_a_cell_attribute_table_editing=Not_use_a_cell_attribute_table_editing FR-Designer_CellElement_Property_Table=CellElement_Property_Table +FR-Designer_T_Insert_Float=Insert_Float +FR-Designer_Add_FloatElement=Add_FloatElement +FR-Designer_Insert_Image=Insert_Image +FR-Designer_Insert-Chart=Insert-Chart +FR-Designer_Insert-Text=Insert-Text +FR-Designer_Insert_Formula=Insert_Formula diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index c794b6466..c72a2b294 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2093,3 +2093,9 @@ FR-Designer_CellWrite_Show_As_HTML=CellWrite_Show_As_HTML FR-Designer_Datasource_Other_Attributes=Other_Attributes FR-Designer_Not_use_a_cell_attribute_table_editing=Not_use_a_cell_attribute_table_editing FR-Designer_CellElement_Property_Table=CellElement_Property_Table +FR-Designer_T_Insert_Float=Insert_Float +FR-Designer_Add_FloatElement=Add_FloatElement +FR-Designer_Insert_Image=Insert_Image +FR-Designer_Insert_Chart=Insert-Chart +FR-Designer_Insert_Text=Insert-Text +FR-Designer_Insert_Formula=Insert_Formula diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index 6b8dccb0b..d299a9093 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -2075,3 +2075,8 @@ FR-Designer_CellWrite_Show_As_HTML= FR-Designer_Datasource_Other_Attributes= FR-Designer_Not_use_a_cell_attribute_table_editing= FR-Designer_CellElement_Property_Table= +FR-Designer_T_Insert_Float= +FR-Designer_Add_FloatElement= +FR-Designer_Insert_Image= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index c3b44998d..bf72a516b 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2073,3 +2073,9 @@ FR-Designer_CellWrite_Show_As_HTML= FR-Designer_Datasource_Other_Attributes= FR-Designer_Not_use_a_cell_attribute_table_editing= FR-Designer_CellElement_Property_Table= +FR-Designer_T_Insert_Float= +FR-Designer_Add_FloatElement= +FR-Designer_Insert_Image= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= +FR-Designer_Insert_Formula= diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 7f4fc313c..1f09cfa1f 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2092,3 +2092,9 @@ FR-Designer_CellWrite_Show_As_HTML=\u7528HTML\u663E\u793A\u5185\u5BB9 FR-Designer_Datasource_Other_Attributes=\u5176\u4ED6\u5C5E\u6027 FR-Designer_Not_use_a_cell_attribute_table_editing=\u60A8\u4E0D\u53EF\u4EE5\u7528\u5355\u5143\u683C\u5C5E\u6027\u8868\u7F16\u8F91 FR-Designer_CellElement_Property_Table=\u5355\u5143\u683C\u5C5E\u6027\u8868 +FR-Designer_T_Insert_Float=\u63D2\u5165\u60AC\u6D6E\u5143\u7D20 +FR-Designer_Add_FloatElement=\u6DFB\u52A0\u5143\u7D20 +FR-Designer_Insert_Image=\u63D2\u5165\u56FE\u7247 +FR-Designer_Insert_Chart=\u63D2\u5165\u56FE\u8868 +FR-Designer_Insert_Text=\u63D2\u5165\u666E\u901A\u6587\u672C +FR-Designer_Insert_Formula=\u63D2\u5165\u516C\u5F0F diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 9eb688192..186bc20bc 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2092,3 +2092,9 @@ FR-Designer_CellWrite_Show_As_HTML= FR-Designer_Datasource_Other_Attributes= FR-Designer_Not_use_a_cell_attribute_table_editing= FR-Designer_CellElement_Property_Table= +FR-Designer_T_Insert_Float= +FR-Designer_Add_FloatElement= +FR-Designer_Insert_Image= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= +FR-Designer_Insert_Formula= From 30b6cbf9e4a1bc05c0bd8a0d574c15fa1f4bb94c Mon Sep 17 00:00:00 2001 From: hzzz Date: Mon, 31 Jul 2017 10:48:11 +0800 Subject: [PATCH 8/9] i18n --- .../com/fr/design/locale/designer.properties | 15 +++ .../design/locale/designer_en_US.properties | 7 ++ .../design/locale/designer_ja_JP.properties | 96 +++++++++++++++++++ .../design/locale/designer_ko_KR.properties | 96 +++++++++++++++++++ .../design/locale/designer_zh_TW.properties | 20 ++++ 5 files changed, 234 insertions(+) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 6ab2f5cd6..c39f4b5b6 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2100,3 +2100,18 @@ FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert-Chart=Insert-Chart FR-Designer_Insert-Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula + +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= +FR-Designer_Double= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= +FR-Designer_Double= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= +FR-Designer_Double= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= +FR-Designer_Double= +FR-Designer_Insert_Chart= +FR-Designer_Insert_Text= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 94367ad22..3cb3c0e03 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2101,3 +2101,10 @@ FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert_Chart=Insert-Chart FR-Designer_Insert_Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula + +FR-Designer_Insert-Chart= +FR-Designer_Insert-Text= +FR-Designer_Double= +FR-Designer_Double= +FR-Designer_Double= +FR-Designer_Double= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index d299a9093..8cf4da5c8 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -2080,3 +2080,99 @@ FR-Designer_Add_FloatElement= FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= + +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer_AlphaFine_Recommend= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_ShowAll= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Insert-Chart= +FR-Designer_Insert-Text= +FR-Designer_Insert_Formula= +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer_AlphaFine_Recommend= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_ShowAll= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Insert_Formula= +FR-Designer_Insert_Formula= +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_ShowAll= +FR-Designer_AlphaFine_Recommend= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Insert_Formula= +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer_AlphaFine_Recommend= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer_AlphaFine_ShowAll= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer_Insert_Formula= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index bf72a516b..037c17835 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2079,3 +2079,99 @@ FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= FR-Designer_Insert_Formula= + +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer_AlphaFine_Recommend= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_ShowAll= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer_Scale_customButton= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Insert-Chart= +FR-Designer_Insert-Text= +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer_AlphaFine_Recommend= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_ShowAll= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer_Scale_customButton= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Scale_customButton= +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_ShowAll= +FR-Designer_AlphaFine_Recommend= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer_Scale_customButton= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_AlphaFine_Enable= +FR-Designer_AlphaFine_EnableAlphaFine= +FR-Designer_AlphaFine_EnableInternetSearch= +FR-Designer_AlphaFine_Shortcut_Config= +FR-Designer_AlphaFine_SearchRange= +FR-Designer_AlphaFine_Recommend= +FR-Designer-Plugin_Addon= +FR-Designer_Templates= +FR-Designer_Templates_Content= +FR-Designer_AlphaFine_Latest= +FR-Designer_AlphaFine_ShowLess= +FR-Designer_AlphaFine= +FR-Designer_AlphaFine_ShowAll= +FR-Designer-Alphafine_No_Remind= +FR-Designer_AlphaFine_NoResult= +FR-Designer_ConnectionFailed= +FR-Designer_NoResult= +FR-Designer-AlphaFine_SetShortcuts= +FR-Designer_Write_Enhance_Preview= +FR-Designer_Scale_customButton= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 186bc20bc..92effd813 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2098,3 +2098,23 @@ FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= FR-Designer_Insert_Formula= + +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_Scale_EnlargeOrReduce= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Insert-Chart= +FR-Designer_Insert-Text= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_Scale_EnlargeOrReduce= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= +FR-Designer_Scale_EnlargeOrReduce= +FR-Designer_Scale_EnlargeOrReduce= +FR-Designer_AlphaFine_EnableInternet= +FR-Designer_Scale_EnlargeOrReduce= +FR-Designer-StyleAlignment_Style_PartSpacing= +FR-Designer_Use_Params_Template= +FR-Designer_Label_Name= \ No newline at end of file From 71b9d7b16cde0f5cd6e5feed2b99366cf6f6cfde Mon Sep 17 00:00:00 2001 From: hzzz Date: Mon, 31 Jul 2017 11:00:11 +0800 Subject: [PATCH 9/9] i18n --- .../com/fr/design/locale/designer.properties | 13 +--- .../design/locale/designer_en_US.properties | 3 - .../design/locale/designer_ja_JP.properties | 70 ------------------ .../design/locale/designer_ko_KR.properties | 71 +------------------ .../design/locale/designer_zh_TW.properties | 14 +--- 5 files changed, 3 insertions(+), 168 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index c39f4b5b6..74bd5054d 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2103,15 +2103,4 @@ FR-Designer_Insert_Formula=Insert_Formula FR-Designer_Insert_Chart= FR-Designer_Insert_Text= -FR-Designer_Double= -FR-Designer_Insert_Chart= -FR-Designer_Insert_Text= -FR-Designer_Double= -FR-Designer_Insert_Chart= -FR-Designer_Insert_Text= -FR-Designer_Double= -FR-Designer_Insert_Chart= -FR-Designer_Insert_Text= -FR-Designer_Double= -FR-Designer_Insert_Chart= -FR-Designer_Insert_Text= \ No newline at end of file +FR-Designer_Double= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 3cb3c0e03..5f2e1af29 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2104,7 +2104,4 @@ FR-Designer_Insert_Formula=Insert_Formula FR-Designer_Insert-Chart= FR-Designer_Insert-Text= -FR-Designer_Double= -FR-Designer_Double= -FR-Designer_Double= FR-Designer_Double= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index 8cf4da5c8..2dc1b8983 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -1982,7 +1982,6 @@ FR-Base_UnSignIn=\ \u672A\u30ED\u30B0\u30A4\u30F3 Every=\u6BCE CellWrite-Preview_Cell_Content=\u30BB\u30EB\u5185\u5BB9 FormulaD-Data_Fields=\u30C7\u30FC\u30BF\u30D5\u30A3\u30FC\u30EB\u30C9 -FormulaD-Data_Fields=\u30C7\u30FC\u30BF\u30D5\u30A3\u30FC\u30EB\u30C9 FR-Designer_Permissions=\u6A29\u9650 FR-Designer_Form_Button=\u30DC\u30BF\u30F3 FR-Designer_WF_Name=\u540D @@ -2107,72 +2106,3 @@ FR-Designer_Label_Name= FR-Designer_Insert-Chart= FR-Designer_Insert-Text= FR-Designer_Insert_Formula= -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer_AlphaFine_Recommend= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_ShowAll= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Insert_Formula= -FR-Designer_Insert_Formula= -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_ShowAll= -FR-Designer_AlphaFine_Recommend= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Insert_Formula= -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer_AlphaFine_Recommend= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer_AlphaFine_ShowAll= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer_Insert_Formula= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index 037c17835..1baf9c924 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2105,73 +2105,4 @@ FR-Designer-StyleAlignment_Style_PartSpacing= FR-Designer_Use_Params_Template= FR-Designer_Label_Name= FR-Designer_Insert-Chart= -FR-Designer_Insert-Text= -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer_AlphaFine_Recommend= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_ShowAll= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer_Scale_customButton= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Scale_customButton= -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_ShowAll= -FR-Designer_AlphaFine_Recommend= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer_Scale_customButton= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer_AlphaFine_Recommend= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer_AlphaFine_ShowAll= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer_Scale_customButton= \ No newline at end of file +FR-Designer_Insert-Text= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 92effd813..2af8920e0 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2105,16 +2105,4 @@ FR-Designer-StyleAlignment_Style_PartSpacing= FR-Designer_Use_Params_Template= FR-Designer_Label_Name= FR-Designer_Insert-Chart= -FR-Designer_Insert-Text= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_Scale_EnlargeOrReduce= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Scale_EnlargeOrReduce= -FR-Designer_Scale_EnlargeOrReduce= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_Scale_EnlargeOrReduce= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= \ No newline at end of file +FR-Designer_Insert-Text= \ No newline at end of file