Hi folks, I pimped an GtkEntry widget for the metadata editor - thanks to Sven for his help.
the problem: The XMP metadata is stored in a treemodel. The metadata browser has currently two notebook panes where the user can enter data: the description tab for title, author, description and the advanced tab which is a view onto that treemodel. If I type in the title in the description tab, the change is reflected in the treemodel therefore also visible in the advanced tab. If I change values in the advanced tab I was not able to e.g. update the title entry widget. my possible solution: My GtkEntry is instantiated with the xmp_model (read treemodel), the schema uri (e.g. http://purl.org/dc/elements/1.1/) and the property name (e.g. "title"). I subscribe to the 'row-changed' signal of the treemodel (now maybe that's my first mistake), as well as the entry changed signal (maybe another mistake). During initialisation nothing is written to the model and my entry widget is not emitting any signals. When I enter the first characters in the entry, the following happens: 1. the schema is set (row-changed signal is emitted) 2. the property *value* is set (another row-changed signal) That raises actually to a big problem, because when I populate two of my Entry widgets in the browser I get a pingpong going on between the Entries. Funny, but not usable. Is it possible to subscribe to a row-changed event by also using a GtkTreePath as some kind of selector? The problem is, that on instantiation time, I don't have a value set in the treestore, therefore also no path :( Maybe using the treestore as a view (model) as well as a data (model) is another problem here. I also thought about changing the xmp-model to emit custom signals, like a 'property changed' event, which uses the schema_uri and the property as an identifier. I can't really see that solving my problem here though. Additionally, I've read the GtkEntry and GtkCellView source code for any additional information. The GtkCellView is storing the model in a private (need to read what this is about) and a it is using a reference for the row. Maybe that's something I should try... Any help or pointers to documentation or source code would be very much appreciated! Cheers, -- Roman Joost www: http://www.romanofski.de email: romanof...@gimp.org
Description: Digital signature
_______________________________________________ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer