Class SideTabbedPanel
java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
com.inductiveautomation.ignition.gateway.web.components.SideTabbedPanel
- All Implemented Interfaces:
Serializable
,Iterable<org.apache.wicket.Component>
,org.apache.wicket.event.IEventSink
,org.apache.wicket.event.IEventSource
,org.apache.wicket.IConverterLocator
,org.apache.wicket.markup.html.IHeaderContributor
,org.apache.wicket.request.component.IRequestableComponent
,org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>
,org.apache.wicket.util.io.IClusterable
public class SideTabbedPanel
extends org.apache.wicket.markup.html.panel.Panel
This is a drop-in replacement for TabbedPanel, that puts the tabs along the sied.
SideTabbedPanel component represets a panel with tabs that are used to switch between different content panels inside the SideTabbedPanel 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
- See Also:
-
ITab
- Serialized Form
-
Field Summary
FieldsFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal int
protected String
final List
getTabs()
protected org.apache.wicket.markup.html.WebMarkupContainer
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'sli
element.protected org.apache.wicket.Component
Factory method for tab titles.protected void
void
setSelectedTab
(int index) sets the selected tabMethods inherited from class org.apache.wicket.markup.html.panel.Panel
newMarkupSourcingStrategy
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, 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, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onReAdd, 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
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
TAB_PANEL_ID
id used for child panels- See Also:
-
-
Constructor Details
-
SideTabbedPanel
Constructor- Parameters:
id
- component idtabs
- list of ITab objects used to represent tabs
-
-
Method Details
-
newTabContainer
protected org.apache.wicket.markup.html.list.LoopItem newTabContainer(int tabIndex) Generates a loop item used to represent a specific tab'sli
element.- Returns:
- new loop item
-
onBeforeRender
protected void onBeforeRender()- Overrides:
onBeforeRender
in classorg.apache.wicket.Component
-
getTabContainerCssClass
- Returns:
- the value of css class attribute that will be added to a div containing the tabs. The default value is
tab-row
-
getTabs
- Returns:
- list of tabs that can be used by the user to add/remove/reorder tabs in the panel
-
newTitle
protected org.apache.wicket.Component newTitle(String titleId, org.apache.wicket.model.IModel titleModel, int index) Factory method for tab titles. Returned component can be anything that can attach to span tags such as a fragment, panel, or a label- Parameters:
titleId
- id of title componenttitleModel
- model containing tab titleindex
- index of tab- Returns:
- title component
-
newLink
Factory method for links used to switch between tabs.The created component is attached to the following markup. Label component with id: title will be added for you by the tabbed panel.
<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); } }; }
- Parameters:
linkId
- component id with which the link should be createdindex
- index of the tab that should be activated when this link is clicked. SeesetSelectedTab(int)
.- Returns:
- created link component
-
getSelectedTab
public final int getSelectedTab()- Returns:
- index of the selected tab
-
setSelectedTab
public void setSelectedTab(int index) sets the selected tab- Parameters:
index
- index of the tab to select
-