wxChoicebook(3)

NAME
wxChoicebook - Functions for wxChoicebook class

DESCRIPTION

wxChoicebook is a class similar to wxNotebook, but uses a wxChoice control to show the labels instead of the tabs.

For usage documentation of this class, please refer to the base abstract class wxBookCtrl. You can also use the page_samples_notebook to see wxChoicebook in action.

wxChoicebook allows the use of wxBookCtrlBase::GetControlSizer(), allowing a program to add other controls next to the choice control. This is particularly useful when screen space is restricted, as it often is when wxChoicebook is being employed.

Styles

This class supports the following styles:

See: Overview bookctrl, wxNotebook, Examples

This class is derived (and can use functions) from: wxBookCtrlBase wxControl wxWindow wxEvtHandler

wxWidgets docs: wxChoicebook

EVENTS

Event types emitted from this class: choicebook_page_changed, choicebook_page_changing

DATA TYPES
wxChoicebook() = wx:wx_object()

EXPORTS

new() -> wxChoicebook()

    Constructs a choicebook control.

new(Parent, Id) -> wxChoicebook()

    Types:
        Parent = wxWindow:wxWindow()
        Id = integer()

new(Parent, Id, Options :: [Option]) -> wxChoicebook()

    Types:
        Parent = wxWindow:wxWindow()
        Id = integer()
        Option =
            {pos, {X :: integer(), Y :: integer()}} |
            {size, {W :: integer(), H :: integer()}} |
            {style, integer()}

addPage(This, Page, Text) -> boolean()

    Types:
        This = wxChoicebook()
        Page = wxWindow:wxWindow()
        Text = unicode:chardata()

addPage(This, Page, Text, Options :: [Option]) -> boolean()

    Types:
        This = wxChoicebook()
        Page = wxWindow:wxWindow()
        Text = unicode:chardata()
        Option = {bSelect, boolean()} | {imageId, integer()}

    Adds a new page.

    The page must have the book control itself as the parent and must not have been added to this control previously.

    The call to this function will generate the page changing and page changed events if select is true, but not when inserting the very first page (as there is no previous page selection to switch from in this case and so it wouldn't make sense to e.g. veto such event).

    Return: true if successful, false otherwise.

    Remark: Do not delete the page, it will be deleted by the book control.

    See: insertPage/5

advanceSelection(This) -> ok

    Types:
        This = wxChoicebook()

advanceSelection(This, Options :: [Option]) -> ok

    Types:
        This = wxChoicebook()
        Option = {forward, boolean()}

    Cycles through the tabs.

    The call to this function generates the page changing events.

assignImageList(This, ImageList) -> ok

    Types:
        This = wxChoicebook()
        ImageList = wxImageList:wxImageList()

    Sets the image list for the page control and takes ownership of the list.

    See: wxImageList, setImageList/2

create(This, Parent, Id) -> boolean()

    Types:
        This = wxChoicebook()
        Parent = wxWindow:wxWindow()
        Id = integer()

create(This, Parent, Id, Options :: [Option]) -> boolean()

    Types:
        This = wxChoicebook()
        Parent = wxWindow:wxWindow()
        Id = integer()
        Option =
            {pos, {X :: integer(), Y :: integer()}} |
            {size, {W :: integer(), H :: integer()}} |
            {style, integer()}

    Create the choicebook control that has already been constructed with the default constructor.

deleteAllPages(This) -> boolean()

    Types:
        This = wxChoicebook()

    Deletes all pages.

getCurrentPage(This) -> wxWindow:wxWindow()

    Types:
        This = wxChoicebook()

    Returns the currently selected page or NULL.

getImageList(This) -> wxImageList:wxImageList()

    Types:
        This = wxChoicebook()

    Returns the associated image list, may be NULL.

    See: wxImageList, setImageList/2

getPage(This, Page) -> wxWindow:wxWindow()

    Types:
        This = wxChoicebook()
        Page = integer()

    Returns the window at the given page position.

getPageCount(This) -> integer()

    Types:
        This = wxChoicebook()

    Returns the number of pages in the control.

getPageImage(This, NPage) -> integer()

    Types:
        This = wxChoicebook()
        NPage = integer()

    Returns the image index for the given page.

getPageText(This, NPage) -> unicode:charlist()

    Types:
        This = wxChoicebook()
        NPage = integer()

    Returns the string for the given page.

getSelection(This) -> integer()

    Types:
        This = wxChoicebook()

    Returns the currently selected page, or wxNOT_FOUND if none was selected.

    Note that this method may return either the previously or newly selected page when called from the EVT_BOOKCTRL_PAGE_CHANGED handler depending on the platform and so wxBookCtrlEvent:getSelection/1 should be used instead in this case.

hitTest(This, Pt) -> Result

    Types:
        Result = {Res :: integer(), Flags :: integer()}
        This = wxChoicebook()
        Pt = {X :: integer(), Y :: integer()}

    Returns the index of the tab at the specified position or wxNOT_FOUND if none.

    If flags parameter is non-NULL, the position of the point inside the tab is returned as well.

    Return: Returns the zero-based tab index or wxNOT_FOUND if there is no tab at the specified position.

insertPage(This, Index, Page, Text) -> boolean()

    Types:
        This = wxChoicebook()
        Index = integer()
        Page = wxWindow:wxWindow()
        Text = unicode:chardata()

insertPage(This, Index, Page, Text, Options :: [Option]) ->
              boolean()

    Types:
        This = wxChoicebook()
        Index = integer()
        Page = wxWindow:wxWindow()
        Text = unicode:chardata()
        Option = {bSelect, boolean()} | {imageId, integer()}

    Inserts a new page at the specified position.

    Return: true if successful, false otherwise.

    Remark: Do not delete the page, it will be deleted by the book control.

    See: addPage/4

setImageList(This, ImageList) -> ok

    Types:
        This = wxChoicebook()
        ImageList = wxImageList:wxImageList()

    Sets the image list to use.

    It does not take ownership of the image list, you must delete it yourself.

    See: wxImageList, assignImageList/2

setPageSize(This, Size) -> ok

    Types:
        This = wxChoicebook()
        Size = {W :: integer(), H :: integer()}

    Sets the width and height of the pages.

    Note: This method is currently not implemented for wxGTK.

setPageImage(This, Page, Image) -> boolean()

    Types:
        This = wxChoicebook()
        Page = Image = integer()

    Sets the image index for the given page.

    image is an index into the image list which was set with setImageList/2.

setPageText(This, Page, Text) -> boolean()

    Types:
        This = wxChoicebook()
        Page = integer()
        Text = unicode:chardata()

    Sets the text for the given page.

setSelection(This, Page) -> integer()

    Types:
        This = wxChoicebook()
        Page = integer()

    Sets the selection to the given page, returning the previous selection.

    Notice that the call to this function generates the page changing events, use the changeSelection/2 function if you don't want these events to be generated.

    See: getSelection/1

changeSelection(This, Page) -> integer()

    Types:
        This = wxChoicebook()
        Page = integer()

    Changes the selection to the given page, returning the previous selection.

    This function behaves as setSelection/2 but does not generate the page changing events.

    See overview_events_prog for more information.

destroy(This :: wxChoicebook()) -> ok

    Destroys the object.