Search in sources :

Example 46 with BXMLSerializer

use of org.apache.pivot.beans.BXMLSerializer in project pivot by apache.

the class Localization method startup.

@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
    String language = properties.get(LANGUAGE_KEY);
    Locale locale = (language == null) ? Locale.getDefault() : new Locale(language);
    Resources resources = new Resources(getClass().getName(), locale);
    Theme theme = Theme.getTheme();
    Font font = theme.getFont();
    // Search for a font that can support the sample string
    String sampleResource = (String) resources.get("firstName");
    if (font.canDisplayUpTo(sampleResource) != -1) {
        Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
        for (int i = 0; i < fonts.length; i++) {
            if (fonts[i].canDisplayUpTo(sampleResource) == -1) {
                theme.setFont(fonts[i].deriveFont(Font.PLAIN, 12));
                break;
            }
        }
    }
    BXMLSerializer bxmlSerializer = new BXMLSerializer();
    window = (Window) bxmlSerializer.readObject(Localization.class.getResource("localization.bxml"), resources);
    window.open(display);
}
Also used : Locale(java.util.Locale) Theme(org.apache.pivot.wtk.Theme) Resources(org.apache.pivot.util.Resources) Font(java.awt.Font) BXMLSerializer(org.apache.pivot.beans.BXMLSerializer)

Example 47 with BXMLSerializer

use of org.apache.pivot.beans.BXMLSerializer in project pivot by apache.

the class Scripting method startup.

@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
    BXMLSerializer bxmlSerializer = new BXMLSerializer();
    bxmlSerializer.getNamespace().put("bar", "12345");
    window = (Window) bxmlSerializer.readObject(Scripting.class, "scripting.bxml");
    foo = (String) bxmlSerializer.getNamespace().get("foo");
    listData = (List<?>) bxmlSerializer.getNamespace().get("listData");
    System.out.println("foo = " + foo);
    System.out.println("listData.getLength() = " + listData.getLength());
    window.open(display);
}
Also used : BXMLSerializer(org.apache.pivot.beans.BXMLSerializer)

Example 48 with BXMLSerializer

use of org.apache.pivot.beans.BXMLSerializer in project pivot by apache.

the class Pivot714 method getWindow.

public Window getWindow(final Window ownerArgument) {
    this.owner = ownerArgument;
    final BXMLSerializer bxmlSerializer = new BXMLSerializer();
    try {
        result = (Dialog) bxmlSerializer.readObject(Pivot714.class.getResource("pivot_714.bxml"));
    } catch (IOException e) {
        e.printStackTrace();
    } catch (SerializationException e) {
        e.printStackTrace();
    }
    final ListButton motif = (ListButton) bxmlSerializer.getNamespace().get("motif");
    ArrayList<String> al = new ArrayList<>();
    al.add("One");
    al.add("Two");
    motif.setListData(al);
    CalendarButton cbDate = (CalendarButton) bxmlSerializer.getNamespace().get("date");
    dcl = (new DialogCloseListener() {

        @Override
        public void dialogClosed(Dialog dialog, boolean modal) {
        // empty block
        }
    });
    cbDate.getCalendarButtonSelectionListeners().add(new CalendarButtonSelectionListener() {

        @Override
        public void selectedDateChanged(CalendarButton calendarButton, CalendarDate previousSelectedDate) {
        // empty block
        }
    });
    return result;
}
Also used : SerializationException(org.apache.pivot.serialization.SerializationException) ArrayList(org.apache.pivot.collections.ArrayList) CalendarButtonSelectionListener(org.apache.pivot.wtk.CalendarButtonSelectionListener) IOException(java.io.IOException) ListButton(org.apache.pivot.wtk.ListButton) CalendarDate(org.apache.pivot.util.CalendarDate) CalendarButton(org.apache.pivot.wtk.CalendarButton) Dialog(org.apache.pivot.wtk.Dialog) DialogCloseListener(org.apache.pivot.wtk.DialogCloseListener) BXMLSerializer(org.apache.pivot.beans.BXMLSerializer)

Example 49 with BXMLSerializer

use of org.apache.pivot.beans.BXMLSerializer in project pivot by apache.

the class TextInputValidatorTest method startup.

@Override
public void startup(final Display display, final Map<String, String> properties) throws Exception {
    System.out.println("Starting TextInputValidatorTest ...");
    System.out.println("current Locale is " + locale);
    // sample different ways to format numbers in i18n compatible way
    NumberFormat nf = NumberFormat.getInstance();
    // 
    // String customDecimalPattern = ""###,###.###"";
    // DecimalFormat df = new DecimalFormat(customDecimalPattern);
    // 
    // StringBuffer sb = new StringBuffer();
    // Formatter formatter = new Formatter(sb, locale);
    // String customDecimalFormat = "%,.3f";
    // 
    BXMLSerializer bxmlSerializer = new BXMLSerializer();
    window = new Window((Component) bxmlSerializer.readObject(getClass().getResource("text_input_validator_test.bxml")));
    Map<String, Object> namespace = bxmlSerializer.getNamespace();
    textinputLocale = (TextInput) namespace.get("textinputLocale");
    textinputComparableBigDecimal = (TextInput) namespace.get("textinputComparableBigDecimal");
    textinputComparableRange = (TextInput) namespace.get("textinputComparableRange");
    textinputDouble = (TextInput) namespace.get("textinputDouble");
    textinputFloat = (TextInput) namespace.get("textinputFloat");
    textinputFloatRange = (TextInput) namespace.get("textinputFloatRange");
    textinputIntRange = (TextInput) namespace.get("textinputIntRange");
    textinputDateRegex = (TextInput) namespace.get("textinputDateRegex");
    textinputCustomBoolean = (TextInput) namespace.get("textinputCustomBoolean");
    textinputNotEmptyText = (TextInput) namespace.get("textinputNotEmptyText");
    textinputEmptyText = (TextInput) namespace.get("textinputEmptyText");
    textinputLocale.setText(locale.toString());
    String testValue = "123456789.0";
    // new, validate a value but using BigDecimalValidator (subclass of ComparableValidator)
    // huge value, and outside double range ...
    textinputComparableBigDecimal.setText("1e300");
    BigDecimalValidator bdComp = new BigDecimalValidator();
    System.out.println("BigDecimalValidator: created instance with value: " + bdComp);
    // enable auto-trim of input string, before validating
    bdComp.setAutoTrim(true);
    System.out.println("BigDecimalValidator: enable auto-trim of input string, before validating");
    textinputComparableBigDecimal.setValidator(bdComp);
    // new, validate in a range but using ComparableRangeValidator
    textinputComparableRange.setText(nf.format(new BigDecimal(testValue)));
    ComparableRangeValidator<BigDecimal> bdCompRange = new ComparableRangeValidator<>(new BigDecimal("2.0"), new BigDecimal("123456789"));
    System.out.println("ComparableRangeValidator: created instance with value: " + bdCompRange);
    // enable auto-trim of input string, before validating
    bdCompRange.setAutoTrim(true);
    System.out.println("ComparableRangeValidator: enable auto-trim of input string, before validating");
    textinputComparableRange.setValidator(bdCompRange);
    textinputComparableRange.getTextInputListeners().add(new TextInputListener() {

        @Override
        public void textValidChanged(final TextInput textInput) {
            invalidComparableRangeLabel.setText(validText(textInput));
        }
    });
    invalidComparableRangeLabel = (Label) namespace.get("invalidComparableRangeLabel");
    // positive infinity text
    textinputDouble.setText("+\u221E");
    textinputDouble.setValidator(new DoubleValidator());
    // textinputFloat.setText("123456.789");
    // new, show different ways to format decimal values in i18n format
    Double value = new Double(testValue);
    // textinputFloat.setText(value.toString());
    // textinputFloat.setText(String.format(customDecimalFormat, value)); // sample using String.format
    // formatter.format(customDecimalFormat, value); // sample using Formatter
    // textinputFloat.setText(sb.toString()); // sample using Formatter
    // textinputFloat.setText(nf.format(value)); // sample using NumberFormat
    // textinputFloat.setText(df.format(value)); // sample using DecimalFormat
    // using this as a sample
    textinputFloat.setText(nf.format(value));
    textinputFloat.setValidator(new FloatValidator());
    // standard float range model
    // note that float approximations could give errors,
    // try to increment/decrement the initial value near a range end, to see problems ...
    textinputFloatRange.setText(nf.format(new Float(testValue)));
    textinputFloatRange.setValidator(new FloatRangeValidator(2.0f, 123456789f));
    // test the listener by updating a label
    textinputFloatRange.getTextInputListeners().add(new TextInputListener() {

        @Override
        public void textValidChanged(final TextInput textInput) {
            invalidLabel.setText(validText(textInput));
        }
    });
    invalidLabel = (Label) namespace.get("invalidLabel");
    // standard int range model
    textinputIntRange.setText("0");
    textinputIntRange.setValidator(new IntRangeValidator(0, 100));
    // validate using a date regex.
    textinputDateRegex.setText("2009-09-01");
    textinputDateRegex.setValidator(new RegexTextValidator("(19|20)\\d\\d[- /.](0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01])"));
    // creating a custom model that only accepts "true" or "false"
    textinputCustomBoolean.setText("true");
    textinputCustomBoolean.setValidator(new Validator() {

        @Override
        public boolean isValid(final String s) {
            return "true".equals(s) || "false".equals(s);
        }
    });
    // validate any not-empty text
    textinputNotEmptyText.setText("  Not Empty, and with spaces  ");
    textinputNotEmptyText.setValidator(new NotEmptyTextValidator());
    // validate any empty text, edge case
    textinputEmptyText.setText("    ");
    textinputEmptyText.setValidator(new EmptyTextValidator());
    window.setTitle("Text Input Validator Test");
    window.setMaximized(true);
    window.open(display);
}
Also used : Window(org.apache.pivot.wtk.Window) BigDecimalValidator(org.apache.pivot.wtk.validation.BigDecimalValidator) ComparableRangeValidator(org.apache.pivot.wtk.validation.ComparableRangeValidator) NotEmptyTextValidator(org.apache.pivot.wtk.validation.NotEmptyTextValidator) EmptyTextValidator(org.apache.pivot.wtk.validation.EmptyTextValidator) NotEmptyTextValidator(org.apache.pivot.wtk.validation.NotEmptyTextValidator) RegexTextValidator(org.apache.pivot.wtk.validation.RegexTextValidator) BigDecimal(java.math.BigDecimal) DoubleValidator(org.apache.pivot.wtk.validation.DoubleValidator) FloatRangeValidator(org.apache.pivot.wtk.validation.FloatRangeValidator) FloatValidator(org.apache.pivot.wtk.validation.FloatValidator) Component(org.apache.pivot.wtk.Component) TextInput(org.apache.pivot.wtk.TextInput) IntRangeValidator(org.apache.pivot.wtk.validation.IntRangeValidator) TextInputListener(org.apache.pivot.wtk.TextInputListener) BXMLSerializer(org.apache.pivot.beans.BXMLSerializer) Validator(org.apache.pivot.wtk.validation.Validator) ComparableRangeValidator(org.apache.pivot.wtk.validation.ComparableRangeValidator) EmptyTextValidator(org.apache.pivot.wtk.validation.EmptyTextValidator) FloatValidator(org.apache.pivot.wtk.validation.FloatValidator) BigDecimalValidator(org.apache.pivot.wtk.validation.BigDecimalValidator) NotEmptyTextValidator(org.apache.pivot.wtk.validation.NotEmptyTextValidator) FloatRangeValidator(org.apache.pivot.wtk.validation.FloatRangeValidator) DoubleValidator(org.apache.pivot.wtk.validation.DoubleValidator) IntRangeValidator(org.apache.pivot.wtk.validation.IntRangeValidator) RegexTextValidator(org.apache.pivot.wtk.validation.RegexTextValidator) NumberFormat(java.text.NumberFormat)

Example 50 with BXMLSerializer

use of org.apache.pivot.beans.BXMLSerializer in project pivot by apache.

the class WatermarkDecoratorTest method startup.

@Override
public void startup(final Display display, final Map<String, String> properties) throws Exception {
    BXMLSerializer bxmlSerializer = new BXMLSerializer();
    window = (Window) bxmlSerializer.readObject(WatermarkDecoratorTest.class, "watermark_decorator_test.bxml");
    window.open(display);
}
Also used : BXMLSerializer(org.apache.pivot.beans.BXMLSerializer)

Aggregations

BXMLSerializer (org.apache.pivot.beans.BXMLSerializer)86 Component (org.apache.pivot.wtk.Component)24 IOException (java.io.IOException)19 SerializationException (org.apache.pivot.serialization.SerializationException)14 Window (org.apache.pivot.wtk.Window)13 Button (org.apache.pivot.wtk.Button)11 PushButton (org.apache.pivot.wtk.PushButton)11 File (java.io.File)9 ButtonPressListener (org.apache.pivot.wtk.ButtonPressListener)9 Frame (org.apache.pivot.wtk.Frame)8 TextInput (org.apache.pivot.wtk.TextInput)8 ArrayList (org.apache.pivot.collections.ArrayList)7 List (org.apache.pivot.collections.List)7 Mouse (org.apache.pivot.wtk.Mouse)6 Sequence (org.apache.pivot.collections.Sequence)5 ComponentMouseButtonListener (org.apache.pivot.wtk.ComponentMouseButtonListener)5 ListButton (org.apache.pivot.wtk.ListButton)5 TextInputContentListener (org.apache.pivot.wtk.TextInputContentListener)5 URL (java.net.URL)4 MalformedURLException (java.net.MalformedURLException)3