Example usage for com.google.gwt.user.client.ui ChangeListener onChange

List of usage examples for com.google.gwt.user.client.ui ChangeListener onChange

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui ChangeListener onChange.

Prototype

@Deprecated
void onChange(Widget sender);

Source Link

Document

Fired when a widget changes, where 'change' is defined by the widget sending the event.

Usage

From source file:cc.alcina.framework.gwt.client.gwittir.widget.SetBasedListBox.java

License:Apache License

private void fireChangeListeners() {
    for (Iterator it = this.changeListeners.iterator(); it.hasNext();) {
        ChangeListener l = (ChangeListener) it.next();
        l.onChange(this);
    }//  w ww  .  jav  a  2  s  .c o m
    if (this.getAction() != null) {
        this.getAction().execute(this);
    }
}

From source file:cc.alcina.framework.gwt.client.gwittir.widget.SingleSelectionListBox.java

License:Open Source License

private void fireChangeListeners() {
    for (Iterator<ChangeListener> it = this.changeListeners.iterator(); it.hasNext();) {
        ChangeListener l = it.next();
        l.onChange(this);
    }/*w  ww . jav  a2s . c o  m*/
    if (this.getAction() != null) {
        this.getAction().execute(this);
    }
}

From source file:com.totsp.gwittir.client.ui.ListBox.java

License:Open Source License

private void fireChangeListeners() {
    for (Iterator<ChangeListener> it = this.changeListeners.iterator(); it.hasNext();) {
        ChangeListener l = it.next();
        l.onChange(this);
    }//  w ww.j ava  2  s. c  o  m

    if (this.getAction() != null) {
        this.getAction().execute(this);
    }
}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

/**
 * Removes all items from the list.//w w w  .j  a  v a2 s. co  m
 */
public void removeAll() {
    this.items.clear();
    this.selectedIndex = -1;
    this.selectedItems.clear();

    if (this.suppressLayout == false) {
        for (ChangeListener l : listeners) {
            l.onChange(this);
        }
    }
    if (suppressLayout == false) {
        updateUI();
    }
}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

/**
 * Call this method with true will suppress the re-laying out of the widget after every add/remove. This is useful
 * when adding a large batch of items to the listbox.
 *//*  ww w.  j a v  a  2  s  .  c om*/
public void setSuppressLayout(boolean supress) {
    this.suppressLayout = supress;
    if (!suppressLayout) {

        if (selectedIndex < 0 && this.items.size() > 0) {
            this.setSelectedIndex(0); // notifies listeners
        } else {
            // just notify listeners something has changed.
            for (ChangeListener l : listeners) {
                l.onChange(this);
            }
        }

        updateUI();
    }
}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

protected void handleSelection(ListItem item, Event evt) {
    if (!evt.getCtrlKey() && !evt.getShiftKey() && !evt.getMetaKey()) {
        for (ListItem itm : selectedItems) {
            itm.onDeselect();/*  ww w .j  a  v a  2s.c  om*/
        }
        if (selectedIndex > -1) {
            items.get(selectedIndex).onDeselect();
        }
        selectedItems.clear();
        item.onSelect();
        if (!selectedItems.contains(item)) {
            selectedItems.add(item);
        }
        selectedIndex = items.indexOf(item);

        scrollSelectedItemIntoView();
    } else if (evt.getShiftKey()) {
        int idxOfNewSelection = items.indexOf(item);
        int startIdx = Math.min(selectedIndex, idxOfNewSelection);
        int endIndex = Math.max(selectedIndex, idxOfNewSelection);

        for (int i = startIdx; i <= endIndex; i++) {
            if (!selectedItems.contains(items.get(i))) {
                selectedItems.add(items.get(i));
            }
            items.get(i).onSelect();
        }

    } else if (evt.getCtrlKey() || evt.getMetaKey()) {
        if (selectedItems.remove(item)) {
            item.onDeselect();
        } else {
            item.onSelect();

            if (!selectedItems.contains(item)) {
                selectedItems.add(item);
            }
        }
    } else {
        if (!selectedItems.contains(item)) {
            selectedItems.add(item);
        }
    }

    if (this.suppressLayout == false) {
        for (ChangeListener l : listeners) {
            l.onChange(this);
        }
    }

}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

/**
 * Selects the ListItem at the given index (zero-based)
 * //from  w  ww  .  j a  v a  2 s .  c  o  m
 * @param idx
 *          index of ListItem to select
 */
public void setSelectedIndex(int idx) {
    if (idx > items.size()) {
        throw new RuntimeException("Index out of bounds: " + idx); //$NON-NLS-1$
    }
    // De-Select the current
    if (selectedIndex > -1) {
        items.get(selectedIndex).onDeselect();
    }

    selectedItems.clear();
    if (idx >= 0 && items.size() > idx) {
        selectedItems.add(items.get(idx));
    }

    int prevIdx = selectedIndex;
    if (idx >= 0) {
        selectedIndex = idx;
        items.get(idx).onSelect();

        this.val = null;
        if (visible == 1 && this.isAttached()) {
            scrollSelectedItemIntoView();
        }
        updateSelectedDropWidget();
    }

    if (this.suppressLayout == false && prevIdx != idx) {
        for (ChangeListener l : listeners) {
            l.onChange(this);
        }
    }
}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

public void setSelectedIndices(int[] indices) {
    if (multiSelect == false) {
        // throw new IllegalStateException("Cannot select more than one item in a combobox");
        if (indices.length > 0) {
            setSelectedIndex(indices[0]);
        }/*from   w w w . java2 s . co  m*/
        return;
    }
    for (ListItem item : selectedItems) {
        item.onDeselect();
    }
    selectedItems.clear();
    for (int i = 0; i < indices.length; i++) {
        int idx = indices[i];
        if (idx >= 0 && idx < items.size()) {
            items.get(idx).onSelect();
            selectedItems.add(items.get(idx));
        }
    }

    if (this.suppressLayout == false) {
        for (ChangeListener l : listeners) {
            l.onChange(this);
        }
    }
}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

public void onKeyUp(Widget widget, char c, int i) {
    if (isEnabled() == false) {
        return;/*from  w  w w .j  a  va  2s. com*/
    }
    if (c == 16) {
        shiftOriginIdx = -1;
    }
    boolean fireEvents = false;
    switch (c) {
    case 38: // UP
        if (selectedIndex > 0) {

            if (multiSelect && !Event.getCurrentEvent().getShiftKey()) {
                for (ListItem itm : selectedItems) {
                    itm.onDeselect();
                }
                selectedItems.clear();
                ListItem itm = items.get(selectedIndex - 1);
                selectedIndex = selectedIndex - 1;
                itm.onSelect();
                if (!selectedItems.contains(itm)) {
                    selectedItems.add(itm);
                }
                fireEvents = true;
                this.listScrollPanel.ensureVisible(itm.getWidget());
            } else if (multiSelect && Event.getCurrentEvent().getShiftKey()) {

                ListItem itm = items.get(selectedIndex - 1);

                if (!selectedItems.contains(itm)) {
                    selectedItems.add(itm);
                }
                itm.onSelect();
                this.listScrollPanel.ensureVisible(itm.getWidget());

                ListItem prevItem = items.get(selectedIndex);
                if (selectedIndex != shiftOriginIdx && shiftOriginIdx < selectedIndex
                        && selectedItems.contains(prevItem)) {
                    selectedItems.remove(prevItem);
                    prevItem.onDeselect();
                }

                selectedIndex = selectedIndex - 1;

                fireEvents = true;
            } else {
                setSelectedIndex(selectedIndex - 1);
                scrollSelectedItemIntoView();
            }
        }

        break;
    case 40: // Down
        if (selectedIndex < items.size() - 1) {
            if (multiSelect && !Event.getCurrentEvent().getShiftKey()) {
                for (ListItem itm : selectedItems) {
                    itm.onDeselect();
                }
                selectedItems.clear();
                ListItem itm = items.get(selectedIndex + 1);
                selectedIndex = selectedIndex + 1;
                itm.onSelect();
                if (!selectedItems.contains(itm)) {
                    selectedItems.add(itm);
                }
                fireEvents = true;
                this.listScrollPanel.ensureVisible(itm.getWidget());
            } else if (multiSelect && Event.getCurrentEvent().getShiftKey()) {

                ListItem itm = items.get(selectedIndex + 1);

                if (!selectedItems.contains(itm)) {
                    selectedItems.add(itm);
                }
                itm.onSelect();

                ListItem prevItem = items.get(selectedIndex);
                if (selectedIndex != shiftOriginIdx && shiftOriginIdx > selectedIndex
                        && selectedItems.contains(prevItem)) {
                    selectedItems.remove(prevItem);
                    prevItem.onDeselect();
                }

                this.listScrollPanel.ensureVisible(itm.getWidget());

                selectedIndex = selectedIndex + 1;

                fireEvents = true;
            } else {
                setSelectedIndex(selectedIndex + 1);
                scrollSelectedItemIntoView();
            }
        }
        break;
    case 27: // ESC
    case 13: // Enter
        if (popupShowing) {
            togglePopup();
        }
        break;
    case 65: // A
        if (Event.getCurrentEvent().getCtrlKey()) {
            for (ListItem item : items) {
                item.onSelect();
            }
            selectedItems.clear();
            selectedItems.addAll(items);

            fireEvents = true;
        }
        break;

    }
    if (fireEvents && this.suppressLayout == false) {
        for (ChangeListener l : listeners) {
            l.onChange(this);
        }
    }
}

From source file:org.pentaho.gwt.widgets.client.listbox.CustomListBox.java

License:Open Source License

public void onChange(Widget sender) {
    for (ChangeListener l : listeners) {
        l.onChange(this);
    }
}