| Title | Windows.Forms.Designer |
|---|---|
| Student | Ivan Zlatev |
| Mentor | Miguel de Icaza |
| Abstract | |
|
=== Introduction ===
Hi! Firstly a bit about myself. I am a second year BSc. Software Engineering student in the University of Hull, UK. I've been interested in .Net since I got my .Net 1.0 Beta 1 CD and I've been following the Mono project for almost 2 years now. Event though Mono has quite a decent Windows.Forms support, being actively worked on, as a Mono and also a GNU/Linux user and developer I am not able to design Windows.Forms interfaces, nor edit alreadyexisting ones in a visual and pleasant way. I've been researching on the topic since summer 2006. === Summary === This project is targeting at: 1) Providing an implementation of the .Net 1.1 and .Net 2.0 Design-Time stack for the Mono Class Library, mostly hosted in the System.Design assembly and .Design/.Design.Serialization namespaces. The stack consists of: * A DesignSurface (Host) * Windows Forms Designers * ASP.NET Designers - not targeted by this project. * Serializers It should be noted that SharpDevelop relies on this stack. 2) Integration in MonoDevelop to enable: * Designing Windows.Forms interfaces * Full forward and backward compitability with Visual Studio generated interfaces. === Status and TODOs === The project is hosted at http://monodt.i-nz.net and managed via Trac and Subversion. It currently provides an initial .Net 2.0 ready implementation of the DesignSurface and .Net 1.1 ready core Windows.Forms designer stack, which allow dragging and droping, selecting and resizing controls. Initially development was done on Windows and MS.Net, but after 2 bugfixing cycles, which introduced about 15 bugfixes and patches in the Mono Class Library related to Design-Time behaviour the code works fine on Mono and the development has moved to Linux/Mono. TODOs are: * Improve selection, drag and drop and resizing behaviour and design * Implement the Serializers * Merge with Mono's class library * Implement the specific Windows.Forms designers per Control basis. * Update core designer stack to .Net 2.0 * MonoDevelop integration * Extensive testing |
|