/* * ####################################################### * * Copyright (c) 2013, A. Weinberger. All rights reserved. * -------------------------------------------------------- */ package ale.view.gui.editor.fields; import javax.swing.JPanel; import javax.swing.JTextField; import ale.Constants; import ale.view.gui.util.GUIStrings; abstract class Field extends JPanel { protected static String strFileChooserTitle = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_IMAGECHOOSERTITLE); protected static String strToggleTransparent = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_TOGGLETRANSPARENT); protected static String strReset = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_RESET); protected static String strHide = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_HIDE); protected static String[] strPosTooltip = { GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_TOPLEFT), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_TOP), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_TOPRIGHT), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_LEFT), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_CENTER), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_RIGHT), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_BOTTOMLEFT), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_BOTTOM), GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_POS_BOTTOMRIGHT) }; protected static String strWidthTooltip = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_WIDTH); protected static String strHeightTooltip = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_HEIGHT); protected static String strBorderTooltip = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_BORDERTOOLTIP); protected static String strPaddingTooltip = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_PADDINGTOOLTIP); protected static String strMarginTooltip = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_MARGINTOOLTIP); protected static String strFontsizeLabel = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_FONTSIZE); protected static String strFontColorBtn = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_FONTCOLOR); protected static String strBoldBtn = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_FONTBOLD); protected static String strUnderlineBtn = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_FONTUNDERLINE); protected static String strShadowBtn = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_FONTSHADOW); protected static String strUserlistFontStatus = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_USERLIST_STATUSFONT); protected static String strUserlistFontName = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_USERLIST_NAMEFONT); protected static String strAnimationHorizontal = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_ANIM_H); protected static String strAnimationVertical = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_ANIM_V); protected static String strAnimationSlow = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_ANIM_SLOW); protected static String strAnimationFast = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_ANIM_FAST); protected static String strAnimationOriginal = GUIStrings.keyToLocatedString(GUIStrings.KEY_EDITOR_ANIM_NONE); private static final long serialVersionUID = 1L; public static final int FAILURE = -1; protected boolean controlSizeInput(JTextField textfield) { boolean ret = true; String tmp = textfield.getText(); if (!tmp.matches(Constants.SKIN_NUMBER_REGEX)) { ret = false; } return ret; } protected boolean controlSizeInputLength(JTextField textfield, int maxLength) { boolean ret = true; String tmp = textfield.getText(); if (tmp.length() > maxLength) { textfield.setText(tmp.substring(0, maxLength)); ret = false; } return ret; } protected boolean controlThicknessInput(JTextField textfield, int maxLength, boolean negativeAllowed) { boolean ret = true; String tmp = textfield.getText(); if (negativeAllowed && tmp.matches("-")) { ret = false; } else if ((!negativeAllowed && !tmp.matches("[0-9]++")) || (negativeAllowed && !tmp.matches("-?[0-9]++"))) { textfield.setText(""); ret = false; } else { if (tmp.length() > maxLength) { textfield.setText(tmp.substring(0, maxLength)); ret = false; } } return ret; } protected int parseInt(String input) { int i; if (input == null) { i = FAILURE; } else { try { i = Integer.parseInt(input); } catch (NumberFormatException e) { i = FAILURE; } } return i; } }