/** * If the removed list item is marked as selected, remove it from the set of selected items. * * @see org.fujion.component.BaseComponent#afterRemoveChild(org.fujion.component.BaseComponent) */ @Override protected void afterRemoveChild(BaseComponent child) { if (selected.remove(child)) { ((Listitem) child)._setSelected(false, true, false); } }
/** * Unselect all selected list items. * * @param skip Optional list item to skip. */ private void unselect(Listitem skip) { for (Listitem item : selected) { if (item != skip) { item._setSelected(false, true, false); } } selected.clear(); }
/** * Sets the selection state. * * @param selected The selection state. */ @PropertySetter(value = "selected", description = "The selection state.") public void setSelected(boolean selected) { _setSelected(selected, true, true); }
/** * Handles change events from the client. * * @param event A change event. */ @EventHandler(value = "change", syncToClient = false, mode = "init") private void _onChange(ChangeEvent event) { _setSelected(defaultify(event.getValue(Boolean.class), true), false, true); event = new ChangeEvent(this.getParent(), this, event.getData(), this); EventUtil.send(event); }