diff --git a/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java b/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java index 6cfa4a2667..82d17f9ff8 100644 --- a/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java +++ b/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java @@ -17,6 +17,7 @@ import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.widget.accessibles.AccessibleBackgroundEditor; import com.fr.design.widget.ui.designer.AbstractDataModify; @@ -53,6 +54,12 @@ public class RootDesignDefinePane extends AbstractDataModify { initComponent(); } + public RootDesignDefinePane(XCreator xCreator, FormDesigner designer) { + super(xCreator, designer); + this.root = (XWParameterLayout) xCreator; + initComponent(); + } + public void initComponent() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); diff --git a/designer_form/src/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java b/designer_form/src/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java index 0de1e2bdaf..9c69ec3e10 100644 --- a/designer_form/src/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java +++ b/designer_form/src/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java @@ -85,8 +85,8 @@ public class FormWidgetDefinePaneFactoryBase { Appearance dn = defineMap.get(widget.getClass()); DataModify definePane = null; try { - Constructor con = dn.getDefineClass().getConstructor(XCreator.class); - definePane = (DataModify)con.newInstance(creator); + Constructor con = dn.getDefineClass().getConstructor(XCreator.class, FormDesigner.class); + definePane = (DataModify)con.newInstance(creator, designer); operator.did(definePane.dataUI(), dn.getDisplayName()); } catch (Exception e) { FRContext.getLogger().error(e.getMessage(), e); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java index ad47924d43..d2f7911455 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java @@ -9,8 +9,12 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.FormDesigner; import com.fr.design.widget.ui.designer.component.FontSizeComboPane; import com.fr.form.ui.FieldEditor; +import com.fr.form.ui.Widget; +import com.fr.form.ui.container.WParameterLayout; +import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import javax.swing.*; @@ -34,6 +38,11 @@ public abstract class FieldEditorDefinePane extends Abstr this.initComponents(); } + public FieldEditorDefinePane(XCreator xCreator, FormDesigner designer) { + super(xCreator, designer); + this.initComponents(); + } + protected void initComponents() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); labelNameTextField = new UITextField(); @@ -70,6 +79,11 @@ public abstract class FieldEditorDefinePane extends Abstr e.setAllowBlank(this.allowBlankCheckBox.isSelected()); e.setErrorMessage(this.errorMsgTextField.getText()); e.setFontSize(fontSizePane.getValue()); + if (!ComparatorUtils.equals(e.getLabelName(), labelNameTextField.getText())) { + XCreator xCreator = designer.getSelectionModel().getSelection().getSelectedCreator(); + Widget selectedWidget = xCreator.toData(); + ((WParameterLayout) designer.getParaComponent().toData()).setNameTagModified(selectedWidget.getWidgetName(), true); + } e.setLabelName(labelNameTextField.getText()); return e; } diff --git a/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java index 6facca8573..0d22cc99b1 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java @@ -9,6 +9,7 @@ import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.FormDesigner; import com.fr.design.widget.ui.designer.component.FormWidgetValuePane; import com.fr.form.ui.TextEditor; import com.fr.general.Inter; @@ -27,6 +28,9 @@ public class TextFieldEditorDefinePane extends FieldEditorDefinePane super(xCreator); } + public TextFieldEditorDefinePane(XCreator xCreator, FormDesigner designer) { + super(xCreator, designer); + } @Override protected JPanel setFirstContentPane() {