+/**
+ @class wxAuiNotebookEvent
+
+ This class is used by the events generated by wxAuiNotebook.
+
+ @beginEventEmissionTable{wxAuiNotebookEvent}
+ @event{EVT_AUINOTEBOOK_PAGE_CLOSE(id, func)}
+ A page is about to be closed. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE event.
+ @event{EVT_AUINOTEBOOK_PAGE_CLOSED(winid, fn)}
+ A page has been closed. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED event.
+ @event{EVT_AUINOTEBOOK_PAGE_CHANGED(id, func)}
+ The page selection was changed. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED event.
+ @event{EVT_AUINOTEBOOK_PAGE_CHANGING(id, func)}
+ The page selection is about to be changed. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING event. This event can be vetoed.
+ @event{EVT_AUINOTEBOOK_BUTTON(id, func)}
+ The window list button has been pressed. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_BUTTON event.
+ @event{EVT_AUINOTEBOOK_BEGIN_DRAG(id, func)}
+ Dragging is about to begin. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG event.
+ @event{EVT_AUINOTEBOOK_END_DRAG(id, func)}
+ Dragging has ended. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_END_DRAG event.
+ @event{EVT_AUINOTEBOOK_DRAG_MOTION(id, func)}
+ Emitted during a drag and drop operation. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_DRAG_MOTION event.
+ @event{EVT_AUINOTEBOOK_ALLOW_DND(id, func)}
+ Whether to allow a tab to be dropped. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_ALLOW_DND event. This event must be specially allowed.
+ @event{EVT_AUINOTEBOOK_DRAG_DONE(winid, fn)}
+ Notify that the tab has been dragged. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_DRAG_DONE event.
+ @event{EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN(winid, fn)}
+ The middle mouse button is pressed on a tab. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN event.
+ @event{EVT_AUINOTEBOOK_TAB_MIDDLE_UP(winid, fn)}
+ The middle mouse button is released on a tab. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP event.
+ @event{EVT_AUINOTEBOOK_TAB_RIGHT_DOWN(winid, fn)}
+ The right mouse button is pressed on a tab. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN event.
+ @event{EVT_AUINOTEBOOK_TAB_RIGHT_UP(winid, fn)}
+ The right mouse button is released on a tab. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP event.
+ @event{EVT_AUINOTEBOOK_BG_DCLICK(winid, fn)}
+ Double clicked on the tabs background area. Processes a @c wxEVT_COMMAND_AUINOTEBOOK_BG_DCLICK event.
+ @endEventTable
+
+ @library{wxaui}
+ @category{events,bookctrl}
+
+ @see wxAuiNotebook, wxBookCtrlEvent
+*/
+class wxAuiNotebookEvent : public wxBookCtrlEvent
+{
+public:
+ /**
+ Constructor.
+ */
+ wxAuiNotebookEvent(wxEventType command_type = wxEVT_NULL, int win_id = 0);
+
+ wxEvent *Clone();
+};
+
+/**
+ Default art provider for wxAuiNotebook.
+
+ @see wxAuiTabArt
+
+ @genericAppearance{auidefaulttabart.png}
+
+ @library{wxaui}
+ @category{aui}
+*/
+
+class wxAuiDefaultTabArt : public wxAuiTabArt
+{
+public:
+
+ wxAuiDefaultTabArt();
+ virtual ~wxAuiDefaultTabArt();
+
+ wxAuiTabArt* Clone();
+ void SetFlags(unsigned int flags);
+ void SetSizingInfo(const wxSize& tabCtrlSize,
+ size_t tabCount);
+
+ void SetNormalFont(const wxFont& font);
+ void SetSelectedFont(const wxFont& font);
+ void SetMeasuringFont(const wxFont& font);
+ void SetColour(const wxColour& colour);
+ void SetActiveColour(const wxColour& colour);
+
+ void DrawBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawTab(wxDC& dc,
+ wxWindow* wnd,
+ const wxAuiNotebookPage& pane,
+ const wxRect& inRect,
+ int closeButtonState,
+ wxRect* outTabRect,
+ wxRect* outButtonRect,
+ int* xExtent);
+
+ void DrawButton(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& inRect,
+ int bitmapId,
+ int buttonState,
+ int orientation,
+ wxRect* outRect);
+
+ int GetIndentSize();
+
+ wxSize GetTabSize(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxString& caption,
+ const wxBitmap& bitmap,
+ bool active,
+ int closeButtonState,
+ int* xExtent);
+
+ int ShowDropDown(
+ wxWindow* wnd,
+ const wxAuiNotebookPageArray& items,
+ int activeIdx);
+
+ int GetBestTabCtrlSize(wxWindow* wnd,
+ const wxAuiNotebookPageArray& pages,
+ const wxSize& requiredBmpSize);
+
+protected:
+ /**
+ The font used for all tabs
+ */
+ wxFont m_normalFont;
+ wxFont m_selectedFont; /// The font used on the selected tab
+ wxFont m_measuringFont;
+ wxColour m_baseColour;
+ wxPen m_baseColourPen;
+ wxPen m_borderPen;
+ wxBrush m_baseColourBrush;
+ wxColour m_activeColour;
+ wxBitmap m_activeCloseBmp;
+ wxBitmap m_disabledCloseBmp;
+ wxBitmap m_activeLeftBmp;
+ wxBitmap m_disabledLeftBmp;
+ wxBitmap m_activeRightBmp;
+ wxBitmap m_disabledRightBmp;
+ wxBitmap m_activeWindowListBmp;
+ wxBitmap m_disabledWindowListBmp;
+
+ int m_fixedTabWidth;
+ int m_tabCtrlHeight;
+ unsigned int m_flags;
+};
+
+
+/**
+ @class wxAuiSimpleTabArt
+
+ Another standard tab art provider for wxAuiNotebook.
+
+ wxAuiSimpleTabArt is derived from wxAuiTabArt demonstrating how to write a
+ completely new tab art class. It can also be used as alternative to
+ wxAuiDefaultTabArt.
+
+ @genericAppearance{auisimpletabart.png}
+
+ @library{wxaui}
+ @category{aui}
+*/
+
+class wxAuiSimpleTabArt : public wxAuiTabArt
+{
+
+public:
+
+ wxAuiSimpleTabArt();
+ virtual ~wxAuiSimpleTabArt();
+
+ wxAuiTabArt* Clone();
+ void SetFlags(unsigned int flags);
+
+ void SetSizingInfo(const wxSize& tabCtrlSize,
+ size_t tabCount);
+
+ void SetNormalFont(const wxFont& font);
+ void SetSelectedFont(const wxFont& font);
+ void SetMeasuringFont(const wxFont& font);
+ void SetColour(const wxColour& colour);
+ void SetActiveColour(const wxColour& colour);
+
+ void DrawBackground(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& rect);
+
+ void DrawTab(wxDC& dc,
+ wxWindow* wnd,
+ const wxAuiNotebookPage& pane,
+ const wxRect& inRect,
+ int closeButtonState,
+ wxRect* outTabRect,
+ wxRect* outButtonRect,
+ int* xExtent);
+
+ void DrawButton(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxRect& inRect,
+ int bitmapId,
+ int buttonState,
+ int orientation,
+ wxRect* outRect);
+
+ int GetIndentSize();
+
+ wxSize GetTabSize(
+ wxDC& dc,
+ wxWindow* wnd,
+ const wxString& caption,
+ const wxBitmap& bitmap,
+ bool active,
+ int closeButtonState,
+ int* xExtent);
+
+ int ShowDropDown(
+ wxWindow* wnd,
+ const wxAuiNotebookPageArray& items,
+ int activeIdx);
+
+ int GetBestTabCtrlSize(wxWindow* wnd,
+ const wxAuiNotebookPageArray& pages,
+ const wxSize& requiredBmpSize);
+
+protected:
+
+ wxFont m_normalFont;
+ wxFont m_selectedFont;
+ wxFont m_measuringFont;
+ wxPen m_normalBkPen;
+ wxPen m_selectedBkPen;
+ wxBrush m_normalBkBrush;
+ wxBrush m_selectedBkBrush;
+ wxBrush m_bkBrush;
+ wxBitmap m_activeCloseBmp;
+ wxBitmap m_disabledCloseBmp;
+ wxBitmap m_activeLeftBmp;
+ wxBitmap m_disabledLeftBmp;
+ wxBitmap m_activeRightBmp;
+ wxBitmap m_disabledRightBmp;
+ wxBitmap m_activeWindowListBmp;
+ wxBitmap m_disabledWindowListBmp;
+
+ int m_fixedTabWidth;
+ unsigned int m_flags;
+};