Salta al contenuto principale


It's aliiiiveeee! (almost) #WiP #confy #gtk4 #libadwaita

Screenshots on last post where blueprint ui files made in Workbench, this is from the wip branch. 🚧👍

reshared this

in reply to Fabio

New "Add event from URL" dialog and "Edit event" dialog, with window in "edit mode"

Tobias Bernard reshared this.

in reply to Fabio

Why is it a pain?
I'm interested as eons ago I started an automatic binding generetor for #LibertyEiffel that uses the same wrapper/binding infrastructure used by Python.
And I should soon restart working on it 😅
in reply to Paolo Redaelli

Why is it a pain?

I was quite dramatic here :)

it's a nice binding, very pythonic, without being too different from GObject api. Given the obvious different things (like define a gobject subclass property. Or how enums are named, etc), you can read gtk docs https://docs.gtk.org/gtk4/ and write almost correct code at first try.

But then you want to do something more exotic, like define your enum. you can't. And many other little thing.

Or try to assign a complex model to an AdwComboRow, then you may want to assign a Gtk.ClosureExpression, which for what I can tell it can't be created.

Unfortunately the project looks like it's in need of some love.

And TBH sometimes Gtk4 it's in your way on itself. Why GtkSearchBar is final? it's a container. It need a child element to work. I would like to subclass it, attach an ui template, setup the logic into the subclass and then reuse this subclass in another ui template. You can't, because it's final. You have to wrap it in another non-final widget, let's say a GtkBox.
in reply to Fabio

That's my experience. I'm not an expert in GObject/Gtk nor in PyGObject. I'm just trying to follow the documentation. And my exasperation also stems from the fact that sometimes I can't rtfm...
in reply to Fabio

coming late into the party, but does the other bindings have the same problem?

Questo sito utilizza cookie per riconosce gli utenti loggati e quelli che tornano a visitare. Proseguendo la navigazione su questo sito, accetti l'utilizzo di questi cookie.