com.inmethod.grid.treegrid
Class TreePanel<T extends TreeModel,I extends TreeNode>

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.panel.Panel
                  extended by com.inmethod.grid.treegrid.TreePanel<T,I>
Type Parameters:
T - tree model object type
I - node model object type
All Implemented Interfaces:
Serializable, Iterable<Component>, IEventSink, IEventSource, IConverterLocator, IHeaderContributor, IRequestableComponent, IHierarchical<Component>, IClusterable

public abstract class TreePanel<T extends TreeModel,I extends TreeNode>
extends Panel

Represents the content of a tree column cell.

Author:
Matej Knopp
See Also:
Serialized Form

Nested Class Summary
static interface TreePanel.ILinkCallback
          Helper class for calling an action from a link.
 
Field Summary
 
Fields inherited from class org.apache.wicket.markup.html.panel.Panel
PANEL
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
TreePanel(String id, IModel<I> model, int level)
          Constructor.
 
Method Summary
protected  IModel<I> getDefaultNodeModel()
           
protected abstract  Icon getIcon(IModel<I> model)
          Return the icon for this node or null if no icon should be used.
 IconImage getIconComponent()
          Returns the icon component instance.
protected  Component newJunctionLink(MarkupContainer parent, String id, Object node)
          Creates the junction link for given node.
 MarkupContainer newLink(String id, TreePanel.ILinkCallback callback)
          Creates a link of type specified by current linkType.
protected abstract  Component newNodeComponent(String id, IModel<I> model)
          Creates a new component for the given TreeNode.
protected  void onInitialize()
           
protected abstract  void onJunctionLinkClicked(AjaxRequestTarget target, Object node)
          Callback function called after user clicked on an junction link.
 
Methods inherited from class org.apache.wicket.markup.html.panel.Panel
newMarkupSourcingStrategy
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest, getWebResponse, getWebSession
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onDetach, onEvent, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TreePanel

public TreePanel(String id,
                 IModel<I> model,
                 int level)
Constructor.

Parameters:
id - component id
model - model to access the TreeNode
level - node depth level
Method Detail

onInitialize

protected void onInitialize()
Overrides:
onInitialize in class Component

getIconComponent

public IconImage getIconComponent()
Returns the icon component instance.

Returns:
icon component

getIcon

protected abstract Icon getIcon(IModel<I> model)
Return the icon for this node or null if no icon should be used.

Parameters:
model - model for the TreeNode
Returns:
icon instance or null

newNodeComponent

protected abstract Component newNodeComponent(String id,
                                              IModel<I> model)
Creates a new component for the given TreeNode.

Parameters:
id - component ID
model - model that returns the node
Returns:
component for node

getDefaultNodeModel

protected IModel<I> getDefaultNodeModel()

newJunctionLink

protected Component newJunctionLink(MarkupContainer parent,
                                    String id,
                                    Object node)
Creates the junction link for given node. Also (optionally) creates the junction image. If the node is a leaf (it has no children), the created junction link is non-functional.

Parameters:
parent - parent component of the link
id - wicket:id of the component
node - tree node for which the link should be created.
Returns:
The link component

newLink

public MarkupContainer newLink(String id,
                               TreePanel.ILinkCallback callback)
Creates a link of type specified by current linkType. When the links is clicked it calls the specified callback.

Parameters:
id - The component id
callback - The link call back
Returns:
The link component

onJunctionLinkClicked

protected abstract void onJunctionLinkClicked(AjaxRequestTarget target,
                                              Object node)
Callback function called after user clicked on an junction link. The node has already been expanded/collapsed (depending on previous status).

Parameters:
target - Request target - may be null on non-ajax call
node - Node for which this callback is relevant


Copyright © 2007–2014 inMethod s.r.o.. All rights reserved.