X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..5d0fac27c4b2151b1ff3689cdb602bbaf10a4003:/include/wx/mac/carbon/notebook.h diff --git a/include/wx/mac/carbon/notebook.h b/include/wx/mac/carbon/notebook.h index ab68aabbea..859bbc9bee 100644 --- a/include/wx/mac/carbon/notebook.h +++ b/include/wx/mac/carbon/notebook.h @@ -28,9 +28,6 @@ class WXDLLEXPORT wxWindow; // wxNotebook // ---------------------------------------------------------------------------- -// @@@ this class should really derive from wxTabCtrl, but the interface is not -// exactly the same, so I can't do it right now and instead we reimplement -// part of wxTabCtrl here class wxNotebook : public wxNotebookBase { public: @@ -53,17 +50,20 @@ public: long style = 0, const wxString& name = wxNotebookNameStr); // dtor - ~wxNotebook(); + virtual ~wxNotebook(); // accessors // --------- // set the currently selected page, return the index of the previously // selected one (or -1 on error) // NB: this function will _not_ generate wxEVT_NOTEBOOK_PAGE_xxx events - int SetSelection(size_t nPage); + int SetSelection(size_t nPage) { return DoSetSelection(nPage, SetSelection_SendEvent); } // get the currently selected page int GetSelection() const { return m_nSelection; } + // changes selected page without sending events + int ChangeSelection(size_t nPage) { return DoSetSelection(nPage); } + // set/get the title of a page bool SetPageText(size_t nPage, const wxString& strText); wxString GetPageText(size_t nPage) const; @@ -80,21 +80,13 @@ public: // sets the size of the tabs (assumes all tabs are the same size) virtual void SetTabSize(const wxSize& sz); - // calculate size for wxNotebookSizer + // hit test + virtual int HitTest(const wxPoint& pt, long *flags = NULL) const; + + // calculate size for wxNotebookSizer wxSize CalcSizeFromPage(const wxSize& sizePage) const; wxRect GetPageRect() const ; -/* - // get number of pages in the dialog - int GetPageCount() const; - - // cycle thru the tabs - void AdvanceSelection(bool bForward = true); - - // currently it's always 1 because wxGTK doesn't support multi-row - // tab controls - int GetRowCount() const; -*/ // operations // ---------- // remove all pages @@ -105,10 +97,7 @@ public: const wxString& strText, bool bSelect = false, int imageId = -1); -/* - // get the panel which represents the given page - wxNotebookPage *GetPage(int nPage) { return m_aPages[nPage]; } -*/ + // callbacks // --------- void OnSize(wxSizeEvent& event); @@ -128,9 +117,10 @@ public: // base class virtuals // ------------------- virtual void Command(wxCommandEvent& event); + virtual wxInt32 MacControlHit(WXEVENTHANDLERREF handler, WXEVENTREF event); + protected: virtual wxNotebookPage *DoRemovePage(size_t page) ; - virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; // common part of all ctors void Init(); @@ -138,6 +128,8 @@ protected: void ChangePage(int nOldSel, int nSel); // change pages void MacSetupTabs(); + int DoSetSelection(size_t nPage, int flags = 0); + // the icon indices wxArrayInt m_images;