wxNotebook(3erl)

πŸ’– wxNotebook πŸ’–

okay so this is the wxNotebook page from the Erlang Module Definition gang, manual name wxNotebook(3erl), and bestie we are gonna make it make sense. ✨

πŸŽ€ NAME πŸŽ€

wxNotebook β€” Functions for wxNotebook class. no cap. πŸ’…

✨ DESCRIPTION ✨

This class represents a notebook control, which manages multiple windows with associated tabs. It’s giving β€œtabs but make it a whole window manager vibe.” πŸ¦‹

To use the class, create a wxNotebook object and call wxBookCtrlBase:addPage/4 or wxBookCtrlBase:insertPage/5, passing a window to be used as the page.

Do not explicitly delete the window for a page that is currently managed by wxNotebook. That’s the warning bestie, do not do it. 😭

wxNotebookPage is a typedef for wxWindow. periodt. πŸŽ€

🌈 Styles 🌈

This class supports the following styles:

🎨 Page backgrounds 🎨

On Windows, the default theme paints a background on the notebook's pages. If you wish to suppress this theme, for aesthetic or performance reasons, there are three ways of doing it. You can use wxNB_NOPAGETHEME to disable themed drawing for a particular notebook, you can call wxSystemOptions:setOption/2 to disable it for the whole application, or you can disable it for individual pages by using wxWindow:setBackgroundColour/2. Three paths, all iconic. πŸ‘‘

To disable themed pages globally:

Set the value to 1 to enable it again. To give a single page a solid background that more or less fits in with the overall theme, use:

On platforms other than Windows, or if the application is not using Windows themes, getThemeBackgroundColour/1 will return an uninitialised colour object, and the above code will therefore work on all platforms. slay for portability. 🌍

See: ?wxBookCtrl, wxBookCtrlEvent, wxImageList, Examples.

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

wxWidgets docs: wxNotebook.

πŸ”₯ EVENTS πŸ”₯

Event types emitted from this class: command_notebook_page_changed, command_notebook_page_changing. The group chat is literally these two events. πŸ’¬

🧚 DATA TYPES 🧚

wxNotebook() = wx:wx_object()

πŸ‘‘ EXPORTS πŸ‘‘

new() -> wxNotebook()

Constructs a notebook control. baby’s first notebook. 🍼

new(Parent, Id) -> wxNotebook()

Types:

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

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

Types:

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

Constructs a notebook control.

Note that sometimes you can reduce flicker by passing the wxCLIP_CHILDREN window style. lowkey useful. ✨

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

Destroys the wxNotebook object. bye bestie. πŸ‘‹

assignImageList(This, ImageList) -> ok

Types:

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

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

Types:

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

Creates a notebook control.

See new/3 for a description of the parameters.

getImageList(This) -> wxImageList:wxImageList()

Types:

This = wxNotebook()

Returns the associated image list, may be NULL.

See: wxImageList, setImageList/2.

getPageImage(This, NPage) -> integer()

Types:

This = wxNotebook()
NPage = integer()

Returns the image index for the given page.

getRowCount(This) -> integer()

Types:

This = wxNotebook()

Returns the number of rows in the notebook control.

getThemeBackgroundColour(This) -> wx:wx_colour4()

Types:

This = wxNotebook()

If running under Windows and themes are enabled for the application, this function returns a suitable colour for painting the background of a notebook page, and can be passed to wxWindow:setBackgroundColour/2.

Otherwise, an uninitialised colour will be returned. no cap. 🎨

setImageList(This, ImageList) -> ok

Types:

This = wxNotebook()
ImageList = wxImageList:wxImageList()

Sets the image list to use.

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

See: wxImageList, assignImageList/2.

setPadding(This, Padding) -> ok

Types:

This = wxNotebook()
Padding = {W :: integer(), H :: integer()}

Sets the amount of space around each page's icon and label, in pixels.

Note: The vertical padding cannot be changed in wxGTK. wxGTK said β€œnot today” to vertical padding. πŸ’€

setPageSize(This, Size) -> ok

Types:

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

Sets the width and height of the pages.

Note: This method is currently not implemented for wxGTK. wxGTK is really going through something here. 😭

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

Types:

This = wxNotebook()
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. iykyk. πŸ–ΌοΈ


okay bestie, that’s the whole wxNotebook(3erl) page! πŸ’– source/version: wxWidgets team, wx 2.2.2.1; date: the footer doesn’t show a separate date, so no made-up numbers β€” periodt. 🫢

πŸ“¦ where this page comes from