WinForms Designer Reports 11, 12

9 views
Skip to first unread message

Ivan N. Zlatev

unread,
Aug 21, 2007, 6:03:21 PM8/21/07
to mono-soc-2007, mig...@ximian.com
=== Summary ===

During week 11 I was on my vacation. After coming back I refactored
the MonoDevelop WinForms Designer Addin in order to make it work with
MonoDevelop'sDesignerSupport addin remoting environment. Unfortunately
I stumbled upon MWF-in-GTK problems and my attempt to complete the
Addin failed. The good news is that I've managed to hack up a
standalone WinForms-based frontend to the Design-Time code. I've spent
the rest of the time testing the Design-Time serialization and
deserialization, which resulted a complete rewrite of the expression
contexting code. I am quite happy with the outcome. The
(de)serialization can even handle nested components fine (e.g
splitter1.Panel1.*). I have also implemented the serialization and
deserialization of events. I am able to bootstrap the designer - I can
load and store back to code it's GUI.

=== Repository Data ===

Start of week revision: 65
End of week revision: 89
Visual ChangeSet: http://monodt.i-nz.net/changeset?old_path=%2F&old=65&new_path=%2F&new=89
Plain Text ChangeSet: http://monodt.i-nz.net/changeset?format=diff&new=89&old=65&new_path=%2F&old_path=%2F

=== Details ===

1.) Refactored the MonoDevelop WinForms Addin to work in the remoting
environment of DesignerSupport. MWF-in-GTK was really broken and I
gave up.

2.) I have designed and developed a small standalone frontend to the
Design-Time code. I have followed the KISS principle and I am quite
happy with the resulting code - it's simple and works. Currently the
designer:

* Can load (in tabs) souce code produced by SharpDevelop 2.x and
Visual Studio 2k5. It is also able to save changes back to source
code.
* Has a PropertyGrid, a simple Toolbox and components dropdown list
* Maintains a user-modifiable References, which allows the user to
reference custom components.

3.) Thanks to the frontend I was able do a cycle of testing which
resulted a major rewrite of the serialization and deserialization. The
main work was on redesigning the expressioncontext tracking to handle
nested components. The code is behaving very well.

4.) I have implemented the EventBindingService and event serialization
and deserialization. It doesn't play well with MSNET's PropertyGrid
(which doesn't really matter), but then again they probably have a lot
of internal stuff which is not documented and on which the proper
working behavior depends.

5.) I have implemented Enum[] serialization/deserialization. Also
includes Enum[] support for the EnumType.

6). I have done some little updates and fixes to code in the mcs tree.

=== What's next? ===

In the following days I will write a detailed status report on the
status of the Design-Time code. I will start maintaining a list of
concrete tasks that have to be completed and continue working on those.

Reply all
Reply to author
Forward
0 new messages