|
|
|
@ -6,15 +6,18 @@ import com.fr.design.gui.icheckbox.UICheckBox;
|
|
|
|
|
import com.fr.design.gui.ilable.UILabel; |
|
|
|
|
import com.fr.design.gui.xtable.TableUtils; |
|
|
|
|
import com.fr.design.layout.TableLayoutHelper; |
|
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
|
import com.fr.design.mainframe.FormDesigner; |
|
|
|
|
import com.fr.design.mainframe.WidgetPropertyPane; |
|
|
|
|
import com.fr.design.mainframe.widget.editors.ExtendedPropertyEditor; |
|
|
|
|
import com.fr.design.mainframe.widget.editors.StringEditor; |
|
|
|
|
import com.fr.form.ui.Widget; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.general.IOUtils; |
|
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
|
|
|
|
|
|
import javax.swing.BorderFactory; |
|
|
|
|
import javax.swing.JOptionPane; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
import java.awt.Component; |
|
|
|
|
import java.beans.PropertyChangeEvent; |
|
|
|
@ -136,12 +139,37 @@ public class CRPropertyDescriptorPane {
|
|
|
|
|
try { |
|
|
|
|
Object value = propertyEditor.getValue(); |
|
|
|
|
Method m = crPropertyDescriptor.getWriteMethod(); |
|
|
|
|
if (ComparatorUtils.equals(m.getName(), "setWidgetName")) { |
|
|
|
|
if (!isWidgetNameValid(value, widget)) { |
|
|
|
|
value = widget.getWidgetName(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
m.invoke(widget, value); |
|
|
|
|
|
|
|
|
|
crPropertyDescriptor.firePropertyChanged(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 设置控件名之前校验一下,不能为空,不能重名 |
|
|
|
|
*/ |
|
|
|
|
private boolean isWidgetNameValid(Object value, Widget widget) { |
|
|
|
|
String toSetWidgetName; |
|
|
|
|
if (value != null) { |
|
|
|
|
toSetWidgetName = value.toString(); |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
String currentWidgetName = widget.getWidgetName(); |
|
|
|
|
boolean exist = designer.getTarget().isNameExist(toSetWidgetName) && !ComparatorUtils.equals(toSetWidgetName, currentWidgetName); |
|
|
|
|
if (toSetWidgetName.isEmpty()) { |
|
|
|
|
return false; |
|
|
|
|
} else if (exist) { |
|
|
|
|
//控件重名,弹出提示
|
|
|
|
|
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, IOUtils.readIcon("com/fr/design/form/images/joption_failure.png")); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|