@Override public boolean isSelected(T item) { resolveChanges(); if (curSelection == null || curKey == null || item == null) { return false; } return curKey.equals(getKey(item)); }
@Override public void setSelected(T item, boolean selected) { // If we are deselecting an item that isn't actually selected, ignore it. if (!selected) { Object oldKey = newSelectedPending ? getKey(newSelectedItem) : curKey; Object newKey = getKey(item); if (!equalsOrBothNull(oldKey, newKey)) { return; } } newSelectedItem = item; newSelected = selected; newSelectedPending = true; scheduleSelectionChangeEvent(); }
private void resolveChanges() { if (!newSelectedPending) { return; } Object key = getKey(newSelectedItem); boolean sameKey = equalsOrBothNull(curKey, key); boolean changed = false; if (newSelected) { changed = !sameKey; curSelection = newSelectedItem; curKey = key; } else if (sameKey) { changed = true; curSelection = null; curKey = null; } newSelectedItem = null; newSelectedPending = false; // Fire a selection change event. if (changed) { SelectionChangeEvent.fire(this); } } }
@Override public boolean isSelected(T item) { resolveChanges(); if (curSelection == null || curKey == null || item == null) { return false; } return curKey.equals(getKey(item)); }
@Override public boolean isSelected(T item) { resolveChanges(); if (curSelection == null || curKey == null || item == null) { return false; } return curKey.equals(getKey(item)); }
@Override public void setSelected(T item, boolean selected) { // If we are deselecting an item that isn't actually selected, ignore it. if (!selected) { Object oldKey = newSelectedPending ? getKey(newSelectedItem) : curKey; Object newKey = getKey(item); if (!equalsOrBothNull(oldKey, newKey)) { return; } } newSelectedItem = item; newSelected = selected; newSelectedPending = true; scheduleSelectionChangeEvent(); }
@Override public void setSelected(T item, boolean selected) { // If we are deselecting an item that isn't actually selected, ignore it. if (!selected) { Object oldKey = newSelectedPending ? getKey(newSelectedItem) : curKey; Object newKey = getKey(item); if (!equalsOrBothNull(oldKey, newKey)) { return; } } newSelectedItem = item; newSelected = selected; newSelectedPending = true; scheduleSelectionChangeEvent(); }
private void resolveChanges() { if (!newSelectedPending) { return; } Object key = getKey(newSelectedItem); boolean sameKey = equalsOrBothNull(curKey, key); boolean changed = false; if (newSelected) { changed = !sameKey; curSelection = newSelectedItem; curKey = key; } else if (sameKey) { changed = true; curSelection = null; curKey = null; } newSelectedItem = null; newSelectedPending = false; // Fire a selection change event. if (changed) { SelectionChangeEvent.fire(this); } } }
private void resolveChanges() { if (!newSelectedPending) { return; } Object key = getKey(newSelectedItem); boolean sameKey = equalsOrBothNull(curKey, key); boolean changed = false; if (newSelected) { changed = !sameKey; curSelection = newSelectedItem; curKey = key; } else if (sameKey) { changed = true; curSelection = null; curKey = null; } newSelectedItem = null; newSelectedPending = false; // Fire a selection change event. if (changed) { SelectionChangeEvent.fire(this); } } }