From 74be32a3a844c67734ee151e7ba228820d7c4165 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 5 Jun 2018 10:54:23 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-6392=20=E5=86=B3=E7=AD=96=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E7=BB=84=E4=BB=B6=E9=87=8D=E5=90=8D=E6=97=B6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=94=99=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/JTemplate.java | 14 ++++++++ .../mainframe/widget/BasicPropertyPane.java | 30 +++++++++++++++++- .../fr/design/form/images/joption_failure.png | Bin 0 -> 900 bytes .../fr/design/form/images/joption_success.png | Bin 0 -> 891 bytes .../src/com/fr/design/mainframe/JForm.java | 6 ++++ .../widget/ui/FormWidgetCardPane.java | 10 ++++++ .../com/fr/design/mainframe/JWorkBook.java | 5 +++ 7 files changed, 64 insertions(+), 1 deletion(-) create mode 100755 designer-form/src/com/fr/design/form/images/joption_failure.png create mode 100755 designer-form/src/com/fr/design/form/images/joption_success.png diff --git a/designer-base/src/com/fr/design/mainframe/JTemplate.java b/designer-base/src/com/fr/design/mainframe/JTemplate.java index bec2dcf2e..14ac74539 100644 --- a/designer-base/src/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/com/fr/design/mainframe/JTemplate.java @@ -1000,10 +1000,24 @@ public abstract class JTemplate> return UIConstants.RUN_BIG_ICON; } + /** + * 获取所有参数 + * + * @return + */ public Parameter[] getParameters() { return new Parameter[0]; } + /** + * 获取模板参数 + * + * @return + */ + public Parameter[] getJTemplateParameters() { + return new Parameter[0]; + } + /** * 请求表单焦点 */ diff --git a/designer-base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java b/designer-base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java index 12b83b3e7..d69f4c282 100644 --- a/designer-base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java +++ b/designer-base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java @@ -13,6 +13,10 @@ import javax.swing.BorderFactory; import javax.swing.JPanel; import java.awt.BorderLayout; import java.awt.Component; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; /** * Created by plough on 2017/8/7. @@ -27,7 +31,31 @@ public class BasicPropertyPane extends BasicPane { protected void initContentPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - widgetName = new UITextField(); + widgetName = new UITextField() { + protected void initListener() { + if (shouldResponseChangeListener()) { + addFocusListener(new FocusListener() { + @Override + public void focusGained(FocusEvent e) { + + } + + @Override + public void focusLost(FocusEvent e) { + attributeChange(); + } + }); + addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + attributeChange(); + } + } + }); + } + } + }; widgetName.setGlobalName(Inter.getLocText("FR-Designer_Basic")); double f = TableLayout.FILL; double p = TableLayout.PREFERRED; diff --git a/designer-form/src/com/fr/design/form/images/joption_failure.png b/designer-form/src/com/fr/design/form/images/joption_failure.png new file mode 100755 index 0000000000000000000000000000000000000000..bea459040de434dfc52c9c32a7011842f35293ce GIT binary patch literal 900 zcmV-~1AF|5P)Px&K1oDDR9FecSItjTK@guUj{?OIL!wOxv_QBRpx)IO#CRaYSoB~F@u(;N0u;l^ zKSGbnK@VtR2sbrGO*AnkK;wLHCy_R(K~fn>MWp8 z3aITkyd2yTmp*|QI|6~4fj$A)p;VGG(GjV(_+&$##MqGs8-dSWxgcB-bR(H~Huswb z!e?~7lA9yIR9_vs87Hx`LuP-!M6nH(MT-?FC)EZ zZgwgKx5?10Ig1+GgCA2mI-K>jc+yf0_;@iIj@jPI8$t~{-v?gc z#&HIq_e{ZUp>%oO=HeW*F3BcY8>+4bsufCPMxUs=gtpO-&7onvHkOC+-dtGv*z|`I% zmZqjHTgG0ojo1N<D-QW;sMB4(f)O1kFuR(M+HiyGG($k zbweM;Ia(vIfZ2!~0W>mfmtJmx4sIA7G&B&_Rlem`w$>4VZ*TkiWUQ@`@%a-4wv!}w zcggJQqss6Il`dYQ(##A|Pmcq>r4I|oDoxS3{DOkdo@yFzv2gD`jV&%nzp(TlKsDpg z{2lepEZtUb#m@0@(z`u}gMM7t+$6%~FGQ~URA}sMBJtPvA?$wi(CQqXs^GnIary10 z-(UEa3&n5LoWssE!v}x%UPJU1BCpEP)Px&HAzH4R9FecR!wLVK@@(wNvRcEK_dylDh4kiq8_}cv{dXtda@{jR1v|OAmU9* zErojTQ3Mgm#h3!OT_pxwKvIDL zlm-Ml4s=YGyjTg297CqLmbf~>u~=t`$x4+w>QE>9dX5{u2%_*@;XB2nyHsZ>`y;?q z^*);$q95fV?Fh9C6br(5@s*gw%%ylQ#nR`mi$)34+ACRnNrkRwbZ_=K4P_outRWfp@LdZyc@g^LxmI3IcD*bTz0AzaiU&qISp^X#*y~gcbn=13p0yHm zMrzaC?6ev5=kCx#dC}sBF9}p%ra8+xiW%iK(B4a9KT|?uS>L*iN#+Qe+)O#GK3kr=%aLM-SU-cOs0Ym*3Iw{3Es(d^mDhj%5i_qX=%!JZ*;P zLjGjxi8gP0WOg2iou*2e9%JlV0y{CsM-@$<cSo~RGdZ6nz|^*&nL)jhDh1=Tw`u)12NY_1@0=%7Gub~qY=1xzn;B;aNEzx0lyBpeP=XFS@Jc=jJ>H&90c zZbm_L%heTnvGkT+mp;(vKY3cL{H6|bEA4BE(TOdG=*+fb)Mm6gpaT6^IJ^`^a&e08 z|C&@Zdhy!!J{mo8Rm6p5!wI0`i*uv$pIIN)I%|+oh(wJ29}hlVYIqY4&OZno96yA( zNpQ1(s#J~6FH|NVH=Mxxl??m^;eupv)`4?i$hb`SX2Q7E{4Ts3PT+8B0{()M`6=4j z(jlruPufcd|i1N>77-@i@8Wr^0r R)^Pv;002ovPDHLkV1l#&n*;y= literal 0 HcmV?d00001 diff --git a/designer-form/src/com/fr/design/mainframe/JForm.java b/designer-form/src/com/fr/design/mainframe/JForm.java index 8897dfb78..b62ffa4a4 100644 --- a/designer-form/src/com/fr/design/mainframe/JForm.java +++ b/designer-form/src/com/fr/design/mainframe/JForm.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe; import com.fr.base.BaseUtils; import com.fr.base.PaperSize; +import com.fr.base.Parameter; import com.fr.design.DesignState; import com.fr.design.actions.core.WorkBookSupportable; import com.fr.design.actions.file.WebPreviewUtils; @@ -680,6 +681,11 @@ public class JForm extends JTemplate implements BaseJForm { return UIConstants.RUN_BIG_ICON; } + @Override + public Parameter[] getJTemplateParameters() { + return this.getTarget().getTemplateParameters(); + } + @Override /** * 创建菜单项Preview diff --git a/designer-form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java b/designer-form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java index 841e9c290..538f26099 100644 --- a/designer-form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java +++ b/designer-form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.widget.ui; +import com.fr.base.BaseUtils; import com.fr.design.data.DataCreatorUI; import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.creator.XCreator; @@ -16,7 +17,9 @@ import com.fr.design.dialog.BasicScrollPane; import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.FormDesigner; import com.fr.design.widget.DataModify; import com.fr.design.widget.FormWidgetDefinePaneFactoryBase; @@ -34,6 +37,7 @@ import com.fr.stable.StringUtils; import javax.swing.BorderFactory; import javax.swing.JComponent; +import javax.swing.JOptionPane; import javax.swing.JPanel; import java.awt.BorderLayout; @@ -208,6 +212,12 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { currentEditorDefinePane.setGlobalName(getGlobalName()); Widget widget = currentEditorDefinePane.updateBean(); if (ComparatorUtils.equals(getGlobalName(), Inter.getLocText("FR-Designer_Basic")) && widgetPropertyPane != null) { + UITextField widgetNameField = widgetPropertyPane.getWidgetNameField(); + if (designer.getTarget().isNameExist(widgetNameField.getText()) && !ComparatorUtils.equals(widgetNameField.getText(), widget.getWidgetName())) { + widgetNameField.setText(widget.getWidgetName()); + JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Inter.getLocText("FR-Designer_Form_Widget_Rename_Failure"), Inter.getLocText("FR-Designer_Joption_News"), JOptionPane.ERROR_MESSAGE, BaseUtils.readIcon("com/fr/design/form/images/joption_failure.png")); + return; + } widgetPropertyPane.update(widget); xCreator.resetCreatorName(widget.getWidgetName()); xCreator.resetVisible(widget.isVisible()); diff --git a/designer-realize/src/com/fr/design/mainframe/JWorkBook.java b/designer-realize/src/com/fr/design/mainframe/JWorkBook.java index 472231b7e..7f885b59f 100644 --- a/designer-realize/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer-realize/src/com/fr/design/mainframe/JWorkBook.java @@ -1027,6 +1027,11 @@ public class JWorkBook extends JTemplate { return ps; } + @Override + public Parameter[] getJTemplateParameters() { + return this.parameterPane.getAllParameters(); + } + /** * 请求单元格区域的焦点 */