From 65a21b3de274ca339558a36e9d8d83d0c912cf23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Fri, 29 Oct 2021 14:05:18 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-58584=20FR11-=E4=BA=8C=E8=BD=AE=E5=9B=9E?= =?UTF-8?q?=E5=BD=92-=E8=AE=BE=E8=AE=A1=E5=99=A8=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F-=E6=9C=8D=E5=8A=A1=E5=99=A8-=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E9=A2=84=E5=AE=9A=E4=B9=89=E6=8E=A7?= =?UTF-8?q?=E4=BB=B6=E9=87=8D=E5=90=8D=E6=97=B6=E6=B2=A1=E6=9C=89=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/widget/WidgetConfigPane.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/designer-realize/src/main/java/com/fr/design/widget/WidgetConfigPane.java b/designer-realize/src/main/java/com/fr/design/widget/WidgetConfigPane.java index 0a981a90f..78fd57d5d 100644 --- a/designer-realize/src/main/java/com/fr/design/widget/WidgetConfigPane.java +++ b/designer-realize/src/main/java/com/fr/design/widget/WidgetConfigPane.java @@ -1,24 +1,55 @@ package com.fr.design.widget; +import com.fr.base.Parameter; +import com.fr.base.ParameterConfig; +import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.controlpane.JListControlPane; import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.core.WidgetConstants; +import com.fr.design.i18n.Toolkit; import com.fr.form.ui.UserDefinedWidgetConfig; import com.fr.form.ui.WidgetConfig; import com.fr.form.ui.WidgetInfoConfig; +import com.fr.general.ComparatorUtils; import com.fr.general.NameObject; import com.fr.stable.Nameable; +import com.fr.stable.StringUtils; +import com.fr.stable.core.PropertyChangeAdapter; +import javax.swing.SwingUtilities; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; +import static javax.swing.JOptionPane.WARNING_MESSAGE; + /** * Widget配置面板 */ public class WidgetConfigPane extends JListControlPane { + public WidgetConfigPane() { + this.addEditingListener(new PropertyChangeAdapter() { + public void propertyChange() { + Parameter[] parameters = ParameterConfig.getInstance().getGlobalParameters(); + String[] allListNames = nameableList.getAllNames(); + allListNames[editingIndex] = StringUtils.EMPTY; + String tempName = getEditingName(); + if (!ComparatorUtils.equals(tempName, selectedName) + && isNameRepeated(new List[]{Arrays.asList(parameters), Arrays.asList(allListNames)}, tempName)) { + nameableList.stopEditing(); + FineJOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(WidgetConfigPane.this), + Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), + Toolkit.i18nText("Fine-Design_Basic_Alert"), + WARNING_MESSAGE); + setIllegalIndex(editingIndex); + } + } + }); + } + /** * 创建用户自定义widget组件 *