wxTreebook(3)

NAME
wxTreebook - Functions for wxTreebook class

DESCRIPTION

This class is an extension of the wxNotebook class that allows a tree structured set of pages to be shown in a control. A classic example is a netscape preferences dialog that shows a tree of preference sections on the left and select section page on the right.

To use the class simply create it and populate with pages using insertPage/5, insertSubPage/5, addPage/4, AddSubPage() (not implemented in wx).

If your tree is no more than 1 level in depth then you could simply use addPage/4 and AddSubPage() (not implemented in wx) to sequentially populate your tree by adding at every step a page or a subpage to the end of the tree.

See: ?wxBookCtrl, wxBookCtrlEvent, wxNotebook, wxTreeCtrl, wxImageList, Overview bookctrl, Examples

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

wxWidgets docs: wxTreebook

EVENTS

Event types emitted from this class: treebook_page_changed, treebook_page_changing

DATA TYPES
wxTreebook() = wx:wx_object()

EXPORTS

new() -> wxTreebook()

    Default constructor.

new(Parent, Id) -> wxTreebook()

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

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

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

    Creates an empty wxTreebook.

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

    Destroys the wxTreebook object.

    Also deletes all the pages owned by the control (inserted previously into it).

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

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

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

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

    Adds a new page.

    The page is placed at the topmost level after all other pages. NULL could be specified for page to create an empty page.

advanceSelection(This) -> ok

    Types:
        This = wxTreebook()

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

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

    Cycles through the tabs.

    The call to this function generates the page changing events.

assignImageList(This, ImageList) -> ok

    Types:
        This = wxTreebook()
        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 = wxTreebook()
        Parent = wxWindow:wxWindow()
        Id = integer()

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

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

    Creates a treebook control.

    See new/3 for the description of the parameters.

deleteAllPages(This) -> boolean()

    Types:
        This = wxTreebook()

    Deletes all pages.

getCurrentPage(This) -> wxWindow:wxWindow()

    Types:
        This = wxTreebook()

    Returns the currently selected page or NULL.

getImageList(This) -> wxImageList:wxImageList()

    Types:
        This = wxTreebook()

    Returns the associated image list, may be NULL.

    See: wxImageList, setImageList/2

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

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

    Returns the window at the given page position.

getPageCount(This) -> integer()

    Types:
        This = wxTreebook()

    Returns the number of pages in the control.

getPageImage(This, NPage) -> integer()

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

    Returns the image index for the given page.

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

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

    Returns the string for the given page.

getSelection(This) -> integer()

    Types:
        This = wxTreebook()

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

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

expandNode(This, PageId) -> boolean()

    Types:
        This = wxTreebook()
        PageId = integer()

expandNode(This, PageId, Options :: [Option]) -> boolean()

    Types:
        This = wxTreebook()
        PageId = integer()
        Option = {expand, boolean()}

    Expands (collapses) the pageId node.

    Returns the previous state. May generate page changing events (if selected page is under the collapsed branch, then its parent is autoselected).

isNodeExpanded(This, PageId) -> boolean()

    Types:
        This = wxTreebook()
        PageId = integer()

    Returns true if the page represented by pageId is expanded.

hitTest(This, Pt) -> Result

    Types:
        Result = {Res :: integer(), Flags :: integer()}
        This = wxTreebook()
        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, PagePos, Page, Text) -> boolean()

    Types:
        This = wxTreebook()
        PagePos = integer()
        Page = wxWindow:wxWindow()
        Text = unicode:chardata()

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

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

    Inserts a new page just before the page indicated by pagePos.

    The new page is placed before pagePos page and on the same level. NULL could be specified for page to create an empty page.

insertSubPage(This, PagePos, Page, Text) -> boolean()

    Types:
        This = wxTreebook()
        PagePos = integer()
        Page = wxWindow:wxWindow()
        Text = unicode:chardata()

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

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

    Inserts a sub page under the specified page.

    NULL could be specified for page to create an empty page.

setImageList(This, ImageList) -> ok

    Types:
        This = wxTreebook()
        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 = wxTreebook()
        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 = wxTreebook()
        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 = wxTreebook()
        Page = integer()
        Text = unicode:chardata()

    Sets the text for the given page.

setSelection(This, Page) -> integer()

    Types:
        This = wxTreebook()
        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: wxBookCtrlBase:getSelection/1

changeSelection(This, Page) -> integer()

    Types:
        This = wxTreebook()
        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.