wxChoicebook(3)

πŸ“¦
version 29.0.6 Β· 3 versions
, in ubuntu stonking

πŸ’– wxChoicebook πŸ’–

okay so bestie, welcome to the Erlang module definition for wxChoicebook β€” yes it's a manual page, yes it's a wx thing, no you don't need to run away, I gotchu 🫢


✨ NAME ✨

wxChoicebook β€” it's like wxNotebook's cooler cousin: same whole vibe, except instead of tabs it uses a wxChoice control to show the labels. no tabs, just a lil dropdown, and honestly? iconic behavior πŸ‘‘


🌸 DESCRIPTION 🌸

For actual usage docs of this class, please go look at the base abstract class wxBookCtrl. You can also hit up the page_samples_notebook to see wxChoicebook in action β€” like, watch it thrive, no cap.

wxChoicebook allows the use of wxBookCtrlBase::GetControlSizer(), which lets a program add other controls right next to the choice control. This is lowkey particularly useful when screen space is restricted β€” which, fr fr, is often the case when wxChoicebook is being employed. πŸͺ„

πŸŽ€ Styles

This class supports the following styles, bestie:

  • wxCHB_DEFAULT β€” chooses the default location for the labels depending on the current platform (but currently it's the same everywhere, namely wxCHB_TOP). consistent queen πŸ’…
  • wxCHB_TOP β€” puts the labels above the page area.
  • wxCHB_LEFT β€” puts the labels on the left side.
  • wxCHB_RIGHT β€” puts the labels on the right side.
  • wxCHB_BOTTOM β€” puts the labels below the page area.

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().


πŸ‘‘ FUNCTIONS πŸ‘‘

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

addPage(This, Page, Text, [Option]) -> boolean()
                 when
                     This :: wxChoicebook(),
                     Page :: wxWindow:wxWindow(),
                     Text :: unicode:chardata(),
                     Option ::
                         {bSelect, boolean()} | {imageId, integer()}.

Adds a new page. brand new page, freshly added, slay.

The page must have the book control itself as the parent and must not have been added to this control previously. like, no double-dipping bestie.

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). first page gets a free pass, periodt.

Return: true if successful, false otherwise.

Remark: Do not delete the page, it will be deleted by the book control. NOT. YOUR. JOB. πŸ™ˆ

See: insertPage/5


advanceSelection(This, [Option]) -> ok

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

Cycles through the tabs. going in circles, but make it fashion πŸ’«

The call to this function generates the page changing events.


assignImageList(This, ImageList) -> ok

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

Sets the image list for the page control and takes ownership of the list. it's hers now, she owns it πŸ‘‘

See:

  • wxImageList
  • setImageList/2

changeSelection(This, Page) -> integer()

changeSelection(This, Page) -> integer()
                        when 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. the quiet one. the stealth mode one. 🀫

See overview_events_prog for more information.


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

create(This, Parent, Id, [Option]) -> boolean()
               when
                   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. two-step construction energy ✨


deleteAllPages(This) -> boolean()

deleteAllPages(This) -> boolean() when This :: wxChoicebook().

Deletes all pages. bye bye bye πŸ‘‹


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

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

Destroys the object. it's giving closure, it's giving moving on πŸ’€


getCurrentPage(This) -> wxWindow:wxWindow()

getCurrentPage(This) -> wxWindow:wxWindow()
                       when This :: wxChoicebook().

Returns the currently selected page or NULL.


getImageList(This) -> wxImageList:wxImageList()

getImageList(This) -> wxImageList:wxImageList()
                     when This :: wxChoicebook().

Returns the associated image list, may be NULL.

See:

  • wxImageList
  • setImageList/2

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

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

Returns the window at the given page position.


getPageCount(This) -> integer()

getPageCount(This) -> integer() when This :: wxChoicebook().

Returns the number of pages in the control. math is math πŸ”’


getPageImage(This, NPage) -> integer()

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

Returns the image index for the given page.


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

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

Returns the string for the given page.


getSelection(This) -> integer()

getSelection(This) -> integer() when 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. don't say I didn't warn you bestie 😭

hitTest(This, Pt) -> Result

hitTest(This, Pt) -> Result
                when
                    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. bonus info, we love that 🌈

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


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

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


new() -> wxChoicebook()

new() -> wxChoicebook().

Constructs a choicebook control. glow up time 🌟


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

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

setImageList(This, ImageList) -> ok

setImageList(This, ImageList) -> ok
                     when
                         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. this one's a situationship, not a commitment, iykyk πŸ’…

See:

  • wxImageList
  • assignImageList/2

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

setPageImage(This, Page, Image) -> boolean()
                     when
                         This :: wxChoicebook(),
                         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(This, Size) -> ok

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

Sets the width and height of the pages.

😭 Note: This method is currently not implemented for wxGTK. it's not available there bestie, don't fight it

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

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

Sets the text for the given page.


setSelection(This, Page) -> integer()

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


and that's the whole page, bestie βœ¨πŸ’– this lil gem comes from Ericsson AB, wx 2.6 era β€” main character energy since way back. go build something cute with it πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from