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