wxSashWindow(3)

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

✨ wxSashWindow ✨

okay bestie, sit down, hydrate, because we're talking about wxSashWindow β€” an Erlang module definition, gen-z certified, and honestly? iconic. it's a manual page from the wx docs (version 2.6, Ericsson AB energy, which we'll get to πŸ’…) and it's literally about a window that lets you drag its edges to resize it. main character behaviour fr fr.


🌸 NAME 🌸

wxSashWindow β€” a window where any of its edges can have a sash, and you can drag that sash to resize the window. yes, like dragging a curtain edge. slay.


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the vibe: the actual content window is not made by this class. you, the application, create it yourself, as a child of wxSashWindow. this one is just the draggable frame situation around it, no cap.

when someone drags the sash, the window β€” or one of its ancestors β€” gets notified through a wxSashEvent notification. that's the whole gossip pipeline. πŸ’Œ

πŸŽ€ Styles πŸŽ€

this class supports these styles, no more no less:

  • wxSW_3D β€” draws a 3D effect sash and border. both. overachiever.
  • wxSW_3DSASH β€” just the 3D effect sash.
  • wxSW_3DBORDER β€” just the 3D effect border.
  • wxSW_BORDER β€” a thin black border. minimal. chic. πŸ–€

See also:

  • wxSashEvent
  • wxSashLayoutWindow
  • Overview events

and for the family tree moment β€” this class is derived, and can use functions, from:

  • wxWindow
  • wxEvtHandler

wxWidgets docs: wxSashWindow

⭐ Events ⭐

event types emitted from this class:

  • sash_dragged

that's the one. that's the event. when the sash gets dragged, you'll know. πŸ‘‘


πŸ’« DATA TYPES πŸ’«

wxSashWindow() :: wx:wx_object().

πŸ”₯ FUNCTIONS πŸ”₯

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

destroys the object. goodbye, farewell, you served sash. 😭

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

getMaximumSizeX(This) -> integer() when This :: wxSashWindow().

gets the maximum window size in the x direction. horizontal ceiling, bestie.

getMaximumSizeX(This) -> integer() when This :: wxSashWindow().

getMaximumSizeY(This) -> integer() when This :: wxSashWindow().

gets the maximum window size in the y direction. vertical ceiling.

getMaximumSizeY(This) -> integer() when This :: wxSashWindow().

getMinimumSizeX(This) -> integer() when This :: wxSashWindow().

gets the minimum window size in the x direction. the floor, horizontally.

getMinimumSizeX(This) -> integer() when This :: wxSashWindow().

getMinimumSizeY(This) -> integer() when This :: wxSashWindow().

gets the minimum window size in the y direction. the floor, vertically.

getMinimumSizeY(This) -> integer() when This :: wxSashWindow().

getSashVisible(This, Edge) -> boolean()

returns true if a sash is visible on the given edge, false otherwise. simple as.

getSashVisible(This, Edge) -> boolean()
                        when
                            This :: wxSashWindow(), Edge :: wx:wx_enum().

See: setSashVisible/3


new() -> wxSashWindow().

default ctor. the "no thoughts head empty" constructor. 🫢

new() -> wxSashWindow().

new(Parent, [Option]) -> wxSashWindow()

constructs a sash window, which can be a child of a frame, a dialog, or any other non-control window. yes, non-control. pls respect the boundary.

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

setMaximumSizeX(This, Min) -> ok

sets the maximum window size in the x direction. (yes the arg is literally named Min, that's the original's business, not ours πŸ™ˆ)

setMaximumSizeX(This, Min) -> ok
                         when This :: wxSashWindow(), Min :: integer().

setMaximumSizeY(This, Min) -> ok

sets the maximum window size in the y direction. same Min situation. same slay.

setMaximumSizeY(This, Min) -> ok
                         when This :: wxSashWindow(), Min :: integer().

setMinimumSizeX(This, Min) -> ok

sets the minimum window size in the x direction.

setMinimumSizeX(This, Min) -> ok
                         when This :: wxSashWindow(), Min :: integer().

setMinimumSizeY(This, Min) -> ok

sets the minimum window size in the y direction.

setMinimumSizeY(This, Min) -> ok
                         when This :: wxSashWindow(), Min :: integer().

setSashVisible(This, Edge, Visible) -> ok

call this one to make a sash visible or invisible on a particular edge. toggle era. ✨

setSashVisible(This, Edge, Visible) -> ok
                        when
                            This :: wxSashWindow(),
                            Edge :: wx:wx_enum(),
                            Visible :: boolean().

See: getSashVisible/2


πŸ’– quick reminder bestie: the content window is yours to create as a child, and drag notifications go to the window or an ancestor via wxSashEvent. don't forget to actually listen, or the drag just vibes into the void.

okay that's the whole page, we ate and left no crumbs πŸ“

this lil masterpiece is brought to you by Ericsson AB, running wx 2.6, and it's wxSashWindow(3) from the wx docs β€” mwah, take care of her πŸ’…βœ¨

πŸ“¦ where this page comes from