[MonoDevelop] Design Time Properties for Custom Controls

Mike Kestner mkestner at gmail.com
Mon Jul 20 14:45:20 EDT 2009

On Mon, 2009-07-20 at 19:18 +0100, Ivan Zlatev wrote:
> objects.xml ? Ugh. Can't you guys just use reflection and attributes
> on properties (e.g Browsable (true/fase) and others) -
> http://msdn.microsoft.com/en-us/library/a19191fh%28VS.100%29.aspx ?

Yes, and the sync functionality that I described does look for Browsable
and ToolboxItem and Category for example to determine what gets
added/updated in the objects.xml file, and also to determine what is
shown by the designer in the absence of an objects.xml file.  

But the objects.xml file was the original mechanism in stetic for
exposing this information to the designer and does still support more
options than the initial pass at attribute based design that we added in
2.0.  I was simply stating that the posters scenario of enumerated
properties was "currently" supported by objects.xml.  Of course it could
be supported by the attribute parser as well with additional work.

> It would be nice to have the stetic designer use the Design-Time
> framework already in place in .NET. It provides infrastructure for
> Design-Time behavior (Designers), ready to use Design-Time
> Serialization framework, support for both custom designers for
> controls and custom controls. It's already used by both the ASP.NET
> and Windows Forms designer frontends inside Microsoft Visual Studio
> and it's very flexible and nicely designed IMHO. All of the code is in
> the System.Design assembly. I wrote a paper about it here -
> http://www.i-nz.net/files/docs/Building%20User%20Interface%20Design%20Tools%20-%20Ivan%20N.%20Zlatev.pdf

I would say that this is a goal.  Currently unfunded.  Possibly not 100%
graftable onto a gtk designer.  We would like to reuse as much of it as

> Unfortunately I think GTK+ is crap

Thanks for sharing.  These sorts of statements always add to the

>  so I am not very motivated to start
> working on this. However I will be more than happy to provide
> assistance.


More information about the Monodevelop-list mailing list