Widgets
Widgets are premade components with properties, styles & signals. They can be usually put in one of the following categories:
Toplevel
- Windows, dialogs and their variantsContainers
/Layout
- Boxes, frames, viewports, popups etc.Control
- Switches, buttons, text inputs etc.Display
- Images, icons, labels, textviews, spinners etc.
Widgets follow OOP, meaning that they inherit properties, signals and others.
Valadoc has beautiful interactive diagrams that explain the hierarchy of each widget, for example Gtk.Switch
.
On Crystal, while we don't generate fancy diagrams, each widget includes all the methods (which includes properties & signals) all the way back to GObject::Object
, for example Gtk::Switch
.