[Mono-winforms-list] Introduction, patching, canonization, roadmap.

Alexandre Pigolkine pigolkine@gmx.de
Fri, 21 Mar 2003 14:02:08 +0100


Hello,

> Right now I see mixed use of DOS-style CR/LF linefeeds and Unix-style.
> Do you think it possible to switch to using one of these exclusively?

It would be really nice to switch to one line-termitation style.
The question is - to which one. You probably know that SWF is running
now with GC under Linux. So, IMO it will be logical to select Unix style.

>
> Another thing that we've discussed with Miguel is about establishing
> some kind of roadmap, prioritizing chunks of functionality with app
> development requirements in mind. Each milestone producing a test
> application with a specified set of controls.
>
> We'll be going for Application and ApplicationContext classes first.

I selected .Net SDK samples as a roadmap for development.
For a moment, the following samples are working under Windows:
Samples\QuickStart\howto\samples\winforms\errorhandler\
Samples\QuickStart\howto\samples\winforms\ownerdrawlistbox\
Samples\QuickStart\howto\samples\winforms\threadmarshal\
Samples\QuickStart\winforms\samples\controlreference\buttonctl\
Samples\QuickStart\winforms\samples\controlreference\checkedlistboxctl\
Samples\QuickStart\winforms\samples\controlreference\comboboxctl\

(It's problematic to run them under Linux now due to missing functionality
in
System.Drawing. )

Also I developed a separate test application for some of Menu* classes,
it's inside CVS.

Regarding the patch:
It is possible to post samples if, in your opinion, the code is not working
and not just comment it and send a patch ? Or better to fix it and send a
patch with
sample or reference to it.

For example:

--- Control.cs 20 Mar 2003 23:05:15 -0000 1.30
+++ Control.cs 21 Mar 2003 10:43:47 -0000
       SubclassWindow();
-
-      CreatorThreadId_ = Win32.GetCurrentThreadId();
-
+      /* vkaluzhny@openlinksw.co.uk = FIXME!!!!
+      CreatorThreadId_ = Win32.GetCurrentThreadId(); */
       OnHandleCreated (new EventArgs());
+
      }

The GetCurrentThreadId is used for ISynchronizeInvoke implementation :
Samples\QuickStart\howto\samples\winforms\threadmarshal\.

And why code in Button.cs is not working :
Samples\QuickStart\winforms\samples\controlreference\buttonctl\.

It's also not clear why Window class registration code moved to Form.cs. Is
it needed to
register class for every Form created ?

Sincerely,
Alexandre Pigolkine

P.S. I am working on ListCtrl derived classes.


----- Original Message -----
From: "Yrjana Rankka" <ghard@openlinksw.com>
To: <mono-winforms-list@lists.ximian.com>
Sent: Friday, March 21, 2003 1:01 PM
Subject: [Mono-winforms-list] Introduction, patching, canonization, roadmap.


> Hello!
>
> Our company is willing to contribute code to the SWF project.
> We hope to be able to draw in support from other commercial entities.
> Initially we have assigned one developer, Vladimir Kaluzhny
> (vkaluzhny@openlinksw.co.uk ), more or less full-time for this. He has
> extensive experience in working with native Win32 API as well as other
> GUI toolkits. My bosses have tasked me to act as a liaison between
> our developer team and this project.
>
> To make patching a bit less laborious process, I'd like to discuss
> things regarding encoding in files stored in the CVS.
>
>
> I attach a diff with some fixes done by Vlad. His notes:
>
> Button.cs
> CreateParams property
> 1. Removed  the variable name duplication
> 2. Commented the part of code, which still is not working.
> 3. Removed the creation of instance of  ControlNativeWindow class .
>
> Control.cs
> CreateParams property
> 1. Designate  the ClassName field  with right value. (not constant)
> 2. Commented  the part of code which is incorrect
> 3. Commented the part of code, which still is not working.
>
> Form.cs
> CreateHandle()
> 1. Added the class registration code
>
> NativeWindow.cs
> CreateHandle()
> 1. Removed class registration code as it is only required of windows.
>
> ScrollableControl.cs
> CreateParams property
> 1. Removed the class registration code
> 2.  Designate  the createParams.Caption and  createParams.ClassName
>     fields  with right value. (not constant)
>
> TextBox.cs
> CreateParams property
> 1. Removed the creation of instance of  ControlNativeWindow class .
>
>
> Best regards,
>
> Yrjänä
>
>
> --
> Yrjana Rankka                      //  ghard@openlinksw.com
> Developer                          //  http://www.openlinksw.com
> OpenLink Software Ltd              //
> ODBC, XML & E-Business Infrastructure Technology Providers
>