ControlInfo(3U)
β¨ ControlInfo β it's giving "control room" π
okay bestie, sit down, we're doing the InterViews Reference Manual version of ControlInfo(3U) and honestly? it's lowkey iconic. this little guy lives in the Unidraw library, and it's about to become your new obsession. π
πΈ NAME πΈ
ControlInfo β the object that stores control-related information. yes that's the whole vibe. it holds the receipts. π§Ύβ¨
π¦ SYNOPSIS π¦
#include <Unidraw/ctrlinfo.h>
that's it. one include. slay. π
π DESCRIPTION π
so a ControlInfo object stores information from which to build a Control β you know, the thing that actually executes a command or engages the current tool. π«Ά
here's the part that's genuinely genius: the ControlInfo object is stored with the command or tool. so when your command or tool gets retrieved from disk through a catalog, you have all the information necessary to recreate the interface. no cap. it's giving "we remembered everything so you don't have to". π
also β and this is the main character moment β ControlInfo defines the mapping between a keycode and a UControl instance, which is what supports keyboard equivalents via the KeyMap class. keyboard shortcuts, but make it structurally sound. β¨οΈβ¨
π PUBLIC OPERATIONS π
the constructors, aka how we get born π
ControlInfo(
GraphicComp* label, const char* keylabel = '',
const char* keycode = '', void* owner = nil
)
ControlInfo(
const char* label, const char* = '',
const char* = '', void* = nil
)
Create a new ControlInfo instance, bestie! you supply either a GraphicComp or a character string to define its label's appearance. pick your fighter. π₯
labelβ an iconic or textual cue that a control displays to identify the command or tool it activates. it's the lil face on the button.keylabelβ a string to be displayed in the control that identifies the control's keyboard equivalent. so people know which key to smash.keycodeβ defines the mapping between a keyboard event and theControlInfo. this is the β¨magicβ¨ link.ownerβ specifies the command or tool instance to which theControlInfoobject corresponds. like, whose info is this.
the setters & getters, aka explicit communication π¬
void SetLabel(GraphicComp*)
void SetLabel(const char*)
void SetKeyLabel(const char*)
void SetKeyCode(const char*)
void SetOwner(void*)
GraphicComp* GetLabel()
const char* GetKeyLabel()
const char* GetKeyCode()
void* GetOwner()
Explicitly set or get a constructor-specified parameter. that's the whole job. π₯
β οΈ heads up bestie, this one matters: the Set operations delete the value they replace if it is different from the given one. and the string setting operations copy their arguments. so no aliasing drama, no dangling anything, we're responsible in this house. π«Ά
virtual ControlInfo* Copy() π
Return a copy of this ControlInfo object, copying its constituent members.
a whole duplicate. its own lil clone. copying every constituent member because we're thorough like that. π
π SEE ALSO π
Catalog(3U)Command(3U)KeyMap(3U)Tool(3U)UControl(3U)uctrls(3U)
go read those too, iykyk. πβ¨
okay that's the whole page bestie, you ate that π
this masterpiece came to you courtesy of Unidraw, dated 20 November 1990 β vintage but make it forever relevant. π¦π no cap, it's still serving. π
π¦ where this page comes from
- debian bookworm: ivtools-dev 2.0.11d.a1-1+b4
- debian trixie: ivtools-dev 2.0.11d.a1-3+b4
- ubuntu jammy: ivtools-dev 2.0.11d.a1-1build1
- ubuntu noble: ivtools-dev 2.0.11d.a1-3build1
- ubuntu questing: ivtools-dev 2.0.11d.a1-3build7
- ubuntu resolute: ivtools-dev 2.0.11d.a1-3build9
- ubuntu stonking: ivtools-dev 2.1.1+git.2025.07.26.a1-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms