Browse Source

MOBILE-7394 解决设计器标签控件赋值后,控件标签名称的赋值问题

方磊 7 years ago
parent
commit
9d2b04f304
  1. 7
      designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java
  2. 4
      designer_form/src/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java
  3. 14
      designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java
  4. 4
      designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java

7
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<WParameterLayout> {
initComponent();
}
public RootDesignDefinePane(XCreator xCreator, FormDesigner designer) {
super(xCreator, designer);
this.root = (XWParameterLayout) xCreator;
initComponent();
}
public void initComponent() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());

4
designer_form/src/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java

@ -85,8 +85,8 @@ public class FormWidgetDefinePaneFactoryBase {
Appearance dn = defineMap.get(widget.getClass());
DataModify<Widget> 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);

14
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<T extends FieldEditor> 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<T extends FieldEditor> 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;
}

4
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<TextEditor>
super(xCreator);
}
public TextFieldEditorDefinePane(XCreator xCreator, FormDesigner designer) {
super(xCreator, designer);
}
@Override
protected JPanel setFirstContentPane() {

Loading…
Cancel
Save