[Gtk-sharp-list] why we don't want to use ComponentModel for Gtk# (I think)

Dan Winship danw@novell.com
Mon, 06 Dec 2004 10:46:23 -0500


On Fri, 2004-12-03 at 11:38 -0800, Todd Berman wrote:
> That is all well and good, but how does GParamSpec allow for specifying
> context menu commands, double click actions, and drag and drop, etc. We
> still need attributes/code to handle that, and it should be in something
> like gtk# so that external widget writers don't need to depend on some
> stetic library that just has attributes for marking up widgets.
> 
> My assumption is that it doesn't, and we would need to just need to add
> more attributes, correct?

Right. We will still need things like
System.ComponentModel.DefaultEventAttribute, but since we're also going
to need other things that aren't in System.ComponentModel, it feels like
it would be cleaner to have all of the attributes, etc we need in one
namespace, rather than using half of System.ComponentModel, plus a bunch
of other things from GLib.something.

> As well, How will this work for custom C# widgets? Those properties are
> never registered with gobject, and is doing so a good idea?

I don't know for sure on this yet. Two possibilities are:
      * If you annotate your properties with the (as-yet-nonexistent)
        paramspec-specifying attributes, then ParamSpecs are constructed
        and registered with glib at RegisterGType time
      * If you annotate your properties, they aren't registered with
        glib, but instead ParamSpecs are constructed when you call
        GLib.Object.LookupProperty()

I don't know if there's any advantage to doing the former.

-- Dan