X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9fbb7d80f84efc87dc996a49c6da97cda9048f86..855f31ebe72bef834a32df2c274b41fb282ad265:/include/wx/aui/auibook.h diff --git a/include/wx/aui/auibook.h b/include/wx/aui/auibook.h index 479fb20c67..05ebfdacf2 100644 --- a/include/wx/aui/auibook.h +++ b/include/wx/aui/auibook.h @@ -45,8 +45,8 @@ enum wxAuiNotebookOption wxAUI_NB_CLOSE_BUTTON = 1 << 10, wxAUI_NB_CLOSE_ON_ACTIVE_TAB = 1 << 11, wxAUI_NB_CLOSE_ON_ALL_TABS = 1 << 12, - - + + wxAUI_NB_DEFAULT_STYLE = wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | @@ -82,10 +82,10 @@ public: void SetSelection(int s) { selection = s; m_commandInt = s; } int GetSelection() const { return selection; } - + void SetOldSelection(int s) { old_selection = s; } int GetOldSelection() const { return old_selection; } - + void SetDragSource(wxAuiNotebook* s) { drag_source = s; } wxAuiNotebook* GetDragSource() const { return drag_source; } @@ -138,13 +138,13 @@ public: wxAuiTabArt() { } virtual ~wxAuiTabArt() { } - + virtual wxAuiTabArt* Clone() = 0; virtual void SetFlags(unsigned int flags) = 0; virtual void SetSizingInfo(const wxSize& tab_ctrl_size, size_t tab_count) = 0; - + virtual void SetNormalFont(const wxFont& font) = 0; virtual void SetSelectedFont(const wxFont& font) = 0; virtual void SetMeasuringFont(const wxFont& font) = 0; @@ -156,15 +156,13 @@ public: virtual void DrawTab(wxDC& dc, wxWindow* wnd, + const wxAuiNotebookPage& pane, const wxRect& in_rect, - const wxString& caption, - const wxBitmap& bitmap, - bool active, int close_button_state, wxRect* out_tab_rect, wxRect* out_button_rect, - int* x_extent) = 0; - + int* x_extent) = 0; + virtual void DrawButton( wxDC& dc, wxWindow* wnd, @@ -172,11 +170,8 @@ public: int bitmap_id, int button_state, int orientation, - const wxBitmap& bitmap_override, wxRect* out_rect) = 0; - - virtual int GetIndentSize() = 0; - + virtual wxSize GetTabSize( wxDC& dc, wxWindow* wnd, @@ -185,15 +180,18 @@ public: bool active, int close_button_state, int* x_extent) = 0; - - virtual int ShowWindowList( + + virtual int ShowDropDown( wxWindow* wnd, - const wxArrayString& items, + const wxAuiNotebookPageArray& items, int active_idx) = 0; - - virtual int GetBestTabCtrlSize(wxWindow* wnd, - wxAuiNotebookPageArray& pages, - const wxSize& required_bmp_size) = 0; + + virtual int GetIndentSize() = 0; + + virtual int GetBestTabCtrlSize( + wxWindow* wnd, + const wxAuiNotebookPageArray& pages, + const wxSize& required_bmp_size) = 0; }; @@ -204,7 +202,7 @@ public: wxAuiDefaultTabArt(); virtual ~wxAuiDefaultTabArt(); - + wxAuiTabArt* Clone(); void SetFlags(unsigned int flags); void SetSizingInfo(const wxSize& tab_ctrl_size, @@ -218,18 +216,16 @@ public: wxDC& dc, wxWindow* wnd, const wxRect& rect); - + void DrawTab(wxDC& dc, wxWindow* wnd, + const wxAuiNotebookPage& pane, const wxRect& in_rect, - const wxString& caption, - const wxBitmap& bitmap, - bool active, int close_button_state, wxRect* out_tab_rect, wxRect* out_button_rect, int* x_extent); - + void DrawButton( wxDC& dc, wxWindow* wnd, @@ -237,11 +233,10 @@ public: int bitmap_id, int button_state, int orientation, - const wxBitmap& bitmap_override, wxRect* out_rect); - + int GetIndentSize(); - + wxSize GetTabSize( wxDC& dc, wxWindow* wnd, @@ -250,15 +245,15 @@ public: bool active, int close_button_state, int* x_extent); - - int ShowWindowList( + + int ShowDropDown( wxWindow* wnd, - const wxArrayString& items, + const wxAuiNotebookPageArray& items, int active_idx); int GetBestTabCtrlSize(wxWindow* wnd, - wxAuiNotebookPageArray& pages, - const wxSize& required_bmp_size); + const wxAuiNotebookPageArray& pages, + const wxSize& required_bmp_size); protected: @@ -277,7 +272,7 @@ protected: wxBitmap m_disabled_right_bmp; wxBitmap m_active_windowlist_bmp; wxBitmap m_disabled_windowlist_bmp; - + int m_fixed_tab_width; int m_tab_ctrl_height; unsigned int m_flags; @@ -291,7 +286,7 @@ public: wxAuiSimpleTabArt(); virtual ~wxAuiSimpleTabArt(); - + wxAuiTabArt* Clone(); void SetFlags(unsigned int flags); @@ -306,18 +301,16 @@ public: wxDC& dc, wxWindow* wnd, const wxRect& rect); - + void DrawTab(wxDC& dc, wxWindow* wnd, + const wxAuiNotebookPage& pane, const wxRect& in_rect, - const wxString& caption, - const wxBitmap& bitmap, - bool active, int close_button_state, wxRect* out_tab_rect, wxRect* out_button_rect, int* x_extent); - + void DrawButton( wxDC& dc, wxWindow* wnd, @@ -325,11 +318,10 @@ public: int bitmap_id, int button_state, int orientation, - const wxBitmap& bitmap_override, wxRect* out_rect); - + int GetIndentSize(); - + wxSize GetTabSize( wxDC& dc, wxWindow* wnd, @@ -338,15 +330,15 @@ public: bool active, int close_button_state, int* x_extent); - - int ShowWindowList( + + int ShowDropDown( wxWindow* wnd, - const wxArrayString& items, + const wxAuiNotebookPageArray& items, int active_idx); int GetBestTabCtrlSize(wxWindow* wnd, - wxAuiNotebookPageArray& pages, - const wxSize& required_bmp_size); + const wxAuiNotebookPageArray& pages, + const wxSize& required_bmp_size); protected: @@ -366,7 +358,7 @@ protected: wxBitmap m_disabled_right_bmp; wxBitmap m_active_windowlist_bmp; wxBitmap m_disabled_windowlist_bmp; - + int m_fixed_tab_width; unsigned int m_flags; }; @@ -406,13 +398,14 @@ public: 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& normal_font); void SetSelectedFont(const wxFont& selected_font); void SetMeasuringFont(const wxFont& measuring_font); void DoShowHide(); void SetRect(const wxRect& rect); - + void RemoveButton(int id); void AddButton(int id, int location, @@ -421,7 +414,7 @@ public: size_t GetTabOffset() const; void SetTabOffset(size_t offset); - + protected: virtual void Render(wxDC* dc, wxWindow* wnd); @@ -451,7 +444,7 @@ public: long style = 0); ~wxAuiTabCtrl(); - + protected: void OnPaint(wxPaintEvent& evt); @@ -463,7 +456,7 @@ protected: void OnLeaveWindow(wxMouseEvent& evt); void OnButton(wxAuiNotebookEvent& evt); - + protected: wxPoint m_click_pt; @@ -502,6 +495,13 @@ public: const wxSize& size = wxDefaultSize, long style = 0); + void SetWindowStyleFlag(long style); + void SetArtProvider(wxAuiTabArt* art); + wxAuiTabArt* GetArtProvider() const; + + virtual void SetUniformBitmapSize(const wxSize& size); + virtual void SetTabCtrlHeight(int height); + bool AddPage(wxWindow* page, const wxString& caption, bool select = false, @@ -515,30 +515,31 @@ public: bool DeletePage(size_t page); bool RemovePage(size_t page); - - void SetWindowStyleFlag(long style); + + size_t GetPageCount() const; + wxWindow* GetPage(size_t page_idx) const; + int GetPageIndex(wxWindow* page_wnd) const; bool SetPageText(size_t page, const wxString& text); + wxString GetPageText(size_t page_idx) const; + bool SetPageBitmap(size_t page, const wxBitmap& bitmap); + wxBitmap GetPageBitmap(size_t page_idx) const; + size_t SetSelection(size_t new_page); int GetSelection() const; - size_t GetPageCount() const; - wxWindow* GetPage(size_t page_idx) const; - int GetPageIndex(wxWindow* page_wnd) const; + virtual void Split(size_t page, int direction); - void SetArtProvider(wxAuiTabArt* art); - wxAuiTabArt* GetArtProvider() const; - - virtual void SetUniformBitmapSize(const wxSize& size); - virtual void SetTabCtrlHeight(int height); + const wxAuiManager& GetAuiManager() const { return m_mgr; } protected: // these can be overridden + virtual void UpdateTabCtrlHeight(); virtual int CalculateTabCtrlHeight(); virtual wxSize CalculateNewSplitSize(); - + protected: void DoSizing(); @@ -549,19 +550,18 @@ protected: bool FindTab(wxWindow* page, wxAuiTabCtrl** ctrl, int* idx); void RemoveEmptyTabFrames(); void UpdateHintWindowSize(); - + protected: void OnChildFocus(wxChildFocusEvent& evt); void OnRender(wxAuiManagerEvent& evt); - void OnEraseBackground(wxEraseEvent& evt); void OnSize(wxSizeEvent& evt); void OnTabClicked(wxCommandEvent& evt); void OnTabBeginDrag(wxCommandEvent& evt); void OnTabDragMotion(wxCommandEvent& evt); void OnTabEndDrag(wxCommandEvent& evt); void OnTabButton(wxCommandEvent& evt); - + protected: wxAuiManager m_mgr; @@ -571,10 +571,11 @@ protected: wxWindow* m_dummy_wnd; wxSize m_requested_bmp_size; + int m_requested_tabctrl_height; wxFont m_selected_font; wxFont m_normal_font; int m_tab_ctrl_height; - + int m_last_drag_x; unsigned int m_flags; @@ -606,7 +607,7 @@ typedef void (wxEvtHandler::*wxAuiNotebookEventFunction)(wxAuiNotebookEvent&); #define wxAuiNotebookEventHandler(func) \ (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxAuiNotebookEventFunction, &func) - + #define EVT_AUINOTEBOOK_PAGE_CLOSE(winid, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, winid, wxAuiNotebookEventHandler(fn)) #define EVT_AUINOTEBOOK_PAGE_CHANGED(winid, fn) \