|
|
|
@ -24,6 +24,7 @@ import com.fr.general.FRFont;
|
|
|
|
|
import com.fr.general.Inter; |
|
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
|
import com.fr.stable.Constants; |
|
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
|
import jdk.nashorn.internal.runtime.regexp.joni.Regex; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -38,51 +39,53 @@ public class XTextEditor extends XWrapperedFieldEditor {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 控件的属性列表 |
|
|
|
|
* |
|
|
|
|
* @return 此控件所用的属性列表 |
|
|
|
|
* @throws IntrospectionException 异常 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { |
|
|
|
|
CRPropertyDescriptor widgetValue=new CRPropertyDescriptor("widgetValue", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText(new String[]{"FR-Designer_Widget", "Value"})).setEditorClass( |
|
|
|
|
WidgetValueEditor.class).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"); |
|
|
|
|
CRPropertyDescriptor regex= new CRPropertyDescriptor("regex", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText("FR-Designer_Input_Rule")).setEditorClass(RegexEditor.class).putKeyValue( |
|
|
|
|
"renderer", RegexCellRencerer.class).putKeyValue(XCreatorConstants.PROPERTY_VALIDATE, "FR-Designer_Validate"); |
|
|
|
|
CRPropertyDescriptor regErrorMessage=new CRPropertyDescriptor("regErrorMessage", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText("Verify-Message")).putKeyValue(XCreatorConstants.PROPERTY_VALIDATE, "FR-Designer_Validate"); |
|
|
|
|
CRPropertyDescriptor waterMark= new CRPropertyDescriptor("waterMark", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText("FR-Designer_WaterMark")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, |
|
|
|
|
"Advanced"); |
|
|
|
|
CRPropertyDescriptor[] sup=(CRPropertyDescriptor[]) ArrayUtils.addAll(new CRPropertyDescriptor[] {widgetValue},super.supportedDescriptor()); |
|
|
|
|
Boolean displayRegField = true; |
|
|
|
|
RegExp reg = ((TextEditor) toData()).getRegex(); |
|
|
|
|
if(reg == null || reg.toRegText().equals("")){ |
|
|
|
|
displayRegField = false; |
|
|
|
|
} |
|
|
|
|
return displayRegField? (CRPropertyDescriptor[]) ArrayUtils.addAll(sup, |
|
|
|
|
new CRPropertyDescriptor[] {regex, regErrorMessage, waterMark} ): |
|
|
|
|
(CRPropertyDescriptor[]) ArrayUtils.addAll(sup,new CRPropertyDescriptor[] {regex, waterMark}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void paintComponent(Graphics g) { |
|
|
|
|
super.paintComponent(g); |
|
|
|
|
public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { |
|
|
|
|
CRPropertyDescriptor widgetValue = new CRPropertyDescriptor("widgetValue", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText(new String[]{"FR-Designer_Widget", "Value"})).setEditorClass( |
|
|
|
|
WidgetValueEditor.class).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"); |
|
|
|
|
CRPropertyDescriptor regex = new CRPropertyDescriptor("regex", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText("FR-Designer_Input_Rule")).setEditorClass(RegexEditor.class).putKeyValue( |
|
|
|
|
"renderer", RegexCellRencerer.class).putKeyValue(XCreatorConstants.PROPERTY_VALIDATE, "FR-Designer_Validate"); |
|
|
|
|
CRPropertyDescriptor regErrorMessage = new CRPropertyDescriptor("regErrorMessage", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText("Verify-Message")).putKeyValue(XCreatorConstants.PROPERTY_VALIDATE, "FR-Designer_Validate"); |
|
|
|
|
CRPropertyDescriptor waterMark = new CRPropertyDescriptor("waterMark", this.data.getClass()).setI18NName( |
|
|
|
|
Inter.getLocText("FR-Designer_WaterMark")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, |
|
|
|
|
"Advanced"); |
|
|
|
|
CRPropertyDescriptor[] sup = (CRPropertyDescriptor[]) ArrayUtils.addAll(new CRPropertyDescriptor[]{widgetValue}, super.supportedDescriptor()); |
|
|
|
|
Boolean displayRegField = true; |
|
|
|
|
RegExp reg = ((TextEditor) toData()).getRegex(); |
|
|
|
|
if (reg == null || !StringUtils.isNotEmpty(reg.toRegText())) { |
|
|
|
|
|
|
|
|
|
TextEditor area = (TextEditor) data; |
|
|
|
|
if (area.getWidgetValue() != null) { |
|
|
|
|
Graphics2D g2d = (Graphics2D) g.create(); |
|
|
|
|
BaseUtils.drawStringStyleInRotation(g2d, this.getWidth(), this.getHeight(), area.getWidgetValue() |
|
|
|
|
.toString(), Style.getInstance(FRFont.getInstance()).deriveHorizontalAlignment(Constants.LEFT) |
|
|
|
|
.deriveTextStyle(Style.TEXTSTYLE_SINGLELINE), ScreenResolution.getScreenResolution()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
displayRegField = false; |
|
|
|
|
} |
|
|
|
|
return displayRegField ? (CRPropertyDescriptor[]) ArrayUtils.addAll(sup, |
|
|
|
|
new CRPropertyDescriptor[]{regex, regErrorMessage, waterMark}) : |
|
|
|
|
(CRPropertyDescriptor[]) ArrayUtils.addAll(sup, new CRPropertyDescriptor[]{regex, waterMark}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void paintComponent(Graphics g) { |
|
|
|
|
super.paintComponent(g); |
|
|
|
|
|
|
|
|
|
TextEditor area = (TextEditor) data; |
|
|
|
|
if (area.getWidgetValue() != null) { |
|
|
|
|
Graphics2D g2d = (Graphics2D) g.create(); |
|
|
|
|
BaseUtils.drawStringStyleInRotation(g2d, this.getWidth(), this.getHeight(), area.getWidgetValue() |
|
|
|
|
.toString(), Style.getInstance(FRFont.getInstance()).deriveHorizontalAlignment(Constants.LEFT) |
|
|
|
|
.deriveTextStyle(Style.TEXTSTYLE_SINGLELINE), ScreenResolution.getScreenResolution()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected JComponent initEditor() { |
|
|
|
|
setBorder(FIELDBORDER); |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
protected JComponent initEditor() { |
|
|
|
|
setBorder(FIELDBORDER); |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected String getIconName() { |
|
|
|
|