Search documentation of wx

# View Source wxTreebook (wx v2.4.2)

Functions for wxTreebook class

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`

# Summary

## Types

wxTreebook()

## Functions

addPage(This, Page, Text)
addPage/4

Adds a new page.

advanceSelection(This)
advanceSelection/2

Cycles through the tabs.

assignImageList(This, ImageList)

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

changeSelection(This, Page)

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

create(This, Parent, Id)
create/4

Creates a treebook control.

deleteAllPages(This)

Deletes all pages.

destroy(This)

Destroys the `wxTreebook` object.

expandNode(This, PageId)
expandNode/3

Expands (collapses) the `pageId` node.

getCurrentPage(This)

Returns the currently selected page or NULL.

getImageList(This)

Returns the associated image list, may be NULL.

getPage(This, Page)

Returns the window at the given page position.

getPageCount(This)

Returns the number of pages in the control.

getPageImage(This, NPage)

Returns the image index for the given page.

getPageText(This, NPage)

Returns the string for the given page.

getSelection(This)

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

hitTest(This, Pt)

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

insertPage(This, PagePos, Page, Text)
insertPage/5

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

insertSubPage(This, PagePos, Page, Text)
insertSubPage/5

Inserts a sub page under the specified page.

isNodeExpanded(This, PageId)

Returns true if the page represented by `pageId` is expanded.

new()

Default constructor.

new(Parent, Id)
new/3

Creates an empty `wxTreebook`.

setImageList(This, ImageList)

Sets the image list to use.

setPageImage(This, Page, Image)

Sets the image index for the given page.

setPageSize(This, Size)

Sets the width and height of the pages.

setPageText(This, Page, Text)

Sets the text for the given page.

setSelection(This, Page)

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

# Types

Link to this type

# wxTreebook()

View Source

    -type wxTreebook() :: wx:wx_object().

# Functions

Link to this function

# addPage(This, Page, Text)

View Source

    -spec addPage(This, Page, Text) -> boolean()
                     when This :: wxTreebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().

Link to this function

# addPage/4

View Source

    -spec addPage(This, Page, Text, [Option]) -> boolean()
                     when
                         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.

Link to this function

# advanceSelection(This)

View Source

    -spec advanceSelection(This) -> ok when This :: wxTreebook().

Link to this function

# advanceSelection/2

View Source

    -spec advanceSelection(This, [Option]) -> ok when This :: wxTreebook(), Option :: {forward, boolean()}.

Cycles through the tabs.

The call to this function generates the page changing events.

Link to this function

# assignImageList(This, ImageList)

View Source

    -spec assignImageList(This, ImageList) -> ok
                             when This :: wxTreebook(), ImageList :: wxImageList:wxImageList().

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

See: `wxImageList`, `setImageList/2`

Link to this function

# changeSelection(This, Page)

View Source

    -spec changeSelection(This, Page) -> integer() when 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.

Link to this function

# create(This, Parent, Id)

View Source

    -spec create(This, Parent, Id) -> boolean()
                    when This :: wxTreebook(), Parent :: wxWindow:wxWindow(), Id :: integer().

Link to this function

# create/4

View Source

    -spec create(This, Parent, Id, [Option]) -> boolean()
                    when
                        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.

Link to this function

# deleteAllPages(This)

View Source

    -spec deleteAllPages(This) -> boolean() when This :: wxTreebook().

Deletes all pages.

Link to this function

# destroy(This)

View Source

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

Destroys the `wxTreebook` object.

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

Link to this function

# expandNode(This, PageId)

View Source

    -spec expandNode(This, PageId) -> boolean() when This :: wxTreebook(), PageId :: integer().

Link to this function

# expandNode/3

View Source

    -spec expandNode(This, PageId, [Option]) -> boolean()
                        when 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).

Link to this function

# getCurrentPage(This)

View Source

    -spec getCurrentPage(This) -> wxWindow:wxWindow() when This :: wxTreebook().

Returns the currently selected page or NULL.

Link to this function

# getImageList(This)

View Source

    -spec getImageList(This) -> wxImageList:wxImageList() when This :: wxTreebook().

Returns the associated image list, may be NULL.

See: `wxImageList`, `setImageList/2`

Link to this function

# getPage(This, Page)

View Source

    -spec getPage(This, Page) -> wxWindow:wxWindow() when This :: wxTreebook(), Page :: integer().

Returns the window at the given page position.

Link to this function

# getPageCount(This)

View Source

    -spec getPageCount(This) -> integer() when This :: wxTreebook().

Returns the number of pages in the control.

Link to this function

# getPageImage(This, NPage)

View Source

    -spec getPageImage(This, NPage) -> integer() when This :: wxTreebook(), NPage :: integer().

Returns the image index for the given page.

Link to this function

# getPageText(This, NPage)

View Source

    -spec getPageText(This, NPage) -> unicode:charlist() when This :: wxTreebook(), NPage :: integer().

Returns the string for the given page.

Link to this function

# getSelection(This)

View Source

    -spec getSelection(This) -> integer() when 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.

Link to this function

# hitTest(This, Pt)

View Source

    -spec hitTest(This, Pt) -> Result
                     when
                         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.

Link to this function

# insertPage(This, PagePos, Page, Text)

View Source

    -spec insertPage(This, PagePos, Page, Text) -> boolean()
                        when
                            This :: wxTreebook(),
                            PagePos :: integer(),
                            Page :: wxWindow:wxWindow(),
                            Text :: unicode:chardata().

Link to this function

# insertPage/5

View Source

    -spec insertPage(This, PagePos, Page, Text, [Option]) -> boolean()
                        when
                            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.

Link to this function

# insertSubPage(This, PagePos, Page, Text)

View Source

    -spec insertSubPage(This, PagePos, Page, Text) -> boolean()
                           when
                               This :: wxTreebook(),
                               PagePos :: integer(),
                               Page :: wxWindow:wxWindow(),
                               Text :: unicode:chardata().

Link to this function

# insertSubPage/5

View Source

    -spec insertSubPage(This, PagePos, Page, Text, [Option]) -> boolean()
                           when
                               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.

Link to this function

# isNodeExpanded(This, PageId)

View Source

    -spec isNodeExpanded(This, PageId) -> boolean() when This :: wxTreebook(), PageId :: integer().

Returns true if the page represented by `pageId` is expanded.

Link to this function

# new()

View Source

    -spec new() -> wxTreebook().

Default constructor.

Link to this function

# new(Parent, Id)

View Source

    -spec new(Parent, Id) -> wxTreebook() when Parent :: wxWindow:wxWindow(), Id :: integer().

Link to this function

# new/3

View Source

    -spec new(Parent, Id, [Option]) -> wxTreebook()
                 when
                     Parent :: wxWindow:wxWindow(),
                     Id :: integer(),
                     Option ::
                         {pos, {X :: integer(), Y :: integer()}} |
                         {size, {W :: integer(), H :: integer()}} |
                         {style, integer()}.

Creates an empty `wxTreebook`.

Link to this function

# setImageList(This, ImageList)

View Source

    -spec setImageList(This, ImageList) -> ok
                          when 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`

Link to this function

# setPageImage(This, Page, Image)

View Source

    -spec setPageImage(This, Page, Image) -> boolean()
                          when This :: wxTreebook(), Page :: integer(), Image :: integer().

Sets the image index for the given page.

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

Link to this function

# setPageSize(This, Size)

View Source

    -spec setPageSize(This, Size) -> ok when This :: wxTreebook(), Size :: {W :: integer(), H :: integer()}.

Sets the width and height of the pages.

Note: This method is currently not implemented for wxGTK.

Link to this function

# setPageText(This, Page, Text)

View Source

    -spec setPageText(This, Page, Text) -> boolean()
                         when This :: wxTreebook(), Page :: integer(), Text :: unicode:chardata().

Sets the text for the given page.

Link to this function

# setSelection(This, Page)

View Source

    -spec setSelection(This, Page) -> integer() when 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`