Hello Guys
Thanks for answering my post, please see below
@Hans Breuer
However, i was just wondering why don't you use a Glib Dataset or a GLib
Datalist to store the properties (under UserData). The properties need
not have a particular type. These could just be strings and any code
that needs them later can do the conversion.
I'm not sure if I understand your question so the answer may not fit (:
Yeah, but maybe i contributed to this confusion a bit :-)
Dia's property system (aka. StdProps) has an extra indirection between the
real Object properties and a set of properties. The latter gets passed
around between the objects, the dialogs and the undo system.
I am trying to unweave the code to understand this land called Dia and how i
can move within it :-). The property system was not THAT obvious :-)
As already noted elsewhere Dia's type system predates GObject so if you
are refering to UserData as in g_object_set_data() formerly known as
gtk_object_set_user_data() that wasn't an option.
No, i am not referring to *Userdata as a widget's *Userdata pointer.
The application needs a way to represent nodes and to be able to extend those
objects with minimal impact on the main codebase.
I think that the way it achieves this is by offering a generic Node object
which has plain properties such as color or whether or not background is
visible and so on. The way to extend this basic object is by allowing the
programmers of external objects to add their own properties (in the form of
structures) in this generic Node object. I was looking for this at some point
and i think that the field is called Userdata. The application needs also a way
to access this void *Userdata and it has no information about it (since you
want to preserve the type). Therefore you end up with this complex system of
describing the properties using all these functions. Afterwards it is very easy
for a widget to copy its content to a memory location+offset since all this
information is now known.
So having seen all this, i was wondering why don't you use a simple mapping
between property names and values, as you can read in a previous post of mine.
Also loosing the type information too early would e.g. not allow to
generate type specific - but property agnostic - user interface, which is
one of the main points of the StdProps system.
I agree on this one but then it really depends on what level of information is
needed. You can also describe the types as strings. That's just a suggestion
ofcourse.
All the best
thanOS
_______________________________________________
Dia-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/dia-list
FAQ at http://www.gnome.org/projects/dia/faq.html
Main page at http://www.gnome.org/projects/dia