X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a290fa5a7deebe9d96c0c0089d18e27d4bd9b624..c6ea1fdaf924be4ee49a19d12f76e4fcd257bb0a:/include/wx/univ/notebook.h diff --git a/include/wx/univ/notebook.h b/include/wx/univ/notebook.h index c3639ea1af..7fa65423be 100644 --- a/include/wx/univ/notebook.h +++ b/include/wx/univ/notebook.h @@ -12,28 +12,24 @@ #ifndef _WX_UNIV_NOTEBOOK_H_ #define _WX_UNIV_NOTEBOOK_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "univnotebook.h" -#endif - #include "wx/arrstr.h" -class WXDLLEXPORT wxSpinButton; +class WXDLLIMPEXP_FWD_CORE wxSpinButton; // ---------------------------------------------------------------------------- // the actions supported by this control // ---------------------------------------------------------------------------- // change the page: to the next/previous/given one -#define wxACTION_NOTEBOOK_NEXT _T("nexttab") -#define wxACTION_NOTEBOOK_PREV _T("prevtab") -#define wxACTION_NOTEBOOK_GOTO _T("gototab") +#define wxACTION_NOTEBOOK_NEXT wxT("nexttab") +#define wxACTION_NOTEBOOK_PREV wxT("prevtab") +#define wxACTION_NOTEBOOK_GOTO wxT("gototab") // ---------------------------------------------------------------------------- // wxNotebook // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxNotebook : public wxNotebookBase +class WXDLLIMPEXP_CORE wxNotebook : public wxNotebookBase { public: // ctors and such @@ -46,7 +42,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxNOTEBOOK_NAME) + const wxString& name = wxNotebookNameStr) { Init(); @@ -59,7 +55,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxNOTEBOOK_NAME); + const wxString& name = wxNotebookNameStr); // dtor virtual ~wxNotebook(); @@ -67,8 +63,10 @@ public: // implement wxNotebookBase pure virtuals // -------------------------------------- - virtual int SetSelection(size_t nPage); - virtual int GetSelection() const { return m_sel; } + virtual int SetSelection(size_t nPage) { return DoSetSelection(nPage, SetSelection_SendEvent); } + + // changes selected page without sending events + int ChangeSelection(size_t nPage) { return DoSetSelection(nPage); } virtual bool SetPageText(size_t nPage, const wxString& strText); virtual wxString GetPageText(size_t nPage) const; @@ -115,6 +113,12 @@ public: long numArg = 0l, const wxString& strArg = wxEmptyString); + static wxInputHandler *GetStdInputHandler(wxInputHandler *handlerDef); + virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef) + { + return GetStdInputHandler(handlerDef); + } + // refresh the currently selected tab void RefreshCurrent(); @@ -132,6 +136,8 @@ protected: int width, int height, int sizeFlags = wxSIZE_AUTO); + int DoSetSelection(size_t nPage, int flags = 0); + // common part of all ctors void Init(); @@ -195,17 +201,14 @@ protected: wxSize GetSizeForPage(const wxSize& size) const; // scroll the tabs so that the first page shown becomes the given one - void ScrollTo(int page); + void ScrollTo(size_t page); // scroll the tabs so that the first page shown becomes the given one - void ScrollLastTo(int page); + void ScrollLastTo(size_t page); // the pages titles wxArrayString m_titles; - // the current selection - size_t m_sel; - // the spin button to change the pages wxSpinButton *m_spinbtn; @@ -246,28 +249,5 @@ protected: DECLARE_DYNAMIC_CLASS(wxNotebook) }; -// ---------------------------------------------------------------------------- -// wxStdNotebookInputHandler: translates SPACE and ENTER keys and the left mouse -// click into button press/release actions -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxStdNotebookInputHandler : public wxStdInputHandler -{ -public: - wxStdNotebookInputHandler(wxInputHandler *inphand); - - virtual bool HandleKey(wxInputConsumer *consumer, - const wxKeyEvent& event, - bool pressed); - virtual bool HandleMouse(wxInputConsumer *consumer, - const wxMouseEvent& event); - virtual bool HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event); - virtual bool HandleFocus(wxInputConsumer *consumer, const wxFocusEvent& event); - virtual bool HandleActivation(wxInputConsumer *consumer, bool activated); - -protected: - void HandleFocusChange(wxInputConsumer *consumer); -}; - #endif // _WX_UNIV_NOTEBOOK_H_