public E getElementAt(int index) { return _model.getElementAt(index); }
private Object getElementAt(int index) { return _subModel != null ? _subModel[index] : _model.getElementAt(index); }
public E getElementAt(int index) { return _model.getElementAt(index); }
private void init() { _innerData = Collections.synchronizedList(new LinkedList()); int size = _srcModel.getSize(); for(int i=0;i<size;i++){ _innerData.add(_srcModel.getElementAt(i)); } _srcListener = new ListDataListener(){ public void onChange(ListDataEvent event) { onListDataChange(event); } }; _srcModel.addListDataListener(_srcListener); }
/** * We need to sync model selection to keep select status . * @see Radio#service(org.zkoss.zk.au.AuRequest, boolean) */ /*package*/ void syncSelectionToModel() { if (_model != null) { List<Object> selObjs = new ArrayList<Object>(); if (_jsel >= 0) selObjs.add(_model.getElementAt(_jsel)); getSelectableModel().setSelection(selObjs); } }
public Object getValue(ELContext context, Object base, Object property) throws NullPointerException, PropertyNotFoundException, ELException { if (context == null) { throw new NullPointerException(); } if (base instanceof ListModel<?>) { ListModel<?> listmodel = (ListModel<?>) base; Integer idx = coerce(property); if (idx == null) { // property is not a legal number format return null; // unresolved null } context.setPropertyResolved(true); if (idx >= 0 && idx < listmodel.getSize()) { return listmodel.getElementAt(idx); } //out of range, a resolved null } return null; }
@SuppressWarnings("unchecked") public void service(org.zkoss.zk.au.AuRequest request, boolean everError) { final String cmd = request.getCommand(); if (cmd.equals(Events.ON_SELECT)) { // ZK-2148: should check if model exists final Object prevSelected = _jsel >= 0 && _model != null ? _model.getElementAt(_jsel) : null; _jsel = ((Integer) request.getData().get("")).intValue(); final Integer index = ((Integer) request.getData().get("")); final Set<Object> selObjs = new LinkedHashSet<Object>(); // ZK-2148: should check if model exists if (_model != null) { if (index >= 0) selObjs.add(_model.getElementAt(index)); getSelectableModel().setSelection(selObjs); } if (prevSelected != null) { final Set<Object> prevSeldObjs = new LinkedHashSet<Object>(1); prevSeldObjs.add(prevSelected); Events.postEvent(new SelectEvent(Events.ON_SELECT, this, null, null, null, selObjs, prevSeldObjs, prevSeldObjs, null, index, 0)); } else { Events.postEvent( new SelectEvent(Events.ON_SELECT, this, null, null, null, selObjs, null, null, null, index, 0)); } } else // ZK-1053 super.service(request, everError); }
Object o = _model.getElementAt(i); _events.add(o); _eventList.add(o);
if (smodel.isSelected(_model.getElementAt(_jsel))) return; //nothing changed getSelectedItem().setSelected(false); for (final Listitem item : _items) { if (item.isLoaded()) { //selected is meaningful only if loaded boolean sel = selObjs.contains(_model.getElementAt(item.getIndex())); if (sel) ++selCnt;
private void doSelectionChanged() { final Selectable<Object> smodel = getSelectableModel(); if (smodel.isSelectionEmpty()) { if (_jsel >= 0) setSelectedIndex(-1); return; } if (_jsel >= 0 && smodel.isSelected(_model.getElementAt(_jsel))) return; //nothing changed for (int i = 0, sz = _model.getSize(); i < sz; i++) { if (smodel.isSelected(_model.getElementAt(i))) { setSelectedIndex(i); return; //done } } setSelectedIndex(-1); //just in case }
@SuppressWarnings("rawtypes") private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { s.defaultReadObject(); _model = (ListModel) s.readObject(); didDeserialize(_model); _renderer = (ListitemRenderer) s.readObject(); didDeserialize(_renderer); init(); int offset = s.readInt(); afterUnmarshal(offset); int limit = s.readInt(); resetDataLoader(false); // no need to reset, it will reset the old reference. getDataLoader().init(this, offset, limit); if (_model != null) { initDataListener(); getDataLoader().setLoadAll(_renderAll); // Map#Entry cannot be serialized, we have to restore them if (_model instanceof ListModelMap) { for (Listitem item : getItems()) item.setValue(_model.getElementAt(item.getIndex())); } } int size = s.readInt(); if (size > 0) { List groupsInfo = (List) s.readObject(); for (int i = 0; i < size; i++) _groupsInfo.add((int[]) groupsInfo.get(i)); } }
private void doSelectionChanged() { final Selectable<Object> smodel = getSelectableModel(); if (smodel.isSelectionEmpty()) { if (_jsel >= 0) setSelectedItem(null); return; } if (_jsel >= 0 && smodel.isSelected(_model.getElementAt(_jsel))) return; //nothing changed int j = 0; for (final Radio item : getItems()) { if (smodel.isSelected(_model.getElementAt(j++))) { setSelectedItem(item); return; } } setSelectedItem(null); //something wrong but be self-protected }
((Selectable<Object>) model).clearSelection(); } else { ((Selectable<Object>) model).addToSelection(model.getElementAt(index));
final Object value = subset.getElementAt(index); if (subModel != null) subModel.add(value);
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { s.defaultReadObject(); _model = (ListModel) s.readObject(); didDeserialize(_model); _renderer = (RowRenderer) s.readObject(); didDeserialize(_renderer); init(); afterUnmarshal(-1); int offset = s.readInt(); int limit = s.readInt(); resetDataLoader(false); // no need to reset, it will reset the old reference. getDataLoader().init(this, offset, limit); //TODO: how to marshal _pgi if _pgi != _paging //TODO: re-register event listener for onPaging if (_model != null) { initDataListener(); getDataLoader().setLoadAll(_renderAll); // Map#Entry cannot be serialized, we have to restore them if (_model instanceof ListModelMap && _rows != null) { for (Component o : _rows.getChildren()) { Row item = (Row) o; item.setValue(_model.getElementAt(item.getIndex())); } } } }
public void onInitRenderNow() { if (_model != null) { _tmpdatas = new String[_model.getSize()]; final boolean old = _childable; try { _childable = true; final ItemRenderer<Object> renderer = getRealRenderer(); final Selectable<Object> smodel = getSelectableModel(); _jsel = -1; for (int i = 0, sz = _model.getSize(); i < sz; i++) { final Object value = _model.getElementAt(i); if (_jsel < 0 && smodel.isSelected(value)) _jsel = i; _tmpdatas[i] = renderer.render(this, value, i); } } catch (Exception e) { throw UiException.Aide.wrap(e); } finally { //clear possible children created in renderer _childable = old; getChildren().clear(); } } }
/** Sets the selected tab. */ /* packge */void selectTabDirectly(Tab tab, boolean byClient) { if (tab == null) throw new IllegalArgumentException("null tab"); if (tab.getTabbox() != this) throw new UiException("Not my child: " + tab); if (tab != _seltab) { if (_seltab != null) _seltab.setSelectedDirectly(false); try { // avoid recursive invoking if (getAttribute(TabboxEngine.ATTR_CHANGING_SELECTION) == null) { setAttribute(TabboxEngine.ATTR_CHANGING_SELECTION, Boolean.TRUE); _seltab = tab; _seltab.setSelectedDirectly(true); if (byClient && _model != null) { Selectable<Object> sm = getSelectableModel(); if (!sm.isSelected(_model.getElementAt(_seltab.getIndex()))) { sm.clearSelection(); sm.addToSelection(_model.getElementAt(_seltab.getIndex())); } } } } finally { removeAttribute(TabboxEngine.ATTR_CHANGING_SELECTION); } if (!byClient) smartUpdate("selectedTab", _seltab); } }
/** * @since 3.0.2 */ public Object coerceToBean(Object val, Component comp) { final Combobox cbbox = (Combobox) comp; if (Executions.getCurrent().getAttribute("zkoss.zkplus.databind.ON_SELECT" + cbbox.getUuid()) != null) { //bug #2140491 //triggered by coerceToUi(), ignore this Executions.getCurrent().removeAttribute("zkoss.zkplus.databind.ON_SELECT" + cbbox.getUuid()); return TypeConverter.IGNORE; } if (val != null) { final ListModel model = cbbox.getModel(); //Bug #2010389 //1. loadAll //2. setModel (by 1.), post onInitRender. //3. setSelectedItem (by 1.), coerceToUi, post onSelect with OLD Comboitem. //4. onInitRender(by 2.), syncModel and reconstruct new Comboitem(s) list, fire onInitRenderLater //** 5. save (by 3.), coreceToBean with OLD Comboitem, cannot locate the index with indexOf() //6. onInitRenderLater(by 4.), setSelectedItem, coerceToUi, post onSelect with new Comboitem //no model case, assume Comboitem.value to be used with selectedItem return model != null ? model.getElementAt(cbbox.getItems().indexOf(val)) : ((Comboitem) val).getValue(); } return null; }
public Object coerceToBean(Object val, Component comp) { //save final Listbox lbx = (Listbox) comp; if (Executions.getCurrent().getAttribute("zkoss.zkplus.databind.ON_SELECT" + lbx.getUuid()) != null) { //bug #2140491 //triggered by coerceToUi(), ignore this Executions.getCurrent().removeAttribute("zkoss.zkplus.databind.ON_SELECT" + lbx.getUuid()); return TypeConverter.IGNORE; } if (val != null) { final ListModel model = lbx.getModel(); //no model case, assume Listitem.value to be used with selectedItem return model != null ? model.getElementAt(((Listitem) val).getIndex()) : ((Listitem) val).getValue(); } return null; } }
item.setParent(this); final int index = j + ofs; final Object value = subset.getElementAt(index); renderer.render(item, value, index); Object v = item.getAttribute(Attributes.MODEL_RENDERAS);