]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/choicebk.h
Ensure that the overall table border doesn't get overdrawn by cell borders with a...
[wxWidgets.git] / interface / wx / choicebk.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: choicebk.h
e54c96f1 3// Purpose: interface of wxChoicebook
23324ae1 4// Author: wxWidgets team
526954c5 5// Licence: wxWindows licence
23324ae1
FM
6/////////////////////////////////////////////////////////////////////////////
7
e1b7217e
RD
8
9// wxChoicebook flags
10#define wxCHB_DEFAULT wxBK_DEFAULT
11#define wxCHB_TOP wxBK_TOP
12#define wxCHB_BOTTOM wxBK_BOTTOM
13#define wxCHB_LEFT wxBK_LEFT
14#define wxCHB_RIGHT wxBK_RIGHT
15#define wxCHB_ALIGN_MASK wxBK_ALIGN_MASK
16
ce7fe42e
VZ
17wxEventType wxEVT_CHOICEBOOK_PAGE_CHANGED;
18wxEventType wxEVT_CHOICEBOOK_PAGE_CHANGING;
e1b7217e 19
23324ae1
FM
20/**
21 @class wxChoicebook
7c913512 22
bfac6166
BP
23 wxChoicebook is a class similar to wxNotebook, but uses a wxChoice control
24 to show the labels instead of the tabs.
7c913512 25
340e9651
FM
26 For usage documentation of this class, please refer to the base abstract class
27 wxBookCtrl. You can also use the @ref page_samples_notebook to see wxChoicebook in
28 action.
7c913512 29
bfac6166
BP
30 wxChoicebook allows the use of wxBookCtrlBase::GetControlSizer(), allowing
31 a program to add other controls next to the choice control. This is
32 particularly useful when screen space is restricted, as it often is when
33 wxChoicebook is being employed.
7c913512 34
23324ae1 35 @beginStyleTable
8c6791e4 36 @style{wxCHB_DEFAULT}
23324ae1
FM
37 Choose the default location for the labels depending on the current
38 platform (left everywhere except Mac where it is top).
8c6791e4 39 @style{wxCHB_TOP}
23324ae1 40 Place labels above the page area.
8c6791e4 41 @style{wxCHB_LEFT}
23324ae1 42 Place labels on the left side.
8c6791e4 43 @style{wxCHB_RIGHT}
23324ae1 44 Place labels on the right side.
8c6791e4 45 @style{wxCHB_BOTTOM}
23324ae1
FM
46 Place labels below the page area.
47 @endStyleTable
7c913512 48
3051a44a 49 @beginEventEmissionTable{wxBookCtrlEvent}
8c6791e4 50 @event{EVT_CHOICEBOOK_PAGE_CHANGED(id, func)}
340e9651 51 The page selection was changed.
ce7fe42e 52 Processes a @c wxEVT_CHOICEBOOK_PAGE_CHANGED event.
8c6791e4 53 @event{EVT_CHOICEBOOK_PAGE_CHANGING(id, func)}
340e9651 54 The page selection is about to be changed.
ce7fe42e 55 Processes a @c wxEVT_CHOICEBOOK_PAGE_CHANGING event.
340e9651 56 This event can be vetoed (using wxNotifyEvent::Veto()).
bfac6166
BP
57 @endEventTable
58
23324ae1 59 @library{wxcore}
3c99e2fd 60 @category{bookctrl}
ce154616 61 @appearance{choicebook}
7c913512 62
bfac6166 63 @see @ref overview_bookctrl, wxNotebook, @ref page_samples_notebook
23324ae1 64*/
bfac6166 65class wxChoicebook : public wxBookCtrlBase
23324ae1
FM
66{
67public:
68 //@{
69 /**
70 Constructs a choicebook control.
71 */
72 wxChoicebook();
7c913512
FM
73 wxChoicebook(wxWindow* parent, wxWindowID id,
74 const wxPoint& pos = wxDefaultPosition,
75 const wxSize& size = wxDefaultSize,
76 long style = 0,
6f65f436 77 const wxString& name = wxEmptyString);
23324ae1 78 //@}
bfac6166 79
e1b7217e
RD
80 /**
81 Create the choicebook control that has already been constructed with
82 the default constructor.
83 */
84 bool Create(wxWindow *parent,
85 wxWindowID id,
86 const wxPoint& pos = wxDefaultPosition,
87 const wxSize& size = wxDefaultSize,
88 long style = 0,
89 const wxString& name = wxEmptyString);
90
91
bfac6166
BP
92 /**
93 Returns the wxChoice associated with the control.
94 */
95 wxChoice * GetChoiceCtrl() const;
23324ae1 96};
e54c96f1 97