X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/630ad6c6b620b4c24cd5b720b610b539e2770d60..5df8beb1d95030c94f678458fc1980049f537992:/include/wx/mac/carbon/notebook.h diff --git a/include/wx/mac/carbon/notebook.h b/include/wx/mac/carbon/notebook.h index 8f88862122..48e13feb3a 100644 --- a/include/wx/mac/carbon/notebook.h +++ b/include/wx/mac/carbon/notebook.h @@ -11,10 +11,6 @@ #ifndef _WX_NOTEBOOK_H_ #define _WX_NOTEBOOK_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "notebook.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -25,17 +21,14 @@ // ---------------------------------------------------------------------------- // fwd declarations -class WXDLLEXPORT wxImageList; -class WXDLLEXPORT wxWindow; +class WXDLLIMPEXP_FWD_CORE wxImageList; +class WXDLLIMPEXP_FWD_CORE 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 +class WXDLLIMPEXP_CORE wxNotebook : public wxNotebookBase { public: // ctors @@ -57,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; @@ -84,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 @@ -109,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); @@ -132,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(); @@ -142,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;