private void setFilter(ProblemFilter filter) { for (Object item : cboFilter.getItems()) { Comboitem ci = (Comboitem) item; if (ci.getValue() == filter) { cboFilter.setSelectedItem(ci); break; } } }
/** * Returns the currently active category filter. * * @return The active category filter. */ private DocumentCategory getCurrentFilter() { return fixedFilter != null ? fixedFilter : cboFilter.getSelectedIndex() > 0 ? (DocumentCategory) cboFilter.getSelectedItem().getValue() : null; }
public class mainComposer extends GenericForwardComposer{ Combobox combo; //ZK Auto Wired , use combo directly public void onChanging$combo() { // ZK Autoforward (Awesome !!) suggest(); } public void suggest() { combo.getItems().clear(); combo.appendItem("Ace"); combo.appendItem("Ajax"); combo.appendItem("Apple"); combo.appendItem("Best"); combo.appendItem("Blog"); } }
/** Deselects the currently selected items and selects * the item with the given index. * <p>Note: if the label of comboitem has the same more than one, the first * comboitem will be selected at client side, it is a limitation of {@link Combobox} * and it is different from {@link Listbox}.</p> * @since 3.0.2 */ public void setSelectedIndex(int jsel) { if (jsel >= getItemCount()) throw new UiException("Out of bound: " + jsel + " while size=" + getItemCount()); if (jsel < -1) jsel = -1; setSelectedItem(jsel >= 0 ? getItemAtIndex(jsel) : null); //Bug#2919037: setSelectedIndex(-1) shall unselect even with constraint }
List<Comboitem> items = cboFilter.getItems(); List<DocumentCategory> categories = new ArrayList<DocumentCategory>(); cboFilter.setSelectedIndex(0); Comboitem item = cboFilter.appendItem(cat.getName()); item.setValue(cat); cboFilter.setSelectedItem(item);
final Combobox cbbox = (Combobox) comp; if (val != null) { final ListModel xmodel = cbbox.getModel(); if (cbbox.getAttribute("org.zkoss.zul.Combobox.onInitRender") != null) { if (index >= 0 && cbbox.getItemCount() > index) { final Comboitem item = cbbox.getItemAtIndex(index); final int selIndex = cbbox.getSelectedIndex(); items.add(item); Executions.getCurrent().setAttribute("zkoss.zkplus.databind.ON_SELECT" + cbbox.getUuid(), Boolean.TRUE); Events.postEvent(new SelectEvent<Comboitem, Object>("onSelect", cbbox, items, item)); for (Comboitem li : cbbox.getItems()) { if (val.equals(li.getValue())) { return li;
public class MyController implements Initializable { @FXML public Combobox myCombobox; @Override public void initialize(URL url, ResourceBundle rb) { } public void setData(){ myCombobox.getItems().clear(); myCombobox.getItems().addAll( "jacob.smith@example.com", "isabella.johnson@example.com", "ethan.williams@example.com", "emma.jones@example.com", "michael.brown@example.com"); } }
private void doSelectionChanged() { final Selectable<Object> smodel = getSelectableModel(); if (smodel.isSelectionEmpty()) { if (_selItem != null) setSelectedItem(null); return; if (_selItem != null && smodel.isSelected(getElementAt(_selItem.getIndex()))) return; //nothing changed for (final Comboitem item : getItems()) { if (smodel.isSelected(getElementAt(j++))) { setSelectedItem(item); return; setValue((String) selObj); postOnInitRender(null); //cause Comboitem to be generated
private ProblemFilter getFilter() { return (ProblemFilter) cboFilter.getSelectedItem().getValue(); }
if (!getItems().isEmpty()) { getItems().clear(); initDataListener(); setAttribute(Attributes.BEFORE_MODEL_ITEMS_RENDERED, Boolean.TRUE); postOnInitRender(null); _model.removeListDataListener(_dataListener); if (_model instanceof ListSubModel) removeEventListener(Events.ON_CHANGING, _eventListener); _model = null; _subModel = null; if (!getItems().isEmpty()) getItems().clear();
/** * Load CPT modifiers for the specified code and reference date. * * @param cbo The combo box. * @param cptCode The CPT4 code. * @param refDate The reference date. */ public static void loadModifiers(Combobox cbo, String cptCode, String refDate) { cbo.getItems().clear(); addModifier(cbo, "^^0"); if (!StringUtils.isEmpty(cptCode)) { List<String> lst = VistAUtil.getBrokerSession().callRPCList("BGOVCPT GETMODS", null, cptCode + StrUtil.U + refDate); for (String s : lst) { addModifier(cbo, s); // Name ^ CPT Modifier Code ^ Modifier IEN } } cbo.setSelectedIndex(0); }
/** * @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; }
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { s.defaultReadObject(); schedSyncValueToSelection(); if (_model != null) { initDataListener(); // Map#Entry cannot be serialized, we have to restore them if (_model instanceof ListModelMap) { for (final Comboitem item : getItems()) { item.setValue(getElementAt(item.getIndex())); } } } }
public void onInitRender(Event data) { removeAttribute(ATTR_ON_INIT_RENDER); //clear syncModel flag final Renderer renderer = new Renderer(); final List<Object> subModel = _model instanceof ListSubModel ? new ArrayList<Object>() : null; final ListModel subset = syncModel(data.getData() != null ? data.getData() : getRawText()); try { int pgsz = subset.getSize(), ofs = 0, j = 0; for (Comboitem item = getItems().size() <= ofs ? null : getItems().get(ofs), nxt; j < pgsz && item != null; ++j, item = nxt) { removeAttribute(Attributes.BEFORE_MODEL_ITEMS_RENDERED);
private void syncValueToSelection() { final String value = getValue(); if (!Objects.equals(_lastCkVal, value)) { _lastCkVal = value; _selItem = null; for (final Comboitem item : getItems()) { if (Objects.equals(value, item.getLabel())) { _selItem = item; break; } } syncSelectionToModel(); } }
/** Synchronizes the combobox to be consistent with the specified model. */ private ListModel<?> syncModel(Object index) { ComboitemRenderer<?> renderer = null; final ListModel<?> subset = _model instanceof ListSubModel ? ((ListSubModel<?>) _model).getSubModel(index, -1) : _model; final int newsz = subset.getSize(); if (!getItems().isEmpty()) getItems().clear(); for (int j = 0; j < newsz; ++j) { if (renderer == null) renderer = getRealRenderer(); newUnloadedItem(renderer).setParent(this); } return subset; }
public void onChange(ListDataEvent event) { int type = event.getType(); if (getAttribute(Attributes.BEFORE_MODEL_ITEMS_RENDERED) != null && (type == ListDataEvent.INTERVAL_ADDED || type == ListDataEvent.INTERVAL_REMOVED)) return; final ListModel _model = getModel(); final int newsz = _model.getSize(), oldsz = getItemCount(); int min = event.getIndex0(), max = event.getIndex1(), cnt; if (cnt == 0) //no change, nothing to do here return; if ((oldsz <= 0 || cnt > INVALIDATE_THRESHOLD) && !isOpen())//ZK-2704: don't invalidate when the combobox is open invalidate(); final Component next = min < oldsz ? getItemAtIndex(min) : null; int index = min; try { cirenderer = (ComboitemRenderer) getRealRenderer(); Comboitem item = newUnloadedItem(cirenderer); insertBefore(item, next); renderer.render(item, _model.getElementAt(index), index++); if ((newsz <= 0 || cnt > INVALIDATE_THRESHOLD) && !isOpen())//ZK-2704: don't invalidate when the combobox is open invalidate(); Component comp = getItemAtIndex(max); while (--cnt >= 0) { Component p = comp.getPreviousSibling();
@SuppressWarnings("unchecked") public Object coerceToUi(Object val, Component comp, BindContext ctx) { Combobox cbx = (Combobox) comp; final ListModel<?> model = cbx.getModel(); } else { for (final Iterator<?> it = cbx.getItems().iterator(); it.hasNext();) { final Comboitem ci = (Comboitem) it.next();
protected String coerceToString(Object value) { final Constraint constr = getConstraint(); final String val = super.coerceToString(value); if (val.length() > 0 && constr != null && constr instanceof SimpleConstraint && (((SimpleConstraint) constr).getFlags() & SimpleConstraint.STRICT) != 0) { for (Iterator<Comboitem> it = getItems().iterator(); it.hasNext();) { final String label = ((Comboitem) it.next()).getLabel(); if (val.equalsIgnoreCase(label)) return label; } } return val; }
public void render(final Comboitem item, final Object data, final int index) throws Exception { final Combobox cb = (Combobox) item.getParent(); final ListModel<?> model = cb.getModel(); final int size = model.getSize(); final Template tm = resolveTemplate(cb, item, data, index, size, "model"); Object oldVar = cb.getAttribute(varnm); Object oldIter = cb.getAttribute(itervarnm); cb.setAttribute(varnm, data); cb.setAttribute(itervarnm, iterStatus); cb.removeAttribute(varnm); } else { cb.setAttribute(varnm, oldVar); cb.removeAttribute(itervarnm); } else { cb.setAttribute(itervarnm, oldIter);