Additions and fixes for AUI class interfaces

This commit is contained in:
Robin Dunn
2016-10-27 18:48:52 -07:00
parent 90059c0cf9
commit aaa1a51a59
5 changed files with 368 additions and 4 deletions

View File

@@ -5,6 +5,32 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
enum wxAuiNotebookOption
{
wxAUI_NB_TOP = 1 << 0,
wxAUI_NB_LEFT = 1 << 1, // not implemented yet
wxAUI_NB_RIGHT = 1 << 2, // not implemented yet
wxAUI_NB_BOTTOM = 1 << 3,
wxAUI_NB_TAB_SPLIT = 1 << 4,
wxAUI_NB_TAB_MOVE = 1 << 5,
wxAUI_NB_TAB_EXTERNAL_MOVE = 1 << 6,
wxAUI_NB_TAB_FIXED_WIDTH = 1 << 7,
wxAUI_NB_SCROLL_BUTTONS = 1 << 8,
wxAUI_NB_WINDOWLIST_BUTTON = 1 << 9,
wxAUI_NB_CLOSE_BUTTON = 1 << 10,
wxAUI_NB_CLOSE_ON_ACTIVE_TAB = 1 << 11,
wxAUI_NB_CLOSE_ON_ALL_TABS = 1 << 12,
wxAUI_NB_MIDDLE_CLICK_CLOSE = 1 << 13,
wxAUI_NB_DEFAULT_STYLE = wxAUI_NB_TOP |
wxAUI_NB_TAB_SPLIT |
wxAUI_NB_TAB_MOVE |
wxAUI_NB_SCROLL_BUTTONS |
wxAUI_NB_CLOSE_ON_ACTIVE_TAB |
wxAUI_NB_MIDDLE_CLICK_CLOSE
};
/**
@class wxAuiNotebook
@@ -20,9 +46,9 @@
splitter configurations, and toggle through different themes to customize
the control's look and feel.
The appearance of this class is configurable and can be changed by calling
wxAuiNotebook::SetArtProvider(). By default, native art provider is used if
available (currently only in wxGTK and wxMSW) and wxAuiGenericTabArt otherwise.
The default theme that is used is wxAuiDefaultTabArt, which provides a modern,
glossy look and feel.
The theme can be changed by calling wxAuiNotebook::SetArtProvider.
@beginStyleTable
@style{wxAUI_NB_DEFAULT_STYLE}
@@ -270,7 +296,7 @@ public:
@since 2.9.3
*/
virtual bool InsertPage(size_t index, wxWindow *page, const wxString &text,
bool select=false, int imageId=NO_IMAGE);
bool select, int imageId);
/**
Removes a page, without deleting the window pointer.
@@ -375,6 +401,27 @@ public:
bool ShowWindowMenu();
};
/**
@class wxAuiNotebookPage
A simple class which holds information about the notebook's pages and their state.
@library{wxaui}
@category{aui}
*/
class wxAuiNotebookPage
{
public:
wxWindow* window; // page's associated window
wxString caption; // caption displayed on the tab
wxString tooltip; // tooltip displayed when hovering over tab title
wxBitmap bitmap; // tab's bitmap
wxRect rect; // tab's hit rectangle
bool active; // true if the page is currently active
};
/**
@class wxAuiTabContainerButton