On 10/20/2011 07:53 AM, Nick Treleaven wrote:
On 18/10/2011 22:57, Matthew Brush wrote:
On 11-10-18 01:33 PM, Matthew Brush wrote:

Not really (I'm kinda stupid remember :) I think I'm confused about how
it used to work and you're confused about how it works now :)


I think I see what you're talking about, ui_hookup_widget() is attaching
the widget to the owner Gobject's datalist. Ok, I think to avoid fixing
all of Geany's code that uses this, I will make the new
ui_hookup_object() to do this same thing as well, then we can worry more
about getting rid of what's left once we port the rest of the UI to
GtkBuilder.

I'll report back once I've got it working and we can go from there.

I'm currently fighting off flu so can't look at the new branch yet.


Bummer.  Hope you get better quickly!

Just to make sure we understand each other; basically, the
ui_[l]ookup_widget changes should be reverted. Then, if ui_lookup_widget
fails, for compatibility it can try your hashtable lookup.


Yep, in my gtkbuilder2[1] branch I have replaced the old functionality (same with lookup_widget() in stash.c). I didn't actually "revert" in the Git sense, but I did restore the old code for those functions.

New code that wants to lookup a widget created from geany's glade xml
can use your new function to lookup an object from the hashtable.
Looking up some non-geany non-global widget still needs to use
ui_[lh]ookup_widget.

Nope, I dropped the hash table, now all GtkBuilder widgets get "registered" like they used to with ui_hookup_widget() that I put back. I also re-created the old Glade generated create_*() functions to provide access to the top level widgets. The hash table was only there for compatibility so if it's not going to work, no point in keeping it.


BTW name clashes are definitely possible if we only use your global
hashtable, which is why we need the old functions to work like they used
to. Even if it works with the global lookup now doesn't mean it's doing
the right thing.


Right, though for the core, we *shouldn't* be using duplicate names for any widgets in the UI, since this isn't supported by GtkBuilder, but for now, until all the UI code gets ported into the Glade file, we do need to make sure it's supported to remain compatible.

I don't think I misunderstood any of your explanations.


Ok, wasn't sure since you said you didn't read the code and my English isn't very good :)

Cheers,
Matthew Brush

[1] https://github.com/codebrainz/geany/tree/gtkbuilder2
_______________________________________________
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

Reply via email to