In computer programming, a widget (or control) is an interface element that a computer user interacts with, such as a window or a text box. Widgets are sometimes qualified as virtual to distinguish them from their physical counterparts, e.g. virtual buttons that can be clicked with a mouse cursor, vs. physical buttons that can be pressed with a finger. Widgets are often packaged together in widget toolkits. Programmers use widgets to build GUIs (graphical user interfaces), in most cases very badly.
- see Wikipedia:Widget
In the nodal model widgets are nodes containing graphical layers which can undergo change based on input events such as mouse clicks or drags. Widgets can exhibit input focus so they receive keyboard input. If a widget receives an event which it has no use for, it passes the event to its parent node.
In the nodal model, all of the most important widgets (the ones required to achieve the basic wiki-like functionality of the nodal interface) are just trees of the same basic layer functionality. Different settings and containment structures of the same basic layout properties give rise to the basic classes of widget such as textarea, editbox, listbox, link, button, checkbox etc