%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name:        tbook.tex
%% Purpose:     wxBookCtrl overview
%% Author:      Wlodzimierz ABX Skiba
%% Modified by:
%% Created:     11/18/2004
%% RCS-ID:      $Id$
%% Copyright:   (c) wxWidgets team
%% License:     wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{wxBookCtrl overview}\label{wxbookctrloverview}

Classes: \helpref{wxNotebook}{wxnotebook}, \helpref{wxListbook}{wxlistbook}, \helpref{wxChoicebook}{wxchoicebook}

\subsection{Introduction}\label{wxbookctrlintro}

A book control is a convenient way of application control and presentation of information
in the same window, without having to display it all at the same time. Such control defines
multiple pages controlled by driver control. wxWidgets has three variants of this control
differentiated by their pilot-like subcontrol:

\begin{itemize}\itemsep=0pt
\item \helpref{wxNotebook}{wxnotebook} usually with native tab control
\item \helpref{wxListbook}{wxlistbook} controlled by \helpref{wxListCtrl}{wxlistctrl}
\item \helpref{wxChoicebook}{wxchoicebook} controlled by \helpref{wxChoice}{wxchoice}
\end{itemize}

\subsection{Best book}\label{wxbestbookctrl}

Just like \helpref{wxConfigBase}{wxconfigbase} class represents most native type of configuration
storage, also book controls are special wrapper called wxBookCtrl which is mapped to the
class best suited for given platform. Currently it serves \helpref{wxChoicebook}{wxchoicebook}
for smartphones equipped with WinCE and \helpref{wxNotebook}{wxnotebook} for all other platforms.
Mapping consists in:

\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{wxBookCtrl}{wxChoicebook or wxNotebook}
\twocolitem{wxBookCtrlEvent}{wxChoicebookEvent or wxNotebookEvent}
\twocolitem{wxEVT\_COMMAND\_BOOKCTRL\_PAGE\_CHANGED}{wxEVT\_COMMAND\_CHOICEBOOK\_PAGE\_CHANGED or wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED}
\twocolitem{wxEVT\_COMMAND\_BOOKCTRL\_PAGE\_CHANGING}{wxEVT\_COMMAND\_CHOICEBOOK\_PAGE\_CHANGING or wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING}
\twocolitem{EVT\_BOOKCTRL\_PAGE\_CHANGED(id, fn)}{EVT\_CHOICEBOOK\_PAGE\_CHANGED(id, fn) or EVT\_NOTEBOOK\_PAGE\_CHANGED(id, fn)}
\twocolitem{EVT\_BOOKCTRL\_PAGE\_CHANGING(id, fn)}{EVT\_CHOICEBOOK\_PAGE\_CHANGING(id, fn) or EVT\_NOTEBOOK\_PAGE\_CHANGING(id, fn)}
\twocolitem{\windowstyle{wxBC\_TOP}}{\windowstyle{wxCHB\_TOP} or \windowstyle{wxNB\_TOP}}
\twocolitem{\windowstyle{wxBC\_BOTTOM}}{\windowstyle{wxCHB\_BOTTOM} or \windowstyle{wxNB\_BOTTOM}}
\twocolitem{\windowstyle{wxBC\_LEFT}}{\windowstyle{wxCHB\_LEFT} or \windowstyle{wxNB\_LEFT}}
\twocolitem{\windowstyle{wxBC\_RIGHT}}{\windowstyle{wxCHB\_RIGHT} or \windowstyle{wxNB\_RIGHT}}
\twocolitem{\windowstyle{wxBC\_DEFAULT}}{\windowstyle{wxCHB\_DEFAULT} or \windowstyle{wxNB\_DEFAULT}}
\end{twocollist}

See Widgets sample for the presentation of wxBookCtrl usage.