X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..704ceca8d2cd8da51a5cc22f8c51fd61c762dbf5:/interface/wx/notebook.h diff --git a/interface/wx/notebook.h b/interface/wx/notebook.h index 807e42c1db..b3e5eba046 100644 --- a/interface/wx/notebook.h +++ b/interface/wx/notebook.h @@ -1,90 +1,21 @@ ///////////////////////////////////////////////////////////////////////////// // Name: notebook.h -// Purpose: interface of wxNotebookEvent +// Purpose: interface of wxNotebook // Author: wxWidgets team // RCS-ID: $Id$ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -/** - @class wxNotebookEvent - @wxheader{notebook.h} - - This class represents the events generated by a notebook control: currently, - there are two of them. The PAGE_CHANGING event is sent before the current - page is changed. It allows the program to examine the current page (which - can be retrieved with - wxNotebookEvent::GetOldSelection) and to veto the page - change by calling wxNotifyEvent::Veto if, for example, the - current values in the controls of the old page are invalid. - - The second event - PAGE_CHANGED - is sent after the page has been changed and - the program cannot veto it any more, it just informs it about the page change. - - To summarize, if the program is interested in validating the page values - before allowing the user to change it, it should process the PAGE_CHANGING - event, otherwise PAGE_CHANGED is probably enough. In any case, it is probably - unnecessary to process both events at once. - - @library{wxcore} - @category{events} - - @see wxNotebook -*/ -class wxNotebookEvent : public wxNotifyEvent -{ -public: - /** - Constructor (used internally by wxWidgets only). - */ - wxNotebookEvent(wxEventType eventType = wxEVT_NULL, int id = 0, - int sel = -1, - int oldSel = -1); - - /** - Returns the page that was selected before the change, -1 if none was selected. - */ - int GetOldSelection() const; - - /** - Returns the currently selected page, or -1 if none was selected. - @note under Windows, GetSelection() will return the same value as - GetOldSelection() when called from - @c EVT_NOTEBOOK_PAGE_CHANGING handler and not the page which is going to - be selected. Also note that the values of selection and old selection returned - for an event generated in response to a call to - wxNotebook::SetSelection shouldn't be trusted - as they are currently inconsistent under different platforms (but in this case - you presumably don't need them anyhow as you already have the corresponding - information). - */ - int GetSelection() const; - - /** - Sets the id of the page selected before the change. - */ - void SetOldSelection(int page); - - /** - Sets the selection member variable. - */ - void SetSelection(int page); -}; - - - /** @class wxNotebook - @wxheader{notebook.h} This class represents a notebook control, which manages multiple windows with associated tabs. - To use the class, create a wxNotebook object and call wxNotebook::AddPage or - wxNotebook::InsertPage, - passing a window to be used as the page. Do not explicitly delete the window - for a page that is currently - managed by wxNotebook. + To use the class, create a wxNotebook object and call wxNotebook::AddPage + or wxNotebook::InsertPage, passing a window to be used as the page. Do not + explicitly delete the window for a page that is currently managed by + wxNotebook. @b wxNotebookPage is a typedef for wxWindow. @@ -111,13 +42,18 @@ public: @library{wxcore} @category{miscwnd} - @see wxBookCtrl(), wxNotebookEvent, wxImageList, @ref overview_samplenotebook - "notebook sample" + @see wxBookCtrl, wxBookCtrlEvent, wxImageList, + @ref page_samples_notebook "Notebook Sample" */ class wxNotebook : public wxBookCtrl overview { public: - //@{ + + /** + Constructs a notebook control. + */ + wxNotebook(); + /** Constructs a notebook control. Note that sometimes you can reduce flicker by passing the wxCLIP_CHILDREN @@ -136,13 +72,11 @@ public: @param name The name of the control (used only under Motif). */ - wxNotebook(); wxNotebook(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxNotebookNameStr); - //@} /** Destroys the wxNotebook object. @@ -189,8 +123,9 @@ public: /** Changes the selection for the given page, returning the previous selection. The call to this function does not generate the page changing events. - This is the only difference with SetSelection(). - See @ref overview_progevent "this topic" for more info. + This is the only difference with SetSelection(). See + @ref overview_eventhandling_prog "User Generated Events" + for more infomation. */ virtual int ChangeSelection(size_t page); @@ -254,10 +189,9 @@ public: /** Returns the currently selected page, or -1 if none was selected. - Note that this method may return either the previously or newly selected page - when called from the @c EVT_NOTEBOOK_PAGE_CHANGED handler depending on - the platform and so - wxNotebookEvent::GetSelection should be + Note that this method may return either the previously or newly + selected page when called from the @c EVT_NOTEBOOK_PAGE_CHANGED handler + depending on the platform and so wxBookCtrlEvent::GetSelection should be used instead in this case. */ virtual int GetSelection() const; @@ -280,69 +214,22 @@ public: Specifies the point for the hit test. @param flags Return value for detailed information. One of the following values: - - - - - - - - wxBK_HITTEST_NOWHERE - - - - - There was no tab under this point. - - - - - - wxBK_HITTEST_ONICON - - - - - The point was over an icon (currently wxMSW only). - - - - - - wxBK_HITTEST_ONLABEL - - - - - The point was over a label (currently wxMSW only). - - - - - - wxBK_HITTEST_ONITEM - - - - - The point was over an item, but not on the label or icon. - - - - - - wxBK_HITTEST_ONPAGE - - - - - The point was over a currently selected page, not over any tab. Note that - this flag is present only if wxNOT_FOUND is returned. - - @return Returns the zero-based tab index or wxNOT_FOUND if there is no - tab is at the specified position. - */ - virtual int HitTest(const wxPoint& pt, long* = NULL) const; + + + + + + + + + + +
wxBK_HITTEST_NOWHEREThere was no tab under this point.
wxBK_HITTEST_ONICONThe point was over an icon (currently wxMSW only).
wxBK_HITTEST_ONLABELThe point was over a label (currently wxMSW only).
wxBK_HITTEST_ONITEMThe point was over an item, but not on the label or icon.
wxBK_HITTEST_ONPAGEThe point was over a currently selected page, not over any tab. + Note that this flag is present only if wxNOT_FOUND is returned.
+@return Returns the zero-based tab index or wxNOT_FOUND if there is no + tab at the specified position. + */ + virtual int HitTest(const wxPoint& pt, long* flags = NULL) const; /** Inserts a new page at the specified position. @@ -364,17 +251,16 @@ public: @see AddPage() */ - bool InsertPage(size_t index, wxNotebookPage* page, - const wxString& text, - bool select = false, - int imageId = -1); + virtual bool InsertPage(size_t index, wxNotebookPage* page, + const wxString& text, bool select = false, + int imageId = -1); /** An event handler function, called when the page selection is changed. - @see wxNotebookEvent + @see wxBookCtrlEvent */ - void OnSelChange(wxNotebookEvent& event); + void OnSelChange(wxBookCtrlEvent& event); /** Deletes the specified page, without deleting the associated window. @@ -393,7 +279,7 @@ public: Sets the amount of space around each page's icon and label, in pixels. @note The vertical padding cannot be changed in wxGTK. */ - void SetPadding(const wxSize& padding); + virtual void SetPadding(const wxSize& padding); /** Sets the image index for the given page. @a image is an index into