wxTreebook(3)
π wxTreebook π
okay so bestie, this is wxTreebook(3) from the Erlang module definitions, and it's genuinely one of the cuter widgets out there β it's a tree. but make it a notebook. obsessed. π
β¨ NAME β¨
wxTreebook β this class is an extension of the wxNotebook class that allows a tree structured set of pages to be shown in a control. π³π
π¦ DESCRIPTION π¦
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. like, you know that sidebar? that's the vibe. iconic behaviour. π
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. (yes, AddSubPage() shows up twice in this paragraph and it's not implemented in wx both times. we don't make the rules. π)
See:
?wxBookCtrlwxBookCtrlEventwxNotebookwxTreeCtrlwxImageList- Overview bookctrl
- Examples
This class is derived, and can use functions, from:
wxBookCtrlBasewxControlwxWindowwxEvtHandler
wxWidgets docs: wxTreebook
πΈ Events πΈ
Event types emitted from this class:
treebook_page_changedtreebook_page_changing
π DATA TYPES π
wxTreebook() :: wx:wx_object().
yes bestie, it's just a wx_object(). no cap. π«Ά
π FUNCTIONS π
π addPage
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.
π advanceSelection
advanceSelection(This, [Option]) -> ok
when
This :: wxTreebook(),
Option :: {forward, boolean()}.
Cycles through the tabs. π
The call to this function generates the page changing events. (so like, heads up, it's not a quiet lil move.)
π assignImageList
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:
wxImageListsetImageList/2
π changeSelection
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. so quiet. so demure. π
See overview_events_prog for more information.
π create
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.
π deleteAllPages
deleteAllPages(This) -> boolean() when This :: wxTreebook().
Deletes all pages. every single one. gone. π
π destroy
destroy(This :: wxTreebook()) -> ok.
Destroys the object. π§
π expandNode
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). so like⦠your selection might jump. that's not a bug, that's the autoselect.
π getCurrentPage
getCurrentPage(This) -> wxWindow:wxWindow()
when This :: wxTreebook().
Returns the currently selected page or NULL.
π getImageList
getImageList(This) -> wxImageList:wxImageList()
when This :: wxTreebook().
Returns the associated image list, may be NULL.
See:
wxImageListsetImageList/2
π getPage
getPage(This, Page) -> wxWindow:wxWindow()
when This :: wxTreebook(), Page :: integer().
Returns the window at the given page position.
π getPageCount
getPageCount(This) -> integer() when This :: wxTreebook().
Returns the number of pages in the control. count 'em. π’
π getPageImage
getPageImage(This, NPage) -> integer()
when This :: wxTreebook(), NPage :: integer().
Returns the image index for the given page.
π getPageText
getPageText(This, NPage) -> unicode:charlist()
when This :: wxTreebook(), NPage :: integer().
Returns the string for the given page.
π getSelection
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 theEVT_TREEBOOK_PAGE_CHANGED()handler depending on the platform and sowxBookCtrlEvent:getSelection/1should be used instead in this case. β οΈ
π hitTest
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. π―
π insertPage
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.
π insertSubPage
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. πͺ (nesting! we love nesting.)
NULL could be specified for page to create an empty page.
π isNodeExpanded
isNodeExpanded(This, PageId) -> boolean()
when This :: wxTreebook(), PageId :: integer().
Returns true if the page represented by pageId is expanded. β
π new
new() -> wxTreebook().
Default constructor.
π new
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. π£
π setImageList
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. yes bestie, that's on you. π«΅
See:
wxImageListassignImageList/2
π setPageImage
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.
π setPageSize
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. π
π setPageText
setPageText(This, Page, Text) -> boolean()
when
This :: wxTreebook(),
Page :: integer(),
Text :: unicode:chardata().
Sets the text for the given page. βοΈ
π setSelection
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
and that's the whole page bestie, you ate it up, every flag and every when-clause intact, not a single detail left behind π β¨
this one came to you from Ericsson AB, version wx 2.6, and it's the wxTreebook(3) page β slay, goodbye, go build a tree notebook π¦
π¦ where this page comes from
- ubuntu stonking: erlang-doc 1:29.0.6+dfsg-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms