When looking at Gyk examples a lot of the apps use global variables. How can this be avoided while keeping access to the model values(like data, a figure object,…)
What I saw
using Gtk
win = GtkWindow()
f = Figure()
function on_event(w)
%do something with f
end
In object orientet languages this is often done using properties. In julia I only see globals or closures as a possibility. Are there better options? Passing the model around is not useful as the api for Gtk is not designed that way.
function main()
win = GtkWindow()
f = Figure()
function on_event()
% do something with f
end
end
use structs or mutable structs? We also have in the documentation an example how to create a composite widget using a struct. I structure all my code like this.
GtkCanvas is not a Gtk type but a custom creation within Gtk.jl. You can just put it into a Box or a Grid and then you can follow Custom/Composed Widgets · Gtk.jl
By the way: This “inheriting” is not necessary if you don’t want your struct to behave like a widget. Your main application, for instance, does not need that. It would usually look like:
mutable struct MyApp
win::GtkWindow
... # further widgets...
end