GTK4
- Posted by irv 7 hours ago
- 26 views
Here are some screenshots of the progress on EuGTK4.
https://photos.app.goo.gl/uvBdkS4ZENgaTWQR7
Note the simplicity of the code needed to "wrap" each Gtk "widget". Example:
----------------------- namespace PasswordEntry ----------------------- include gtk4.e constant self = PasswordEntry widget[self] = {"gtk_password_entry_", {Widget}, -- ancestor {"new",{},P}, -- constructor {"get_extra_menu",{P},P}, -- instance methods {"get_show_peek_icon",{P},B}, {"set_extra_menu",{P,P}}, {"set_show_peek_icon",{P,B}}, "PasswordEntry"} export function new() atom fn = define_c_func(LIB,"gtk_password_entry_new",{},P) atom handle = c_func(fn, {}) return register(init(self), handle) end function
Each "widget" is implememted with a file like this, except most have a longer list of methods. The main file which handles the widgets is currently about 600 lines.