On Jul 1, 2011, at 12:39 AM, Gellule Xg wrote:
I'm contemplating a reimplementation of OSX menu integration using external tools that rely on Gtk::UIManager and GtkAction. This seems orthogonal to the current Verbs+SPAction custom framework used by Inkscape. I would like to start with a simple question: What is the benefit of Verbs versus GtkAction? In the Wiki there is this idea of being able to attach a Verb to a View.
Well, the first issue was that verbs predate GtkAction. So we had started before any other solution was in GTK itself.
However, there are a few things that the verbs do that GtkAction does not. Conceptually it is slightly higher level. Also being able to be associated with more than a single view can be helpful. Consider the case where you have a single document, but multiple windows open editing that at the same time.
I'll try to dig up more details for you. It's been a while since I looked into it. But I can say that the last time I reviewed things, my desire was to get rid of things in favor of GtkAction, but it did not give us the same benefit.
A different issue you should look into is exactly *which* GtkActions are allowed. Some systems only support stock GtkAction classes that come with Gtk, whereas Inkscape has several custom GtkAction subclasses.
Oh, and we need to try to avoid exposing Gtk::UIManager's XML, as it is a very bad structure. You can see elsewhere in our code that we use it but keep it hidden from the users so that something better can be exposed and committed to.