Search in sources :

Example 1 with ColorChooserField

use of com.revolsys.swing.field.ColorChooserField in project com.revolsys.open by revolsys.

the class SwingUtil method newField.

@SuppressWarnings("unchecked")
static <T extends JComponent> T newField(final Class<?> fieldClass, final String fieldName, final Object fieldValue) {
    JComponent field;
    if (Number.class.isAssignableFrom(fieldClass)) {
        final NumberTextField numberTextField = new NumberTextField(fieldName, DataTypes.DOUBLE, 10, 2);
        if (fieldValue instanceof Number) {
            final Number number = (Number) fieldValue;
            numberTextField.setFieldValue(number);
        }
        field = numberTextField;
    } else if (Date.class.isAssignableFrom(fieldClass)) {
        final DateField dateField = newDateField(fieldName);
        if (fieldValue instanceof Date) {
            final Date date = (Date) fieldValue;
            dateField.setDate(date);
        }
        field = dateField;
    } else if (Geometry.class.isAssignableFrom(fieldClass)) {
        final ObjectLabelField objectField = new ObjectLabelField(fieldName);
        objectField.setFieldValue(fieldValue);
        field = objectField;
    } else if (Color.class.isAssignableFrom(fieldClass)) {
        field = new ColorChooserField(fieldName, (Color) fieldValue);
    } else if (Boolean.class.isAssignableFrom(fieldClass)) {
        field = new CheckBox(fieldName, fieldValue);
    } else {
        final TextField textField = new TextField(fieldName, fieldValue);
        textField.setColumns(50);
        MenuFactory.getPopupMenuFactory(textField);
        field = textField;
    }
    if (field instanceof JTextField) {
        final JTextField textField = (JTextField) field;
        final int preferedWidth = textField.getPreferredSize().width;
        textField.setMinimumSize(new Dimension(preferedWidth, 0));
        textField.setMaximumSize(new Dimension(preferedWidth, Integer.MAX_VALUE));
        textField.setText(DataTypes.toString(fieldValue));
    }
    field.setFont(FONT);
    return (T) field;
}
Also used : NumberTextField(com.revolsys.swing.field.NumberTextField) ColorChooserField(com.revolsys.swing.field.ColorChooserField) Color(java.awt.Color) JComponent(javax.swing.JComponent) Dimension(java.awt.Dimension) JTextField(javax.swing.JTextField) Date(java.util.Date) Point(java.awt.Point) CheckBox(com.revolsys.swing.field.CheckBox) JCheckBox(javax.swing.JCheckBox) NumberTextField(com.revolsys.swing.field.NumberTextField) JTextField(javax.swing.JTextField) TextField(com.revolsys.swing.field.TextField) DateField(com.revolsys.swing.field.DateField) ObjectLabelField(com.revolsys.swing.field.ObjectLabelField)

Example 2 with ColorChooserField

use of com.revolsys.swing.field.ColorChooserField in project com.revolsys.open by revolsys.

the class BaseStylePanel method newField.

@SuppressWarnings("unchecked")
protected Field newField(final String fieldName, final Class<?> fieldClass, final Object value) {
    Field field;
    if (fieldName.equals("visible")) {
        this.visibleField = new CheckBox(fieldName, value);
        field = this.visibleField;
    } else if (fieldName.equals("textFaceName")) {
        field = new FontChooserField(fieldName, (String) value);
    } else if (fieldName.endsWith("HorizontalAlignment")) {
        field = newHorizontalAlignmentField(fieldName, (String) value);
    } else if (fieldName.endsWith("VerticalAlignment")) {
        field = newVerticalAlignmentField(fieldName, (String) value);
    } else if (fieldName.equals("lineCap")) {
        field = newLineCapField((LineCap) value);
    } else if (fieldName.equals("lineJoin")) {
        field = newLineJoinField((LineJoin) value);
    } else if (fieldName.equals("lineDashArray")) {
        field = new DashField(fieldName, (List<Quantity<Length>>) value);
    } else if (fieldName.equals("queryFilter")) {
        final AbstractRecordLayer layer = getLayer();
        field = new QueryFilterField(layer, fieldName, (String) value);
        field.setFieldValue(value);
        Property.addListener(field, fieldName, this);
    } else if (fieldName.equals("marker")) {
        field = new MarkerField(fieldName, value);
    } else if (fieldName.endsWith("OrientationType")) {
        final ComboBox<String> orientationTypeField = ComboBox.newComboBox(fieldName, "auto", "none");
        orientationTypeField.setFieldValue(value);
        field = orientationTypeField;
    } else if (fieldName.equals("markerPlacementType")) {
        final ComboBox<String> placementField = ComboBox.newComboBox(fieldName, "auto", "center", "vertex(0)", "vertex(n)", "vertices", "segment(0)", "segment(n)", "segments");
        placementField.setFieldValue(value);
        field = placementField;
    } else if (fieldName.equals("textPlacementType")) {
        final ComboBox<String> placementField = ComboBox.newComboBox(fieldName, "auto", "center", "vertex(0)", "vertex(n)", "segment(0)", "segment(n)");
        placementField.setFieldValue(value);
        field = placementField;
    } else if (fieldName.endsWith("Scale")) {
        field = newScaleField(fieldName, (Long) value);
    } else if (Color.class.equals(fieldClass)) {
        field = new ColorChooserField(fieldName, (Color) value);
    } else if (Boolean.TYPE.equals(fieldClass) || Boolean.class.equals(fieldClass)) {
        field = new CheckBox(fieldName, value);
    } else if (Quantity.class.equals(fieldClass)) {
        field = new LengthMeasureTextField(fieldName, (Quantity<Length>) value, CustomUnits.PIXEL);
    } else {
        field = new TextField(fieldName, value, 40);
    }
    return field;
}
Also used : FontChooserField(com.revolsys.swing.field.FontChooserField) ComboBox(com.revolsys.swing.field.ComboBox) ColorChooserField(com.revolsys.swing.field.ColorChooserField) Color(java.awt.Color) Quantity(javax.measure.Quantity) LengthMeasureTextField(com.revolsys.swing.field.LengthMeasureTextField) FontChooserField(com.revolsys.swing.field.FontChooserField) MarkerField(com.revolsys.swing.map.component.MarkerField) JTextField(javax.swing.JTextField) Field(com.revolsys.swing.field.Field) TextField(com.revolsys.swing.field.TextField) ColorChooserField(com.revolsys.swing.field.ColorChooserField) Length(javax.measure.quantity.Length) CheckBox(com.revolsys.swing.field.CheckBox) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) LengthMeasureTextField(com.revolsys.swing.field.LengthMeasureTextField) LengthMeasureTextField(com.revolsys.swing.field.LengthMeasureTextField) JTextField(javax.swing.JTextField) TextField(com.revolsys.swing.field.TextField) List(java.util.List) ArrayList(java.util.ArrayList) LineCap(com.revolsys.geometry.model.LineCap) MarkerField(com.revolsys.swing.map.component.MarkerField)

Example 3 with ColorChooserField

use of com.revolsys.swing.field.ColorChooserField in project com.revolsys.open by revolsys.

the class BaseStylePanel method addColorField.

protected void addColorField(final JPanel container, final Object object, final String fieldName) {
    SwingUtil.addLabel(container, fieldName);
    final Color value = Property.get(object, fieldName);
    final ColorChooserField field = new ColorChooserField(fieldName, value);
    Property.addListener(field, fieldName, this);
    container.add(field);
}
Also used : ColorChooserField(com.revolsys.swing.field.ColorChooserField) Color(java.awt.Color)

Aggregations

ColorChooserField (com.revolsys.swing.field.ColorChooserField)3 Color (java.awt.Color)3 CheckBox (com.revolsys.swing.field.CheckBox)2 TextField (com.revolsys.swing.field.TextField)2 JTextField (javax.swing.JTextField)2 LineCap (com.revolsys.geometry.model.LineCap)1 ComboBox (com.revolsys.swing.field.ComboBox)1 DateField (com.revolsys.swing.field.DateField)1 Field (com.revolsys.swing.field.Field)1 FontChooserField (com.revolsys.swing.field.FontChooserField)1 LengthMeasureTextField (com.revolsys.swing.field.LengthMeasureTextField)1 NumberTextField (com.revolsys.swing.field.NumberTextField)1 ObjectLabelField (com.revolsys.swing.field.ObjectLabelField)1 MarkerField (com.revolsys.swing.map.component.MarkerField)1 AbstractRecordLayer (com.revolsys.swing.map.layer.record.AbstractRecordLayer)1 Dimension (java.awt.Dimension)1 Point (java.awt.Point)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 List (java.util.List)1