Class TabbedPanel<T extends ITab>

    • Constructor Detail

      • TabbedPanel

        public TabbedPanel​(String id,
                           List<T> tabs)
        Constructor
        Parameters:
        id - component id
        tabs - list of ITab objects used to represent tabs
      • TabbedPanel

        public TabbedPanel​(String id,
                           List<T> tabs,
                           IModel<Integer> model)
        Constructor
        Parameters:
        id - component id
        tabs - list of ITab objects used to represent tabs
        model - model holding the index of the selected tab
    • Method Detail

      • newTabContainer

        protected LoopItem newTabContainer​(int tabIndex)
        Generates a loop item used to represent a specific tab's li element.
        Parameters:
        tabIndex -
        Returns:
        new loop item
      • onBeforeRender

        protected void onBeforeRender()
        Description copied from class: Component
        Called on all visible components before any component is rendered.

        NOTE: If you override this, you *must* call super.onBeforeRender() within your implementation. Because this method is responsible for cascading Component.onBeforeRender() call to its children it is strongly recommended that super call is made at the end of the override.

        Changes to the component tree can be made only before calling super.onBeforeRender().
        Overrides:
        onBeforeRender in class Component
        See Also:
        MarkupContainer.addOrReplace(Component...)
      • getTabContainerCssClass

        protected String getTabContainerCssClass()
        Returns:
        the value of css class attribute that will be added to a div containing the tabs. The default value is tab-row
      • getLastTabCssClass

        protected String getLastTabCssClass()
        Returns:
        the value of css class attribute that will be added to last tab. The default value is last
      • getSelectedTabCssClass

        protected String getSelectedTabCssClass()
        Returns:
        the value of css class attribute that will be added to selected tab. The default value is selected
      • getTabs

        public final List<TgetTabs()
        Returns:
        list of tabs that can be used by the user to add/remove/reorder tabs in the panel
      • newTitle

        protected Component newTitle​(String titleId,
                                     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 component
        titleModel - model containing tab title
        index - index of tab
        Returns:
        title component
      • newLink

        protected WebMarkupContainer newLink​(String linkId,
                                             int index)
        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 created
        index - index of the tab that should be activated when this link is clicked. See setSelectedTab(int).
        Returns:
        created link component
      • getSelectedTab

        public final int getSelectedTab()
        Returns:
        index of the selected tab
      • onDetach

        protected void onDetach()
        Description copied from class: Component
        Called to allow a component to detach resources after use. Overrides of this method MUST call the super implementation, the most logical place to do this is the last line of the override method.
        Overrides:
        onDetach in class MarkupContainer