private List<ESigItem> getItems(boolean selected) { List<ESigItem> items = new ArrayList<ESigItem>(); for (Row row : grid.getAllRows()) { if (!(row instanceof Group) && grid.isSelected(row) == selected) { items.add((ESigItem) row.getValue()); } } return items; }
/** * Add an esignature item to the list. * * @param item The item to add. */ private void addItem(ESigItem item) { esigTypes.add(item.getESigType()); Group group = nextGroup(findGroup(item)); Row row = grid.addRow(new Row(), group); ((HtmlBasedComponent) row.getFirstChild()).setStyle("margin-left:15px"); row.setStyle("border:none"); Label label = new Label(item.getText()); label.setPre(true); row.appendChild(label); row.setValue(item); SignState ss = item.getSignState(); grid.setSelected(row, !ss.isYes()); grid.setDisabled(row, ss.isForced()); }
/** * Initialize the dialog, adding the signature items to the list. * * @param esigService The electronic signature service. * @param items List of items to add. */ private void init(IESigService esigService, Iterable<ESigItem> items) { this.esigService = esigService; ZKUtil.wireController(this, this); for (ESigItem item : items) { addItem(item); } updateControls(); if (grid.getRowCount() > 20) { grid.setHeight("600px"); } FrameworkUtil.getAppFramework().registerObject(this); }
/** * Returns the group that follows the specified group, or null if there is none. * * @param group The returned group is the first one following this group. If this value is null, * returns the first group encountered. * @return The next group. */ private Group nextGroup(Group group) { Component cmpt = group == null ? grid.getRows().getFirstChild() : group.getNextSibling(); while (cmpt != null && !(cmpt instanceof Group)) { cmpt = cmpt.getNextSibling(); } return (Group) cmpt; }
grid.addRow(group, insertBefore); group.setValue(label); ((HtmlBasedComponent) group.getFirstChild()).setStyle("float:left");
Row row = grid.addRow(); row.setStyle("border:none"); Label label = new Label(item.getText()); grid.setSelected(row, isSelected); grid.setDisabled(row, isDisabled); detail.setOpen(true); return;
private void updateControls() { boolean requiresOverride = false; for (Row row : grid.getAllRows()) { if (grid.isSelected(row) && row.getAttribute(ATTR_OVERRIDE) != null) { requiresOverride = true; break; } } pnlReason.setVisible(requiresOverride); }
/** * Returns a list of all selected items of the specified esignature type. * * @param esigType The esignature type. * @return List of items. */ private List<ESigItem> getSelectedItems(IESigType esigType) { List<ESigItem> list = new ArrayList<ESigItem>(); for (Row row : grid.getAllRows()) { if (!(row instanceof Group) && grid.isSelected(row)) { ESigItem item = (ESigItem) row.getValue(); if (esigType == null || esigType.equals(item.getESigType())) { list.add(item); } } } return list; }
/** * Update controls to reflect the current state. */ private void updateControls() { int count = 0; int total = 0; for (Row row : grid.getAllRows()) { if (!(row instanceof Group)) { total++; boolean isSelected = grid.isSelected(row); if (isSelected) { count++; } } } lblSelectionCount.setValue(" (" + count + "/" + total + ")"); btnOK.setDisabled(count == 0); txtPassword.setDisabled(count == 0); if (!txtPassword.isDisabled()) { txtPassword.setFocus(true); } }