| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        aui/auibook.h
 
- // Purpose:     interface of wxAuiNotebook
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     @class wxAuiNotebook
 
-     wxAuiNotebook is part of the wxAUI class framework, which represents a
 
-     notebook control, managing multiple windows with associated tabs.
 
-     See also @ref overview_aui.
 
-     wxAuiNotebook is a notebook control which implements many features common in
 
-     applications with dockable panes.
 
-     Specifically, wxAuiNotebook implements functionality which allows the user to
 
-     rearrange tab order via drag-and-drop, split the tab window into many different
 
-     splitter configurations, and toggle through different themes to customize
 
-     the control's look and feel.
 
-     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}
 
-            Defined as 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.
 
-     @style{wxAUI_NB_TAB_SPLIT}
 
-            Allows the tab control to be split by dragging a tab.
 
-     @style{wxAUI_NB_TAB_MOVE}
 
-            Allows a tab to be moved horizontally by dragging.
 
-     @style{wxAUI_NB_TAB_EXTERNAL_MOVE}
 
-            Allows a tab to be moved to another tab control.
 
-     @style{wxAUI_NB_TAB_FIXED_WIDTH}
 
-            With this style, all tabs have the same width.
 
-     @style{wxAUI_NB_SCROLL_BUTTONS}
 
-            With this style, left and right scroll buttons are displayed.
 
-     @style{wxAUI_NB_WINDOWLIST_BUTTON}
 
-            With this style, a drop-down list of windows is available.
 
-     @style{wxAUI_NB_CLOSE_BUTTON}
 
-            With this style, a close button is available on the tab bar.
 
-     @style{wxAUI_NB_CLOSE_ON_ACTIVE_TAB}
 
-            With this style, the close button is visible on the active tab.
 
-     @style{wxAUI_NB_CLOSE_ON_ALL_TABS}
 
-            With this style, the close button is visible on all tabs.
 
-     @style{wxAUI_NB_MIDDLE_CLICK_CLOSE}
 
-            With this style, middle click on a tab closes the tab.
 
-     @style{wxAUI_NB_TOP}
 
-            With this style, tabs are drawn along the top of the notebook.
 
-     @style{wxAUI_NB_BOTTOM}
 
-            With this style, tabs are drawn along the bottom of the notebook.
 
-     @endStyleTable
 
-     @beginEventEmissionTable{wxAuiNotebookEvent}
 
-     @event{EVT_AUINOTEBOOK_PAGE_CLOSE(id, func)}
 
-         A page is about to be closed. Processes a @c wxEVT_AUINOTEBOOK_PAGE_CLOSE event.
 
-     @event{EVT_AUINOTEBOOK_PAGE_CLOSED(winid, fn)}
 
-         A page has been closed. Processes a @c wxEVT_AUINOTEBOOK_PAGE_CLOSED event.
 
-     @event{EVT_AUINOTEBOOK_PAGE_CHANGED(id, func)}
 
-         The page selection was changed. Processes a @c wxEVT_AUINOTEBOOK_PAGE_CHANGED event.
 
-     @event{EVT_AUINOTEBOOK_PAGE_CHANGING(id, func)}
 
-         The page selection is about to be changed. Processes a  @c wxEVT_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_AUINOTEBOOK_BUTTON event.
 
-     @event{EVT_AUINOTEBOOK_BEGIN_DRAG(id, func)}
 
-         Dragging is about to begin. Processes a @c wxEVT_AUINOTEBOOK_BEGIN_DRAG event.
 
-     @event{EVT_AUINOTEBOOK_END_DRAG(id, func)}
 
-         Dragging has ended. Processes a @c wxEVT_AUINOTEBOOK_END_DRAG event.
 
-     @event{EVT_AUINOTEBOOK_DRAG_MOTION(id, func)}
 
-         Emitted during a drag and drop operation. Processes a @c wxEVT_AUINOTEBOOK_DRAG_MOTION event.
 
-     @event{EVT_AUINOTEBOOK_ALLOW_DND(id, func)}
 
-         Whether to allow a tab to be dropped. Processes a @c wxEVT_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_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_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_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_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_AUINOTEBOOK_TAB_RIGHT_UP event.
 
-     @event{EVT_AUINOTEBOOK_BG_DCLICK(winid, fn)}
 
-         Double clicked on the tabs background area. Processes a @c wxEVT_AUINOTEBOOK_BG_DCLICK event.
 
-     @endEventTable
 
-     @library{wxaui}
 
-     @category{aui}
 
- */
 
- class wxAuiNotebook : public wxBookCtrlBase
 
- {
 
- public:
 
-     /**
 
-         Default ctor.
 
-     */
 
-     wxAuiNotebook();
 
-     /**
 
-         Constructor. Creates a wxAuiNotebok control.
 
-     */
 
-     wxAuiNotebook(wxWindow* parent, wxWindowID id = wxID_ANY,
 
-                   const wxPoint& pos = wxDefaultPosition,
 
-                   const wxSize& size = wxDefaultSize,
 
-                   long style = wxAUI_NB_DEFAULT_STYLE);
 
-     /**
 
-         Adds a page.
 
-         If the @a select parameter is @true, calling this will generate a page change event.
 
-     */
 
-     bool AddPage(wxWindow* page, const wxString& caption,
 
-                  bool select = false,
 
-                  const wxBitmap& bitmap = wxNullBitmap);
 
-     /**
 
-         Adds a new page.
 
-         The page must have the book control itself as the parent and must not
 
-         have been added to this control previously.
 
-         The call to this function may generate the page changing events.
 
-         @param page
 
-             Specifies the new page.
 
-         @param text
 
-             Specifies the text for the new page.
 
-         @param select
 
-             Specifies whether the page should be selected.
 
-         @param imageId
 
-             Specifies the optional image index for the new page.
 
-         @return @true if successful, @false otherwise.
 
-         @remarks Do not delete the page, it will be deleted by the book control.
 
-         @see InsertPage()
 
-         @since 2.9.3
 
-     */
 
-     virtual bool AddPage(wxWindow *page, const wxString &text, bool select, int imageId);
 
-     /**
 
-         Sets the selection to the next or previous page.
 
-     */
 
-     void AdvanceSelection(bool forward = true);
 
-     /**
 
-         Changes the selection for the given page, returning the previous selection.
 
-         This function behaves as SetSelection() but does @em not generate the
 
-         page changing events.
 
-         See @ref overview_events_prog for more information.
 
-         @since 2.9.3
 
-     */
 
-     virtual int ChangeSelection(size_t n);
 
-     /**
 
-         Creates the notebook window.
 
-     */
 
-     bool Create(wxWindow* parent, wxWindowID id = wxID_ANY,
 
-                 const wxPoint& pos = wxDefaultPosition,
 
-                 const wxSize& size = wxDefaultSize,
 
-                 long style = 0);
 
-     /**
 
-         Deletes all pages.
 
-         @since 2.9.3
 
-     */
 
-     virtual bool DeleteAllPages();
 
-     /**
 
-         Deletes a page at the given index.
 
-         Calling this method will generate a page change event.
 
-     */
 
-     bool DeletePage(size_t page);
 
-     /**
 
-         Returns the associated art provider.
 
-     */
 
-     wxAuiTabArt* GetArtProvider() const;
 
-     /**
 
-         Returns the currently selected page or @NULL.
 
-         @since 2.9.3
 
-     */
 
-     wxWindow* GetCurrentPage () const;
 
-     /**
 
-         Returns the desired height of the notebook for the given page height.
 
-         Use this to fit the notebook to a given page size.
 
-     */
 
-     int GetHeightForPageHeight(int pageHeight);
 
-     /**
 
-         Returns the page specified by the given index.
 
-     */
 
-     wxWindow* GetPage(size_t page_idx) const;
 
-     /**
 
-         Returns the tab bitmap for the page.
 
-     */
 
-     wxBitmap GetPageBitmap(size_t page) const;
 
-     /**
 
-         Returns the number of pages in the notebook.
 
-     */
 
-     size_t GetPageCount() const;
 
-     /**
 
-         Returns the page index for the specified window.
 
-         If the window is not found in the notebook, wxNOT_FOUND is returned.
 
-     */
 
-     int GetPageIndex(wxWindow* page_wnd) const;
 
-     /**
 
-         Returns the tab label for the page.
 
-     */
 
-     wxString GetPageText(size_t page) const;
 
-     /**
 
-         Returns the tooltip for the tab label of the page.
 
-         @since 2.9.4
 
-     */
 
-     wxString GetPageToolTip(size_t pageIdx) const;
 
-     /**
 
-         Returns the currently selected page.
 
-     */
 
-     int GetSelection() const;
 
-     /**
 
-         Returns the height of the tab control.
 
-     */
 
-     int GetTabCtrlHeight() const;
 
-     /**
 
-         InsertPage() is similar to AddPage, but allows the ability to specify the
 
-         insert location.
 
-         If the @a select parameter is @true, calling this will generate a page change
 
-         event.
 
-     */
 
-     bool InsertPage(size_t page_idx, wxWindow* page,
 
-                     const wxString& caption,
 
-                     bool select = false,
 
-                     const wxBitmap& bitmap = wxNullBitmap);
 
-     /**
 
-         Inserts a new page at the specified position.
 
-         @param index
 
-             Specifies the position for the new page.
 
-         @param page
 
-             Specifies the new page.
 
-         @param text
 
-             Specifies the text for the new page.
 
-         @param select
 
-             Specifies whether the page should be selected.
 
-         @param imageId
 
-             Specifies the optional image index for the new page.
 
-         @return @true if successful, @false otherwise.
 
-         @remarks Do not delete the page, it will be deleted by the book control.
 
-         @see AddPage()
 
-         @since 2.9.3
 
-     */
 
-     virtual bool InsertPage(size_t index, wxWindow *page, const wxString &text,
 
-                             bool select=false, int imageId=NO_IMAGE);
 
-     /**
 
-         Removes a page, without deleting the window pointer.
 
-     */
 
-     bool RemovePage(size_t page);
 
-     /**
 
-         Sets the art provider to be used by the notebook.
 
-     */
 
-     void SetArtProvider(wxAuiTabArt* art);
 
-     /**
 
-         Sets the font for drawing the tab labels, using a bold version of the font for
 
-         selected tab labels.
 
-     */
 
-     virtual bool SetFont(const wxFont& font);
 
-     /**
 
-         Sets the font for measuring tab labels.
 
-     */
 
-     void SetMeasuringFont(const wxFont& font);
 
-     /**
 
-         Sets the font for drawing unselected tab labels.
 
-     */
 
-     void SetNormalFont(const wxFont& font);
 
-     /**
 
-         Sets the bitmap for the page.  To remove a bitmap from the tab caption, pass
 
-         wxNullBitmap.
 
-     */
 
-     bool SetPageBitmap(size_t page, const wxBitmap& bitmap);
 
-     /**
 
-         Sets the image index for the given page. @a image is an index into
 
-         the image list which was set with SetImageList().
 
-         @since 2.9.3
 
-     */
 
-     virtual bool SetPageImage(size_t n, int imageId);
 
-     /**
 
-         Sets the tab label for the page.
 
-     */
 
-     bool SetPageText(size_t page, const wxString& text);
 
-     /**
 
-         Sets the tooltip displayed when hovering over the tab label of the page.
 
-         @return
 
-             @true if tooltip was updated, @false if it failed, e.g. because the
 
-             page index is invalid.
 
-         @since 2.9.4
 
-     */
 
-     bool SetPageToolTip(size_t page, const wxString& text);
 
-     /**
 
-         Sets the font for drawing selected tab labels.
 
-     */
 
-     void SetSelectedFont(const wxFont& font);
 
-     /**
 
-         Sets the page selection.  Calling this method will generate a page change event.
 
-     */
 
-     size_t SetSelection(size_t new_page);
 
-     /**
 
-         Sets the tab height. By default, the tab control height is calculated
 
-         by measuring the text height and bitmap sizes on the tab captions. Calling this
 
-         method will override that calculation and set the tab control to the specified
 
-         height parameter. A call to this method will override any call to
 
-         SetUniformBitmapSize().
 
-         Specifying -1 as the height will return the control to its default auto-sizing
 
-         behaviour.
 
-     */
 
-     virtual void SetTabCtrlHeight(int height);
 
-     //@{
 
-     /**
 
-         Split performs a split operation programmatically. The argument @a page
 
-         indicates the page that will be split off.  This page will also become the
 
-         active page after the split.
 
-         The @a direction argument specifies where the pane should go, it should be one
 
-         of the following: wxTOP, wxBOTTOM, wxLEFT, or wxRIGHT.
 
-     */
 
-     virtual void SetUniformBitmapSize(const wxSize& size);
 
-     virtual void Split(size_t page, int direction);
 
-     //@}
 
-     /**
 
-         Shows the window menu for the active tab control associated with this notebook,
 
-         and returns @true if a selection was made.
 
-     */
 
-     bool ShowWindowMenu();
 
- };
 
- /**
 
-     @class wxAuiTabContainerButton
 
-     A simple class which holds information about wxAuiNotebook tab buttons and their state.
 
-     @library{wxaui}
 
-     @category{aui}
 
- */
 
- class wxAuiTabContainerButton
 
- {
 
- public:
 
-     /// button's id
 
-     int id;
 
-     /// current state (normal, hover, pressed, etc.)
 
-     int curState;
 
-     /// buttons location (wxLEFT, wxRIGHT, or wxCENTER)
 
-     int location;
 
-     /// button's hover bitmap
 
-     wxBitmap bitmap;
 
-     /// button's disabled bitmap
 
-     wxBitmap disBitmap;
 
-     /// button's hit rectangle
 
-     wxRect rect;
 
- };
 
- /**
 
-     @class wxAuiTabContainer
 
-     wxAuiTabContainer is a class which contains information about each tab.
 
-     It also can render an entire tab control to a specified DC.
 
-     It's not a window class itself, because this code will be used by
 
-     the wxAuiNotebook, where it is disadvantageous to have separate
 
-     windows for each tab control in the case of "docked tabs".
 
-     A derived class, wxAuiTabCtrl, is an actual wxWindow - derived window
 
-     which can be used as a tab control in the normal sense.
 
-     @library{wxaui}
 
-     @category{aui}
 
- */
 
- class wxAuiTabContainer
 
- {
 
- public:
 
-     /**
 
-         Default ctor.
 
-     */
 
-     wxAuiTabContainer();
 
-     /**
 
-         Default dtor.
 
-     */
 
-     virtual ~wxAuiTabContainer();
 
-     void SetArtProvider(wxAuiTabArt* art);
 
-     wxAuiTabArt* GetArtProvider() const;
 
-     void SetFlags(unsigned int flags);
 
-     unsigned int GetFlags() const;
 
-     bool AddPage(wxWindow* page, const wxAuiNotebookPage& info);
 
-     bool InsertPage(wxWindow* page, const wxAuiNotebookPage& info, size_t idx);
 
-     bool MovePage(wxWindow* page, size_t newIdx);
 
-     bool RemovePage(wxWindow* page);
 
-     bool SetActivePage(wxWindow* page);
 
-     bool SetActivePage(size_t page);
 
-     void SetNoneActive();
 
-     int GetActivePage() const;
 
-     bool TabHitTest(int x, int y, wxWindow** hit) const;
 
-     bool ButtonHitTest(int x, int y, wxAuiTabContainerButton** hit) const;
 
-     wxWindow* GetWindowFromIdx(size_t idx) const;
 
-     int GetIdxFromWindow(wxWindow* page) const;
 
-     size_t GetPageCount() const;
 
-     wxAuiNotebookPage& GetPage(size_t idx);
 
-     const wxAuiNotebookPage& GetPage(size_t idx) const;
 
-     wxAuiNotebookPageArray& GetPages();
 
-     void SetNormalFont(const wxFont& normalFont);
 
-     void SetSelectedFont(const wxFont& selectedFont);
 
-     void SetMeasuringFont(const wxFont& measuringFont);
 
-     void SetColour(const wxColour& colour);
 
-     void SetActiveColour(const wxColour& colour);
 
-     void DoShowHide();
 
-     void SetRect(const wxRect& rect);
 
-     void RemoveButton(int id);
 
-     void AddButton(int id,
 
-                    int location,
 
-                    const wxBitmap& normalBitmap = wxNullBitmap,
 
-                    const wxBitmap& disabledBitmap = wxNullBitmap);
 
-     size_t GetTabOffset() const;
 
-     void SetTabOffset(size_t offset);
 
-     // Is the tab visible?
 
-     bool IsTabVisible(int tabPage, int tabOffset, wxDC* dc, wxWindow* wnd);
 
-     // Make the tab visible if it wasn't already
 
-     void MakeTabVisible(int tabPage, wxWindow* win);
 
- protected:
 
-     virtual void Render(wxDC* dc, wxWindow* wnd);
 
- protected:
 
-     wxAuiTabArt* m_art;
 
-     wxAuiNotebookPageArray m_pages;
 
-     wxAuiTabContainerButtonArray m_buttons;
 
-     wxAuiTabContainerButtonArray m_tabCloseButtons;
 
-     wxRect m_rect;
 
-     size_t m_tabOffset;
 
-     unsigned int m_flags;
 
- };
 
- /**
 
-     @class wxAuiTabArt
 
-     Tab art provider defines all the drawing functions used by wxAuiNotebook.
 
-     This allows the wxAuiNotebook to have a pluggable look-and-feel.
 
-     By default, a wxAuiNotebook uses an instance of this class called
 
-     wxAuiDefaultTabArt which provides bitmap art and a colour scheme that is
 
-     adapted to the major platforms' look. You can either derive from that class
 
-     to alter its behaviour or write a completely new tab art class.
 
-     Another example of creating a new wxAuiNotebook tab bar is wxAuiSimpleTabArt.
 
-     Call wxAuiNotebook::SetArtProvider() to make use of this new tab art.
 
-     @library{wxaui}
 
-     @category{aui}
 
- */
 
- class wxAuiTabArt
 
- {
 
- public:
 
-     /**
 
-         Constructor.
 
-     */
 
-     wxAuiTabArt();
 
-     /**
 
-         Clones the art object.
 
-     */
 
-     virtual wxAuiTabArt* Clone() = 0;
 
-     /**
 
-         Draws a background on the given area.
 
-     */
 
-     virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect) = 0;
 
-     /**
 
-         Draws a button.
 
-     */
 
-     virtual void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect,
 
-                             int bitmap_id, int button_state, int orientation,
 
-                             wxRect* out_rect) = 0;
 
-     /**
 
-         Draws a tab.
 
-     */
 
-     virtual void DrawTab(wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page,
 
-                          const wxRect& rect, int close_button_state,
 
-                          wxRect* out_tab_rect, wxRect* out_button_rect, int* x_extent) = 0;
 
-     /**
 
-         Returns the tab control size.
 
-     */
 
-     virtual int GetBestTabCtrlSize(wxWindow*, const wxAuiNotebookPageArray&, const wxSize&) = 0;
 
-     /**
 
-         Returns the indent size.
 
-     */
 
-     virtual int GetIndentSize() = 0;
 
-     /**
 
-         Returns the tab size for the given caption, bitmap and state.
 
-     */
 
-     virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption,
 
-                               const wxBitmap& bitmap, bool active,
 
-                               int close_button_state, int* x_extent) = 0;
 
-     /**
 
-         Sets flags.
 
-     */
 
-     virtual void SetFlags(unsigned int flags) = 0;
 
-     /**
 
-         Sets the font used for calculating measurements.
 
-     */
 
-     virtual void SetMeasuringFont(const wxFont& font) = 0;
 
-     /**
 
-         Sets the normal font for drawing labels.
 
-     */
 
-     virtual void SetNormalFont(const wxFont& font) = 0;
 
-     /**
 
-         Sets the font for drawing text for selected UI elements.
 
-     */
 
-     virtual void SetSelectedFont(const wxFont& font) = 0;
 
-     /**
 
-         Sets the colour of the inactive tabs.
 
-         @since 2.9.2
 
-     */
 
-     virtual void SetColour(const wxColour& colour) = 0;
 
-     /**
 
-         Sets the colour of the selected tab.
 
-         @since 2.9.2
 
-     */
 
-     virtual void SetActiveColour(const wxColour& colour) = 0;
 
-     /**
 
-         Sets sizing information.
 
-     */
 
-     virtual void SetSizingInfo(const wxSize& tab_ctrl_size, size_t tab_count) = 0;
 
- };
 
- /**
 
-     @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_AUINOTEBOOK_PAGE_CLOSE event.
 
-     @event{EVT_AUINOTEBOOK_PAGE_CLOSED(winid, fn)}
 
-         A page has been closed. Processes a @c wxEVT_AUINOTEBOOK_PAGE_CLOSED event.
 
-     @event{EVT_AUINOTEBOOK_PAGE_CHANGED(id, func)}
 
-         The page selection was changed. Processes a @c wxEVT_AUINOTEBOOK_PAGE_CHANGED event.
 
-     @event{EVT_AUINOTEBOOK_PAGE_CHANGING(id, func)}
 
-         The page selection is about to be changed. Processes a  @c wxEVT_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_AUINOTEBOOK_BUTTON event.
 
-     @event{EVT_AUINOTEBOOK_BEGIN_DRAG(id, func)}
 
-         Dragging is about to begin. Processes a @c wxEVT_AUINOTEBOOK_BEGIN_DRAG event.
 
-     @event{EVT_AUINOTEBOOK_END_DRAG(id, func)}
 
-         Dragging has ended. Processes a @c wxEVT_AUINOTEBOOK_END_DRAG event.
 
-     @event{EVT_AUINOTEBOOK_DRAG_MOTION(id, func)}
 
-         Emitted during a drag and drop operation. Processes a @c wxEVT_AUINOTEBOOK_DRAG_MOTION event.
 
-     @event{EVT_AUINOTEBOOK_ALLOW_DND(id, func)}
 
-         Whether to allow a tab to be dropped. Processes a @c wxEVT_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_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_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_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_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_AUINOTEBOOK_TAB_RIGHT_UP event.
 
-     @event{EVT_AUINOTEBOOK_BG_DCLICK(winid, fn)}
 
-         Double clicked on the tabs background area. Processes a @c wxEVT_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}
 
-     @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}
 
-     @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;
 
- };
 
 
  |