public class SideTabbedPanel
extends org.apache.wicket.markup.html.panel.Panel
Note: When the currently selected tab is replaced by changing the underlying list of tabs, the change is not
picked up unless a call is made to setSelectedTab(int)
.
Example:
List tabs=new ArrayList(); tabs.add(new AbstractTab(new Model("first tab")) { public Panel getPanel(String panelId) { return new TabPanel1(panelId); } }); tabs.add(new AbstractTab(new Model("second tab")) { public Panel getPanel(String panelId) { return new TabPanel2(panelId); } }); add(new SideTabbedPanel("tabs", tabs)); <span wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</span>
For a complete example see the component references in wicket-examples project
ITab
,
Serialized FormModifier and Type | Field and Description |
---|---|
static java.lang.String |
TAB_PANEL_ID
id used for child panels
|
Constructor and Description |
---|
SideTabbedPanel(java.lang.String id,
java.util.List tabs)
Constructor
|
Modifier and Type | Method and Description |
---|---|
int |
getSelectedTab() |
protected java.lang.String |
getTabContainerCssClass() |
java.util.List |
getTabs() |
protected org.apache.wicket.markup.html.WebMarkupContainer |
newLink(java.lang.String linkId,
int index)
Factory method for links used to switch between tabs.
|
protected org.apache.wicket.markup.html.list.LoopItem |
newTabContainer(int tabIndex)
Generates a loop item used to represent a specific tab's
li element. |
protected org.apache.wicket.Component |
newTitle(java.lang.String titleId,
org.apache.wicket.model.IModel titleModel,
int index)
Factory method for tab titles.
|
protected void |
onBeforeRender() |
void |
setSelectedTab(int index)
sets the selected tab
|
getWebPage, getWebRequest, getWebResponse, getWebSession
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
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, 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, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, 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
public static final java.lang.String TAB_PANEL_ID
public SideTabbedPanel(java.lang.String id, java.util.List tabs)
id
- component idtabs
- list of ITab objects used to represent tabsprotected org.apache.wicket.markup.html.list.LoopItem newTabContainer(int tabIndex)
li
element.tabIndex
- protected void onBeforeRender()
onBeforeRender
in class org.apache.wicket.Component
protected java.lang.String getTabContainerCssClass()
tab-row
public final java.util.List getTabs()
protected org.apache.wicket.Component newTitle(java.lang.String titleId, org.apache.wicket.model.IModel titleModel, int index)
titleId
- id of title componenttitleModel
- model containing tab titleindex
- index of tabprotected org.apache.wicket.markup.html.WebMarkupContainer newLink(java.lang.String linkId, int index)
<a href="#" wicket:id="link"><span wicket:id="title">[[tab title]]</span></a>Example implementation:
protected WebMarkupContainer newLink(String linkId, final int index) { return new Link(linkId) { private static final long serialVersionUID = 1L; public void onClick() { setSelectedTab(index); } }; }
linkId
- component id with which the link should be createdindex
- index of the tab that should be activated when this link is clicked. See setSelectedTab(int)
.public void setSelectedTab(int index)
index
- index of the tab to selectpublic final int getSelectedTab()