Interfacing Raku to Gnome GTK+

Checklist

Main documentation, subs and methods documentation

Legend for head of table

  • T: Type column with following values
    • Tl: Inherit directly from TopLevelClassSupport.
    • Bx: Boxed type.
    • R: Interface type programmed as Raku roles.
    • S: Standalone module or type.
    • N: Native class structure or union.
    • L: Native library connection.
    • Not filled in means that it is a standard class.
  • I: Inheritable by a user class.

  • Documentation
    • dm: Module documentation
      • Title, Description
      • See also, UML, Synopsis
      • Inheritance description and example when supported
      • Example of use
      • Remove interface information
    • db: Build documentation and initialization
      • Use test of is-valid() and ease of using .set-native-object().
      • Remove check for wrong / unavailable options if inheritable.
      • Add =head3 to each .new() option.
      • Deprecate any option which can be done in a supsequent call like :$title in Window.
      • Move native .gtk_..._new_...() documentation to the Build doc. These subroutines must be prefixed with an underscore ‘_’ to make them unavailable, e.g. ._gtk_..._new_...().
    • ds: Method and subroutine documentation and additions
      • Add examples to subroutines.
      • Inhibit unusable subroutines and documentation, make note when no support.
      • Add sigils to variables and use True/False when boolean input. Many cases of C should become C. Change first argument e.g. 'I' into text 'this widget' first arguments are mostly not provided because the are in the object.
      • Remove Since version text because versions are for GTK+ and not for the Raku modules.
      • Change returns type into --> type.
      • Provide single word method names. Lower prio.
      • Try to insert url references. Lower prio.
    • de: Signal and event documentation.
    • dp: Properties documentation.
  • Testing.
    • ts: Subroutines and Methods.
    • te: Signals and events.
    • tp: Properties.
  • 12: Issue number 12; check use of types and modify.
  • 14: Issue number 14; implement methods on shortest name, remove from docs, deprecate rest later.
  • so: Types, Structs, Subroutines, Signals, Properties are sorted

TODO: FALLBACK and _fallback deprecation, example in Gnome::Gdk3::RGBA. Routines like test-call() et al can be removed then when deprecation period ends. TODO: Remove *-rk() methods TODO: Cast all non-gobject structures into N-GObject. Original purpose was to store the root GObject native objects into this type but we can generelize this for all native objects so that coercion will always work using N-GObject() as argument type. The methods will cast it to/from the proper types before calling the native subs. E.g. N-GdkRGBA.

Entry values can be

  • ✗: No info. Unavailable e.g. there are no signals or properties for a class.
  • Empty: Not done or do not have a value like for T or I.
  • ⅓, ½, ⅔, etc, is a raw measure of things partly done. Some subs are not yet available because of dependencies on other types which are not yet implemented. Also, not all subs can be tested because subs might need a more complete setup before being useful. Could also be, that I don’t know what to do with it 😄.
  • ✓: Done
Gnome::Gtk3 T I dm db ds de dp ts te tp 12 14 so  
AboutDialog    
AccelGroup      
AccelLabel      
AccelMap   ½  
Actionable R ½  
ActionBar    
Adjustment    
AppChooser R  
AppChooserButton        
AppChooserDialog    
AppChooserWidget      
Application   ⁹⁄₁₀      
ApplicationWindow          
AspectFrame     ¾  
Assistant        
Bin    
Border Bx  
Box      
Buildable R  
Builder      
Button    
ButtonBox    
CellLayout R  
CellRenderer   ¾    
CellRendererAccel        
CellRendererCombo      
CellRendererPixbuf      
CellRendererProgress    
CellRendererSpin    
CellRendererSpinner    
CellRendererText        
CellRendererToggle      
CheckButton    
CheckMenuItem    
ColorButton    
ColorChooser R ½  
ColorChooserDialog    
ColorChooserWidget    
ComboBox      
ComboBoxText    
Container   ½ ½  
CssProvider    
CssSection Bx  
Drag S  
DragDest S  
DragSource S  
DrawingArea   < fbck sg prp
Gnome::Gtk3 T I dm db ds de dp ts te tp 12 14 so  
Dialog                          
Editable        
Entry                          
EntryCompletion      
Enums S                  
EventBox      
Expander   ½      
FileChooser R                        
FileChooserButton   ½          
FileChooserDialog                            
FileChooserWidget        
FileFilter                            
Fixed    
Frame                            
Grid    
HeaderBar    
IconTheme                          
IconView                          
Image     ¾  
Label        
Layout    
LevelBar                            
ListBox                            
ListBoxRow                            
ListStore                            
Main S  
Menu                            
MenuBar                            
MenuButton    
MenuItem   ¾    
MenuShell                            
MessageDialog   ½    
Misc                            
Notebook      
Orientable R  
OffscreenWindow    
Paned                            
PlacesSidebar                            
Popover                            
PopoverMenu                            
ProgressBar                            
RadioButton    
RadioMenuItem        
Range                            
RecentChooser R ¾   ¾    
RecentChooserDialog      
RecentChooserMenu      
RecentChooserWidget      
RecentInfo S    
RecentFilter      
RecentManager        
Revealer     ¾        
Scale          
Scrollable R      
ScrolledWindow                            
SearchBar                            
SearchEntry                            
SelectionData Bx                          
Separator                            
SeparatorMenuItem      
ShortcutsGroup     N
ShortcutsSection     N
ShortcutsShortcut     N
ShortcutsWindow     N
SpinButton            
Spinner                            
Stack          
StackSidebar            
StackSwitcher            
Statusbar    
StyleContext          
StyleProvider R                        
Switch                            
TargetEntry Bx  
TargetList Bx  
Targets S  
TargetTable S  
TextBuffer                            
TextIter Bx                          
TextTag                            
TextTagTable                            
TextView                            
ToggleButton    
ToolButton                            
ToolItem                            
TreeIter Bx        
TreeModel R                    
TreePath Bx        
TreeRowReference Bx                          
TreeSelection                            
TreeStore                          
TreeView                          
TreeViewColumn                            
Viewport      
Widget   ¾  
WidgetPath Bx                          
Window      


Gnome::Gdk3 T I dm db ds de dp ts te tp 12 14 so  
————————- _fallback
Atom S  
Device                            
Display                            
DragContext    
Events      
Keysyms                            
Pixbuf                            
RGBA B _fallback
Screen     ½  
Types                            
Visual    
Window         no -rk :v T


Gnome::Gio T dm db ds de dp ts te tp 12 14 so  
Action R  
ActionMap R  
AppInfo    
AppInfoManager      
AppLaunchContext      
Application   ¾ ¾  
ApplicationCommandLine      
DesktopAppInfo   < fbck sg prp
Enums S                        
File    
Menu      
MenuAttributeIter    
MenuItem   < fbck sg prp
MenuLinkIter    
MenuModel      
Notification    
Resource Bx ½  
SimpleAction   < fbck sg prp


Gnome::Cairo T dm db ds ts 12 14 so < fbck sg prp
Cairo TL  
Enums                  
FontFace    
FontOptions    
ImageSurface   ¾  
Matrix                  
Path    
Pattern    
<!–Region                 –>
ScaledFont                  
Surface TL ½  
Types                  



Gnome::GObject T dm db ds de dp ts te tp 12 14 so  
————————- _fallback
Boxed Tl  
Closure Bx  
InitiallyUnowned    
Object Tl  
Signal R  
Type S  
value Bx  


Gnome::Glib T dm db ds ts 12 14 so  
————————- _fallback
Error Tl      
List Tl  
Main Tl      
MainContext Tl  
MainLoop Tl  
Quark S      
SList Tl      
Source Tl  
Variant Tl  
VariantDict Tl  
VariantType Tl  

Module Main will be deprecated after version 0.20.0

Gnome::N T dm db ds ts 12 14 so
GlibToRakuTypes S    
N-GObject N    
NativeLib L    
TopLevelClassSupport S            
X