Interfacing Raku to Gnome GTK+

Gnome::Gtk3 Reference

The modules are all generated from the GTK+ C source code and the documentation refers specifically to operations in C. Most of it is converted on the fly into Raku types or Raku native types. Sometimes, however, there is a mention of an operation like for instance, referencing or un-referencing objects. Those parts must be investigated still to see what the impact exactly is in Raku.

Color coding of the entries in the sidebar

  • Toplevel classes are classes who inherit directly from Gnome::N::TopLevelClassSupport. Examples of such classes are Gnome::GObject::Object and Gnome::Glib::Error.
  • Object classes are classes which inherit directly or indirectly from Gnome::GObject::Object.
  • Widget classes are also indirectly inheriting from Gnome::GObject::Object but made a special category here to easily find a user interface class.
  • Interface classes. Most types in an application will be classes โ€” in the normal object-oriented sense of the word โ€” derived directly or indirectly from the root class, Gnome::GObject::Object. There are also interfaces, which can contain implemented methods. These are mixed in in the appropriate class. E.g. the interface Gnome::Gtk3::Buildable is mixed into the Gnome::Gtk3::Widget class.
  • Boxed classes. Some data structures that are too simple to be made full-fledged class types. An example is Gnome::Gdk3::RGBA which holds only a few numbers representing the RGB colors and Alpha channel. It would be too much to let it inherit from Gnome::GObject::Object.
  • Standalone classes are classes which do not inherit from other classes. Most of the time they even do not have a native object to work with. An example is Gnome::Glib::Quark.

Deprecated classes in GTK+ Version 3

The following modules will not be implemented in this Raku package because they are deprecated in the GTK libraries. There is no reason to have people use old stuff which is going to disappear in version 4.

  • GtkSymbolicColor โ€” Symbolic colors
  • GtkGradient โ€” Gradients
  • Resource Files mentioned here โ€” Deprecated routines for handling resource files. In GTK+ 3.0, resource files have been deprecated and replaced by CSS-like style sheets, which are understood by Gnome::Gtk3::CssProvider. However, there are methods like gtk_builder_add_from_resource() in Gnome::Gtk3::Builder which load files from directories from the so called resources path. This is an entirely different matter. Definitions and modules for that kind of resources are found in Gnome::Gio::Resource.
  • GtkStyle โ€” Deprecated object that holds style information for widgets
  • GtkHScale โ€” A horizontal slider widget for selecting a value from a range
  • GtkVScale โ€” A vertical slider widget for selecting a value from a range
  • GtkTearoffMenuItem โ€” A menu item used to tear off and re-attach its menu
  • GtkColorSelection โ€” Deprecated widget used to select a color
  • GtkColorSelectionDialog โ€” Deprecated dialog box for selecting a color
  • GtkHSV โ€” A โ€œcolor wheelโ€ widget
  • GtkFontSelection โ€” Deprecated widget for selecting fonts
  • GtkFontSelectionDialog โ€” Deprecated dialog box for selecting fonts
  • GtkHBox โ€” A horizontal container box
  • GtkVBox โ€” A vertical container box
  • GtkHButtonBox โ€” A container for arranging buttons horizontally
  • GtkVButtonBox โ€” A container for arranging buttons vertically
  • GtkHPaned โ€” A container with two panes arranged horizontally
  • GtkVPaned โ€” A container with two panes arranged vertically
  • GtkTable โ€” Pack widgets in regular patterns
  • GtkHSeparator โ€” A horizontal separator
  • GtkVSeparator โ€” A vertical separator
  • GtkHScrollbar โ€” A horizontal scrollbar
  • GtkVScrollbar โ€” A vertical scrollbar
  • GtkUIManager โ€” Constructing menus and toolbars from an XML description
  • GtkActionGroup โ€” A group of actions
  • GtkAction โ€” A deprecated action which can be triggered by a menu or toolbar item
  • GtkToggleAction โ€” An action which can be toggled between two states
  • GtkRadioAction โ€” An action of which only one in a group can be active
  • GtkRecentAction โ€” An action of which represents a list of recently used files
  • GtkActivatable โ€” An interface for activatable widgets
  • GtkImageMenuItem โ€” A deprecated widget for a menu item with an icon
  • GtkMisc โ€” Base class for widgets with alignments and padding
  • Stock Items โ€” Prebuilt common menu/toolbar items and corresponding icons
  • Themeable Stock Images โ€” Manipulating stock icons. Since GTK+ 3.10, stock items are deprecated. You should instead set up whatever labels and/or icons you need using normal widget API, rather than relying on GTK+ providing ready-made combinations of these.
  • GtkNumerableIcon โ€” A GIcon that allows numbered emblems
  • GtkArrow โ€” Displays an arrow
  • GtkStatusIcon โ€” Display an icon in the system tray
  • GtkThemingEngine โ€” Theming renderers
  • GtkAlignment โ€” A widget which controls the alignment and size of its child