/** * Sets the selected list item by its index. Any existing selections are cleared. * * @param index The index of the list item to be selected. */ public void setSelectedIndex(int index) { setSelectedItem((Listitem) getChildAt(index)); }
/** * Locates and selects a matching keyword as the user types in the quick find text box. * * @param event The input event. */ @EventHandler(value = "change", target = "@txtFind") private void onChange$txtFind(ChangeEvent event) { String find = event.getValue(String.class).toLowerCase(); if (StringUtils.isEmpty(find)) { return; } int match = -1; for (int i = 0; i < keywordList.size(); i++) { if (keywordList.get(i).toLowerCase().startsWith(find)) { match = i; break; } } if (match != lstKeywords.getSelectedIndex()) { Listitem item = match == -1 ? null : (Listitem) lstKeywords.getChildAt(match); lstKeywords.setSelectedItem(item); onSelect$lstKeywords(); } }
/** * Updated the list box selection when the history selection changes. * * @see org.carewebframework.help.viewer.HelpViewBase#onTopicSelected(HelpTopic) */ @Override public void onTopicSelected(HelpTopic topic) { Listitem item = (Listitem) lstHistory.getChildAt(history.getPosition()); lstHistory.setSelectedItem(item); if (item != null) { getContainer().getAncestor(Tab.class).setVisible(true); item.scrollIntoView(); } }
/** * Set the topic view when a topic selection is made. */ @EventHandler(value = "change", target = "@lstTopics") private void onSelect$lstTopics() { Listitem item = lstTopics.getSelectedItem(); Listitem keywordItem = lstKeywords.getSelectedItem(); if (item == null) { int i = keywordItem.hasAttribute("last") ? (Integer) keywordItem.getAttribute("last") : 0; item = (Listitem) lstTopics.getChildAt(i); lstTopics.setSelectedItem(item); } if (item != null) { keywordItem.setAttribute("last", lstTopics.getSelectedIndex()); setTopic((HelpTopic) item.getData()); } else { setTopic(null); } }