]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/listbook.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / listbook.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: listbook.h
3 // Purpose: interface of wxListbook
4 // Author: wxWidgets team
5 // Licence: wxWindows licence
6 /////////////////////////////////////////////////////////////////////////////
7
8 // wxListbook flags
9 #define wxLB_DEFAULT wxBK_DEFAULT
10 #define wxLB_TOP wxBK_TOP
11 #define wxLB_BOTTOM wxBK_BOTTOM
12 #define wxLB_LEFT wxBK_LEFT
13 #define wxLB_RIGHT wxBK_RIGHT
14 #define wxLB_ALIGN_MASK wxBK_ALIGN_MASK
15
16 wxEventType wxEVT_LISTBOOK_PAGE_CHANGED;
17 wxEventType wxEVT_LISTBOOK_PAGE_CHANGING;
18
19 /**
20 @class wxListbook
21
22 wxListbook is a class similar to wxNotebook but which uses a wxListCtrl
23 to show the labels instead of the tabs.
24
25 The underlying wxListCtrl displays page labels in a one-column report view
26 by default. Calling wxBookCtrl::SetImageList will implicitly switch the
27 control to use an icon view.
28
29 For usage documentation of this class, please refer to the base abstract class
30 wxBookCtrl. You can also use the @ref page_samples_notebook to see wxListbook in
31 action.
32
33 @beginStyleTable
34 @style{wxLB_DEFAULT}
35 Choose the default location for the labels depending on the current
36 platform (left everywhere except Mac where it is top).
37 @style{wxLB_TOP}
38 Place labels above the page area.
39 @style{wxLB_LEFT}
40 Place labels on the left side.
41 @style{wxLB_RIGHT}
42 Place labels on the right side.
43 @style{wxLB_BOTTOM}
44 Place labels below the page area.
45 @endStyleTable
46
47 @beginEventEmissionTable{wxBookCtrlEvent}
48 @event{EVT_LISTBOOK_PAGE_CHANGED(id, func)}
49 The page selection was changed.
50 Processes a @c wxEVT_LISTBOOK_PAGE_CHANGED event.
51 @event{EVT_LISTBOOK_PAGE_CHANGING(id, func)}
52 The page selection is about to be changed.
53 Processes a @c wxEVT_LISTBOOK_PAGE_CHANGING event.
54 This event can be vetoed.
55 @endEventTable
56
57 @library{wxcore}
58 @category{bookctrl}
59 @appearance{listbook}
60
61 @see wxBookCtrl, wxNotebook, @ref page_samples_notebook
62 */
63 class wxListbook : public wxBookCtrlBase
64 {
65 public:
66 /**
67 Default ctor.
68 */
69 wxListbook();
70
71 /**
72 Constructs a listbook control.
73 */
74 wxListbook(wxWindow* parent, wxWindowID id,
75 const wxPoint& pos = wxDefaultPosition,
76 const wxSize& size = wxDefaultSize,
77 long style = 0,
78 const wxString& name = wxEmptyString);
79
80 /**
81 Create the list book 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 /**
92 Returns the wxListView associated with the control.
93 */
94 wxListView* GetListView() const;
95 };
96