use a single wxBookCtrlEvent class for all wxBookCtrlBase-derived controls (#9667)
[wxWidgets.git] / interface / wx / choicebk.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: choicebk.h
3 // Purpose: interface of wxChoicebook
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
8
9 /**
10 @class wxChoicebook
11
12 wxChoicebook is a class similar to wxNotebook, but uses a wxChoice control
13 to show the labels instead of the tabs.
14
15 There is no documentation for this class yet but its usage is identical to
16 wxNotebook (except for the features clearly related to tabs only), so
17 please refer to that class documentation for now. You can also use the
18 @ref page_samples_notebook to see wxChoicebook in action.
19
20 wxChoicebook allows the use of wxBookCtrlBase::GetControlSizer(), allowing
21 a program to add other controls next to the choice control. This is
22 particularly useful when screen space is restricted, as it often is when
23 wxChoicebook is being employed.
24
25 @beginStyleTable
26 @style{wxCHB_DEFAULT}
27 Choose the default location for the labels depending on the current
28 platform (left everywhere except Mac where it is top).
29 @style{wxCHB_TOP}
30 Place labels above the page area.
31 @style{wxCHB_LEFT}
32 Place labels on the left side.
33 @style{wxCHB_RIGHT}
34 Place labels on the right side.
35 @style{wxCHB_BOTTOM}
36 Place labels below the page area.
37 @endStyleTable
38
39 @beginEventTable{wxBookCtrlEvent}
40 @event{EVT_CHOICEBOOK_PAGE_CHANGED(id, func)}
41 The page selection was changed. Processes a
42 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED event.
43 @event{EVT_CHOICEBOOK_PAGE_CHANGING(id, func)}
44 The page selection is about to be changed. Processes a
45 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING event. This event can be
46 vetoed (using wxNotifyEvent::Veto()).
47 @endEventTable
48
49 @library{wxcore}
50 @category{miscwnd}
51
52 @see @ref overview_bookctrl, wxNotebook, @ref page_samples_notebook
53
54 @todo Write up wxBookCtrlBase documentation, where most of this class'
55 functionality comes from.
56 */
57 class wxChoicebook : public wxBookCtrlBase
58 {
59 public:
60 //@{
61 /**
62 Constructs a choicebook control.
63 */
64 wxChoicebook();
65 wxChoicebook(wxWindow* parent, wxWindowID id,
66 const wxPoint& pos = wxDefaultPosition,
67 const wxSize& size = wxDefaultSize,
68 long style = 0,
69 const wxString& name = wxEmptyStr);
70 //@}
71
72 /**
73 Returns the wxChoice associated with the control.
74 */
75 wxChoice * GetChoiceCtrl() const;
76 };
77