]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/ribbon/bar.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / ribbon / bar.h
index 112e4c0debf500ec7d79aedc0e85a2fd850e8470..e8d9ef3c48276fe39221496202d2d355432d4d2a 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        ribbon/bar.h
 // Purpose:     interface of wxRibbonBar
 // Author:      Peter Cawley
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -64,7 +63,8 @@ public:
     @beginStyleTable
     @style{wxRIBBON_BAR_DEFAULT_STYLE}
         Defined as wxRIBBON_BAR_FLOW_HORIZONTAL |
-        wxRIBBON_BAR_SHOW_PAGE_LABELS | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
+        wxRIBBON_BAR_SHOW_PAGE_LABELS | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
+        wxRIBBON_BAR_SHOW_TOGGLE_BUTTON | wxRIBBON_BAR_SHOW_HELP_BUTTON.
     @style{wxRIBBON_BAR_FOLDBAR_STYLE}
         Defined as wxRIBBON_BAR_FLOW_VERTICAL | wxRIBBON_BAR_SHOW_PAGE_ICONS
         | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
@@ -83,6 +83,12 @@ public:
     @style{wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS}
         Causes minimise buttons to be shown on panels (where the panel has
         such a button).
+    @style{wxRIBBON_BAR_SHOW_TOGGLE_BUTTON}
+        Causes a toggle button to appear on the ribbon bar at top-right corner.
+        This style is new since wxWidgets 2.9.5.
+    @style{wxRIBBON_BAR_SHOW_HELP_BUTTON}
+        Causes a help button to appear on the ribbon bar at the top-right corner.
+        This style is new since wxWidgets 2.9.5.
     @endStyleTable
 
 
@@ -103,6 +109,12 @@ public:
         Triggered when the right mouse button is released on a tab.
     @event{EVT_RIBBONBAR_TAB_LEFT_DCLICK(id, func)}
         Triggered when the left mouse button is double clicked on a tab.
+    @event{EVT_RIBBONBAR_TOGGLED(id, func)}
+        Triggered when the button triggering the ribbon bar is clicked. This
+        event is new since wxWidgets 2.9.5.
+    @event{EVT_RIBBONBAR_HELP_CLICK(id, func)}
+        Triggered when the help button is clicked. This even is new since
+        wxWidgets 2.9.5.
     @endEventTable
 
     @library{wxribbon}
@@ -221,6 +233,15 @@ public:
     */
     bool DismissExpandedPanel();
 
+    /**
+        Returns the number for a given ribbon bar page.
+
+        The number can be used in other ribbon bar calls.
+
+        @since 2.9.5
+    */
+    int GetPageNumber(wxRibbonPage* page) const;
+
     /**
         Delete a single page from this ribbon bar.
 
@@ -238,6 +259,65 @@ public:
     */
     void ClearPages();
 
+    /**
+        Indicates whether the tab for the given page is shown to the user or
+        not.
+
+        By default all page tabs are shown.
+
+        @since 2.9.5
+    */
+    bool IsPageShown(size_t page) const;
+
+    /**
+        Show or hide the tab for a given page.
+
+        After showing or hiding a tab, you need to call wxRibbonBar::Realize().
+        If you hide the tab for the currently active page (GetActivePage) then
+        you should call SetActivePage to activate a different page.
+
+        @since 2.9.5
+    */
+    void ShowPage(size_t page, bool show_tab=true);
+
+    /**
+        Hides the tab for a given page.
+
+        Equivalent to @c ShowPage(page, false).
+
+        @since 2.9.5
+    */
+    void HidePage(size_t page);
+
+    /**
+        Indicates whether a tab is currently highlighted.
+
+        @see AddPageHighlight()
+
+        @since 2.9.5
+    */
+    bool IsPageHighlighted(size_t page) const;
+
+    /**
+        Highlight the specified tab.
+
+        Highlighted tabs have a colour between that of the active tab
+        and a tab over which the mouse is hovering. This can be used
+        to make a tab (usually temporarily) more noticeable to the user.
+
+        @since 2.9.5
+    */
+    void AddPageHighlight(size_t page, bool highlight = true);
+
+    /**
+        Changes a tab to not be highlighted.
+
+        @see AddPageHighlight()
+
+        @since 2.9.5
+    */
+    void RemovePageHighlight(size_t page);
+
     /**
         Shows or hides the panel area of the ribbon bar.