/** Creates an new and unloaded listitem. */ protected final Listitem newUnloadedItem(ListitemRenderer renderer, int index) { final ListModel model = _listbox.getModel(); Listitem item = null; if (model instanceof GroupsListModel) { final GroupsListModel gmodel = (GroupsListModel) model; final GroupDataInfo info = gmodel.getDataInfo(index); switch (info.type) { case GroupDataInfo.GROUP: item = newListgroup(renderer); ((Listgroup) item).setOpen(!info.close); break; case GroupDataInfo.GROUPFOOT: item = newListgroupfoot(renderer); break; default: item = newListitem(renderer); } } else { item = newListitem(renderer); } ((LoadStatus) item.getExtraCtrl()).setLoaded(false); ((LoadStatus) item.getExtraCtrl()).setIndex(index); newUnloadedCell(renderer, item); return item; }
@Listen("onClick = #btn_confirmar") public void alterarOperador() { Map<String, Object> arguments = (Map) rw_dadosOperador.getValue(); Operador op = (Operador) arguments.get("funAlterar"); lb_operador = (Listbox) arguments.get("lb_operador"); String pass = tb_insira_password.getText(); List<Operador> list = operadorDao.obtemPorUsername(tb_username.getText(), tb_password.getText()); if (!list.isEmpty() && op.getId() != list.get(0).getId()) { Clients.showNotification( "Um operador ja foi cadrastado com esse username", "error", null, null, 2000); } else { if (!tb_password.getText().equals(pass)) { Clients.showNotification("o password deve ser igual", "error", null, null, 2000); } else { ListModelList<Operador> lista = (ListModelList) lb_operador.getModel(); lista.remove(op); setValues(op); operadorDao.update(op); lista.add(0, op); operadorWin.detach(); ; Clients.showNotification("Dados do operador " + op.getNome() + " foram alterados"); } } }
public void onSelect$searchResultLb(Event event) { Physician _att = (Physician) searchResultLb.getSelectedItem().getValue(); List<Physician> physicianList = (List<Physician>) selectedPhysiciansLb.getModel(); if (physicianList.contains(_att) == false) { physicianList.add(_att); } save(); }
public void onClick$deleteBtn(Event event) { Window canvasBoardWindow = (Window) zkpaintWindow.getFellow("canvasInc").getFellow("canvasBoardWindow"); Canvas cvs1 = (Canvas) canvasBoardWindow.getFellow("cvs1"); int size = shapeListBox.getItemCount(); System.out.println(size); for (int i = size - 1; i > -1; i--) { if (!shapeListBox.getItemAtIndex(i).isSelected()) continue; System.out.println(i); cvs1.remove(i); ((ListModelList) shapeListBox.getModel()).remove(i); } }
public void doListDataChange(ListDataEvent event) { // when this is called _model is never null final ListModel _model = _listbox.getModel(); final int newsz = _model.getSize(), oldsz = _listbox.getItemCount(); int min = event.getIndex0(), max = event.getIndex1(), cnt; switch (event.getType()) { case ListDataEvent.INTERVAL_ADDED: cnt = newsz - oldsz; if (cnt <= 0) throw new UiException("Adding causes a smaller list?"); if ((oldsz <= 0 || cnt > INVALIDATE_THRESHOLD) && !inPagingMold()) _listbox.invalidate(); // Bug 3147518: avoid memory leak // Also better performance (outer better than remove a lot) if (min < 0) if (max < 0) min = 0; else min = max - cnt + 1; if (min > oldsz) min = oldsz; ListitemRenderer renderer = null; final Component next = min < oldsz ? _listbox.getItemAtIndex(min) : null; while (--cnt >= 0) { if (renderer == null) renderer = (ListitemRenderer) getRealRenderer(); _listbox.insertBefore(newUnloadedItem(renderer, min++), next); } break; case ListDataEvent.INTERVAL_REMOVED: cnt = oldsz - newsz; if (cnt <= 0) throw new UiException("Removal causes a larger list?"); if (min >= 0) max = min + cnt - 1; else if (max < 0) max = cnt - 1; // 0 ~ cnt - 1 if (max > oldsz - 1) max = oldsz - 1; if ((newsz <= 0 || cnt > INVALIDATE_THRESHOLD) && !inPagingMold()) _listbox.invalidate(); // Bug 3147518: avoid memory leak // Also better performance (outer better than remove a lot) // detach from end (due to groopfoot issue) Component comp = _listbox.getItemAtIndex(max); while (--cnt >= 0) { Component p = comp.getPreviousSibling(); comp.detach(); comp = p; } break; default: // CONTENTS_CHANGED syncModel(min, max); } }
@Listen("onClick = #btn_confirmarLeitor") public void alterarleitor() { Map<String, Object> arguments = (Map) rw_dadosLeitor.getValue(); Leitor leitor = (Leitor) arguments.get("funAlterar"); lb_leitor = (Listbox) arguments.get("lb_leitor"); ListModelList<Leitor> lista = (ListModelList) lb_leitor.getModel(); lista.remove(leitor); setValuesLeitor(leitor); leitorDao.update(leitor); lista.add(0, leitor); winAlterarLeitor.detach(); ; Clients.showNotification("Dados do leitor" + leitor.getNome() + " foram alterados"); }
public void lastNameSearch() { if (searchLastNameTb.getValue().length() < 3) { errLbl.setValue("Please enter at least 3 characters when searching"); searchResult.setVisible(false); } else { errLbl.setValue(""); this.physicians = PhysicanManager.searchByLastName(searchLastNameTb.getValue()); if (physicians != null && physicians.size() > 0) { List<Physician> physicianList = (List<Physician>) searchResultLb.getModel(); physicianList.clear(); physicianList.addAll(physicians); searchResult.setVisible(true); } else { errLbl.setValue("No treatment provider found for: " + searchLastNameTb.getValue()); searchResult.setVisible(false); } } }
public void save() { sessionInfo.setAlternateTreatmentProviders((List<Physician>) selectedPhysiciansLb.getModel()); sessionManager.save(sessionInfo); successLbl.setValue("Other treatment provider has been saved."); }
public void render(final Listitem item, final Object data, final int index) throws Exception { final Listbox listbox = (Listbox) item.getParent(); final int size = listbox.getModel().getSize(); // B70-ZK-2555: in order to handle dynamic template name final String subtype = item instanceof Listgroup ? "group" : item instanceof Listgroupfoot ? "groupfoot" : null; final Template tm = resolveTemplate(listbox, item, data, index, size, "model", subtype); if (tm == null) { item.setLabel(Objects.toString(data)); item.setValue(data); } else { final ForEachStatus iterStatus = new AbstractForEachStatus() { // provide iteration status in this context private static final long serialVersionUID = 1L; public int getIndex() { return index; } public Object getCurrent() { return data; } public Integer getEnd() { return size; } }; final String var = (String) tm.getParameters().get(EACH_ATTR); final String varnm = var == null ? EACH_VAR : var; // var is not specified, default to "each" final String itervar = (String) tm.getParameters().get(STATUS_ATTR); final String itervarnm = itervar == null ? (var == null ? EACH_STATUS_VAR : varnm + STATUS_POST_VAR) : itervar; // provide default value if not specified // bug 1188, EL when nested var and itervar Object oldVar = listbox.getAttribute(varnm); Object oldIter = listbox.getAttribute(itervarnm); listbox.setAttribute(varnm, data); listbox.setAttribute(itervarnm, iterStatus); final Component[] items = filterOutShadows(listbox, tm.create(listbox, item, null, null)); // Bug ZK-2789: do not use setAttribute when actually trying to removeAttribute if (oldVar != null) { listbox.setAttribute(varnm, oldVar); } else { listbox.removeAttribute(varnm); } if (oldIter != null) { listbox.setAttribute(itervarnm, oldIter); } else { listbox.removeAttribute(itervarnm); } if (items.length != 1) throw new UiException("The model template must have exactly one item, not " + items.length); final Listitem nli = (Listitem) items[0]; nli.setAttribute(BinderCtrl.VAR, varnm); // for the converter to get the value // ZK-2552 recordRenderedIndex(listbox, items.length); nli.setAttribute(AbstractRenderer.IS_TEMPLATE_MODEL_ENABLED_ATTR, true); nli.setAttribute( AbstractRenderer.CURRENT_INDEX_RESOLVER_ATTR, new IndirectBinding() { public Binder getBinder() { return BinderUtil.getBinder(nli, true); } @SuppressWarnings("unchecked") public void setValue(BindELContext ctx, Object value) { int idx = BindListitemRenderer.this.getRenderedIndex(listbox, nli.getIndex()); ListModel<?> listmodel = listbox.getListModel(); if (idx >= 0 && idx < listmodel.getSize()) { if (listmodel instanceof ListModelArray) { ((ListModelArray<Object>) listmodel).set(idx, value); } else if (listmodel instanceof ListModelList<?>) { ((ListModelList<Object>) listmodel).set(idx, value); } } else { // out of range, should ignore to compatible with old version(when we didn't // implement save) or throw exception? } } public Component getComponent() { return nli; } public Object getValue(BindELContext ctx) { return listbox .getModel() .getElementAt( BindListitemRenderer.this.getRenderedIndex(listbox, nli.getIndex())); } }); addItemReference( listbox, nli, index, varnm); // kept the reference to the data, before ON_BIND_INIT nli.setAttribute(itervarnm, iterStatus); // sync open state if (nli instanceof Listgroup && item instanceof Listgroup) { ((Listgroup) nli).setOpen(((Listgroup) item).isOpen()); } // ZK-1787 When the viewModel tell binder to reload a list, the other component that bind a // bean in the list will reload again // move TEMPLATE_OBJECT (was set in resoloveTemplate) to current for check in // addTemplateTracking Object obj = item.removeAttribute(TemplateResolver.TEMPLATE_OBJECT); // Bug ZK-2789: do not use setAttribute when actually trying to removeAttribute if (obj != null) { nli.setAttribute(TemplateResolver.TEMPLATE_OBJECT, obj); } else { nli.removeAttribute(TemplateResolver.TEMPLATE_OBJECT); } // add template dependency addTemplateTracking(listbox, nli, data, index, size); if (nli.getValue() == null) // template might set it nli.setValue(data); item.setAttribute(Attributes.MODEL_RENDERAS, nli); // indicate a new item is created to replace the existent one item.detach(); } }
public int getTotalSize() { final ListModel model = _listbox.getModel(); return model != null ? model.getSize() : _listbox.getVisibleItemCount(); }
private void syncModel0(int offset, int limit) { int min = offset; int max = offset + limit - 1; final ListModel _model = _listbox.getModel(); final int newsz = _model.getSize(); final int oldsz = _listbox.getItemCount(); final Paginal _pgi = _listbox.getPaginal(); final boolean inPaging = inPagingMold(); final boolean shallInvalidated = // Bug 3147518: avoid memory leak (min < 0 || min == 0) && (max < 0 || max >= newsz || max >= oldsz); int newcnt = newsz - oldsz; int atg = _pgi != null ? _listbox.getActivePage() : 0; ListitemRenderer renderer = null; Component next = null; if (oldsz > 0) { if (min < 0) min = 0; else if (min > oldsz - 1) min = oldsz - 1; if (max < 0) max = oldsz - 1; else if (max > oldsz - 1) max = oldsz - 1; if (min > max) { int t = min; min = max; max = t; } int cnt = max - min + 1; // # of affected if (_model instanceof GroupsListModel) { // detach all from end to front since groupfoot // must be detached before group newcnt += cnt; // add affected later if ((shallInvalidated || newcnt > INVALIDATE_THRESHOLD) && !inPaging) _listbox.invalidate(); // Bug 3147518: avoid memory leak // Also better performance (outer better than remove a lot) Component comp = _listbox.getItemAtIndex(max); next = comp.getNextSibling(); while (--cnt >= 0) { Component p = comp.getPreviousSibling(); comp.detach(); comp = p; } } else { // ListModel int addcnt = 0; Component item = _listbox.getItemAtIndex(min); while (--cnt >= 0) { next = item.getNextSibling(); if (cnt < -newcnt) { // if shrink, -newcnt > 0 item.detach(); // remove extra } else if (((Listitem) item).isLoaded()) { if (renderer == null) renderer = (ListitemRenderer) getRealRenderer(); item.detach(); // always detach _listbox.insertBefore(newUnloadedItem(renderer, min), next); ++addcnt; } ++min; item = next; // B2100338.,next item could be Paging, don't use Listitem directly } if ((shallInvalidated || addcnt > INVALIDATE_THRESHOLD || addcnt + newcnt > INVALIDATE_THRESHOLD) && !inPagingMold()) _listbox.invalidate(); // Bug 3147518: avoid memory leak // Also better performance (outer better than remove a lot) } } else { min = 0; } for (; --newcnt >= 0; ++min) { if (renderer == null) renderer = (ListitemRenderer) getRealRenderer(); _listbox.insertBefore(newUnloadedItem(renderer, min), next); } if (_pgi != null) { if (atg >= _pgi.getPageCount()) atg = _pgi.getPageCount() - 1; _pgi.setActivePage(atg); } }
public void onSelect$ListagemDisciplina() { di = (RegistroDeDisciplina) ListagemDisciplina.getModel().getElementAt(ListagemDisciplina.getSelectedIndex()); disciplina.setValue(di.getDisciplina().getNome()); professor.setValue(di.getProfessor().getNome()); id.setValue(String.valueOf(di.getDisciplina().getId())); cargaHoraria.setValue(String.valueOf(di.getDisciplina().getCargaHoraria())); JanelaFiltroParaListarDisciplina.setVisible(false); janelaDisciplinaAluno.setVisible(true); janelaDisciplina.setVisible(false); nomeTurma.setValue(turmav.getNome()); turno.setValue(turmav.getTurno()); modalidade.setValue(turmav.getModalidade()); qtdAluno.setValue(String.valueOf(turmav.getQtdAluno())); anoLetivo.setValue(String.valueOf(turmav.getAnoLetivo().getAno())); sala.setValue(turmav.getSala().getDescricao()); serie.setValue(turmav.getSerie().getDescricao()); nivelEscolar.setValue(turmav.getSerie().getNivelEscolar().getNivel()); Row rows = new Row(); rows.setAlign("center"); new Label(di.getDisciplina().getNome() + " | " + di.getProfessor().getNome()).setParent(rows); new Label("Carga HorĂ¡ria - " + di.getDisciplina().getCargaHoraria()).setParent(rows); rows.setParent(rowFrequencias); rowss.add(rows); for (Aluno a : Facade.getInstance().listarAlunoTurma(turmav.getId())) { Listitem li = new Listitem(); for (Matricula m1 : a.getMatricula()) { if (turmav.getId() == m1.getTurma().getId()) { new Listcell(m1.getNumero()).setParent(li); Row row = new Row(); new Label(m1.getNumero() + " | " + a.getNome()).setParent(row); Intbox t = new Intbox(); t.setConstraint(c); t.setId(String.valueOf(a.getId())); intbox.add(t); t.setParent(row); t.setConstraint("no empty, no zero, no negative"); row.setParent(rowFrequencias); rowss.add(row); } } new Listcell(a.getNome()).setParent(li); li.setParent(ListagemAluno); } binder.loadComponent(indexFrequencia); binder.loadComponent(rowFrequencias); }