public Component getCropOwner() { return getGrid(); }
/** * Set true to avoid unnecessary row re-indexing when render template. * @param b true to skip * @return original true/false status * @see Grid.Renderer#render */ /*package*/ boolean setReplacingRow(boolean b) { final boolean old = _isReplacingRow; Grid grid = getGrid(); if (grid != null && grid.getModel() != null) // B60-ZK-898: only apply when model is used. _isReplacingRow = b; return old; }
private boolean hasGroupsModel() { final Grid grid = getGrid(); return grid != null && grid.getModel() instanceof GroupsListModel; }
private synchronized void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { s.defaultWriteObject(); int size = _groupsInfo.size(); s.writeInt(size); if (size > 0) s.writeObject(_groupsInfo); Grid grid = getGrid(); DataLoader loader = grid != null ? grid.getDataLoader() : null; if (loader != null) { s.writeInt(loader.getOffset()); } else s.writeInt(0); }
public Set<? extends Component> getAvailableAtClient() { final Grid grid = getGrid(); return grid != null ? ((Cropper) grid.getDataLoader()).getAvailableAtClient() : null; } }
public boolean isCropper() { final Grid grid = getGrid(); return grid != null && ((Cropper) grid.getDataLoader()).isCropper(); }
private int getRealIndex(int index) { final Grid grid = getGrid(); final int offset = grid != null && grid.getModel() != null ? grid.getDataLoader().getOffset() : 0; return index - (offset < 0 ? 0 : offset); }
public Object clone() { final Rows clone = (Rows) super.clone(); clone.init(); clone._groupsInfo.addAll(_groupsInfo); Grid grid = getGrid(); final int offset = grid != null ? grid.getDataLoader().getOffset() : 0; clone.afterUnmarshal(offset); return clone; }
/** Checks whether to invalidate, when a child has been added or * or will be removed. * @param bRemove if child will be removed */ private void checkInvalidateForMoved(Component child, boolean bRemove) { //No need to invalidate if //1) act == last and child in act //2) act != last and child after act //Except removing last element which in act and act has only one element final Grid grid = getGrid(); if (grid != null && grid.inPagingMold() && !isInvalidated()) { final List<Component> children = getChildren(); final int sz = children.size(), pgsz = grid.getPageSize(); int n = sz - (grid.getActivePage() + 1) * pgsz; if (n <= 0) { //must be last page n += pgsz; //check in-act (otherwise, check after-act) if (bRemove && n <= 1) { //last element, in act and remove invalidate(); return; } } else if (n > 50) n = 50; //check at most 50 items (for better performance) for (ListIterator<Component> it = children.listIterator(sz); --n >= 0 && it.hasPrevious();) if (it.previous() == child) return; //no need to invalidate invalidate(); } }
protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer) throws java.io.IOException { super.renderProperties(renderer); final Grid grid = getGrid(); renderer.render("_offset", grid == null ? 0 : grid.getDataLoader().getOffset()); //go with each cropping renderer.render("visibleItemCount", _visibleItemCount); //go with each cropping }
public boolean insertBefore(Component child, Component refChild) { final Grid grid = getGrid(); final boolean isReorder = child.getParent() == this; //bug #3051305: Active Page not update when drag & drop item to the end if (isReorder) { checkInvalidateForMoved(child, true); } Row newItem = (Row) child; final int jfrom = hasGroup() && newItem.getParent() == this ? newItem.getIndex() : -1; fixGroupsInfoBeforeInsert(newItem, (Row) refChild, isReorder); if (super.insertBefore(child, refChild)) { final int jto = refChild instanceof Row ? ((Row) refChild).getIndex() : -1, fixFrom = jfrom < 0 || (jto >= 0 && jfrom > jto) ? jto : jfrom; if (fixFrom < 0) { newItem.setIndexDirectly( getChildren().size() - 1 + (grid != null ? grid.getDataLoader().getOffset() : 0)); } else { fixGroupIndex(fixFrom, jfrom >= 0 && jto >= 0 ? jfrom > jto ? jfrom : jto : -1, !isReorder); } fixGroupsInfoAfterInsert(newItem); //bug #3049167: Totalsize increase when drag & drop in paging Listbox/Grid if (!isReorder) { afterInsert(child); } return true; } return false; }
/*package*/ void addVisibleItemCount(int count) { if (count != 0) { _visibleItemCount += count; final Grid grid = getGrid(); if (grid != null) { if (grid.inPagingMold()) {
final Grid grid = getGrid(); if (grid != null && grid.inPagingMold()) { int newTotalSize = grid.getDataLoader().getTotalSize();