X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8cf73271dd6f442a98e86b559d4a55c37e25b99f..115563867dac8edf57b6d2c6ae95910c7f277d77:/include/wx/mac/carbon/notebook.h diff --git a/include/wx/mac/carbon/notebook.h b/include/wx/mac/carbon/notebook.h index 7f3724805c..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 @@ -44,30 +37,33 @@ public: wxNotebook(); // the same arguments as for wxControl (@@@ any special styles?) wxNotebook(wxWindow *parent, - wxWindowID id, + wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxT("notebook")); + const wxString& name = wxNotebookNameStr); // Create() function bool Create(wxWindow *parent, - wxWindowID id, + wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxT("notebook")); + 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; @@ -83,22 +79,14 @@ public: virtual void SetPadding(const wxSize& padding); // 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 @@ -107,25 +95,21 @@ public: bool InsertPage(size_t nPage, wxNotebookPage *pPage, const wxString& strText, - bool bSelect = FALSE, + 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); void OnSelChange(wxNotebookEvent& event); void OnSetFocus(wxFocusEvent& event); void OnNavigationKey(wxNavigationKeyEvent& event); - void OnMouse(wxMouseEvent &event); // implementation // -------------- #if wxUSE_CONSTRAINTS - virtual void SetConstraintSizes(bool recurse = TRUE); + virtual void SetConstraintSizes(bool recurse = true); virtual bool DoPhase(int nPhase); #endif @@ -133,10 +117,10 @@ public: // base class virtuals // ------------------- virtual void Command(wxCommandEvent& event); + virtual wxInt32 MacControlHit(WXEVENTHANDLERREF handler, WXEVENTREF event); + protected: - virtual wxSize DoGetBestSize() const ; virtual wxNotebookPage *DoRemovePage(size_t page) ; - virtual void MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ; // common part of all ctors void Init(); @@ -144,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;