protected void handleSubmitCommand() { Item submitItem = this.browser.getFocusedItem(); HtmlForm form = (HtmlForm) submitItem.getAttribute(ATTR_FORM); while (form == null && (submitItem instanceof Container)) { submitItem = ((Container) submitItem).getFocusedItem(); form = (HtmlForm) submitItem.getAttribute(ATTR_FORM); } if (form == null) { return; } form.submit(submitItem); }
/** * Retrieves the currently focused item that has specified the attribute * * @param attribute the attribute * @param container the container that should have focused the item * @return the item that contains the attribute or the focused item which is not a Container * itself */ protected Item getFocusedItemWithAttribute(String attribute, Container container) { Item item = container.getFocusedItem(); if (item != null && item.getAttribute(attribute) == null && item instanceof Container) { return getFocusedItemWithAttribute(attribute, (Container) item); } return item; }
protected void handleLinkCommand() { Item linkItem = getFocusedItemWithAttribute(ATTR_HREF, this.browser); if (linkItem == null) { return; } String href = (String) linkItem.getAttribute(ATTR_HREF); if (href != null) { this.browser.go(this.browser.makeAbsoluteURL(href)); } // #if polish.debug.error else { // #debug error System.out.println( "Unable to handle link command for item " + linkItem + ": no " + ATTR_HREF + " attribute found."); } // #endif }