/////////////////////////////////////////////////////////////////////////////
// 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.
@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
@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.
/**
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);
/**
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;
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;
+ <TABLE><TR><TD>wxBK_HITTEST_NOWHERE</TD>
+ <TD>There was no tab under this point.</TD></TR>
+ <TR><TD>wxBK_HITTEST_ONICON</TD>
+ <TD>The point was over an icon (currently wxMSW only).</TD></TR>
+ <TR><TD>wxBK_HITTEST_ONLABEL</TD>
+ <TD>The point was over a label (currently wxMSW only).</TD></TR>
+ <TR><TD>wxBK_HITTEST_ONITEM</TD>
+ <TD>The point was over an item, but not on the label or icon.</TD></TR>
+ <TR><TD>wxBK_HITTEST_ONPAGE</TD>
+ <TD>The point was over a currently selected page, not over any tab.
+ Note that this flag is present only if wxNOT_FOUND is returned.</TD></TR>
+ </TABLE>
+@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.
@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.
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