Search in sources :

Example 1 with Manager

use of net.rim.device.api.ui.Manager in project google-authenticator by google.

the class FieldUtils method setVisible.

/**
   * BlackBerry {@link Field Fields} do not support invisibility, so swap in an
   * invisible placeholder to simulate invisibility.
   * <p>
   * The placeholder field is stored with {@link Field#setCookie(Object)}.
   * <p>
   * The non-placeholder field must be added to a {@link Manager} before marking
   * is as <em>invisible</em> so that the implementation knows where to insert
   * the placeholder.
   * 
   * @param field
   *          the field to toggle.
   * @param visible
   *          the new visibility.
   */
public static void setVisible(Field field, boolean visible) {
    NullField peer = (NullField) field.getCookie();
    if (visible && !isVisible(field)) {
        if (peer == null) {
            throw new IllegalStateException("Placeholder missing");
        }
        Manager manager = peer.getManager();
        manager.replace(peer, field);
    } else if (!visible && isVisible(field)) {
        if (peer == null) {
            peer = new NullField();
            field.setCookie(peer);
        }
        Manager manager = field.getManager();
        manager.replace(field, peer);
    }
}
Also used : NullField(net.rim.device.api.ui.component.NullField) Manager(net.rim.device.api.ui.Manager)

Aggregations

Manager (net.rim.device.api.ui.Manager)1 NullField (net.rim.device.api.ui.component.NullField)1