[Mono-winforms-list] Property Grid Update

Jonathan S. Chambers Jonathan.Chambers@ansys.com
Mon, 31 Jan 2005 13:25:59 -0500


This is a multi-part message in MIME format.

------_=_NextPart_001_01C507C2.4FB422E4
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_002_01C507C2.4FB422E4"


------_=_NextPart_002_01C507C2.4FB422E4
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Here are some small updates to the property grid. I added some missing
attributes and now you can resize the grid columns (the cursor doesn't
change yet. Just mouse down on the column and drag.). Thanks to Peter
for the help with formatting. A few questions and answers:

=20

Answers

1.	Bogdan Bot, I welcome any help you want to give. The drawing
code is coming along quickly. The guts of the property grid are a lot
larger than I thought. Effort will be needed for handling non basic
types (essential structs and classes) as properties. I believe this will
involve the TypeConverter class, ExpandableObjectConverter class,
UITypeEditor class, etc. I don't know if these classes are already
written (I don't think so). These will all need to be written for the
basic types (Rectangle, Color, etc.) and maybe even for bool, int, etc.
Also, I am working on Windows exclusively at this point (I am in the
process of moving and have no Linux box setup), so testing everything
out on Linux would be worthwhile.

=20

Questions

1.	I am trying to use double buffering, but I still get a lot of
flicker when resizing the grid columns. Anybody know what I am doing
wrong?
2.	I need the icons for the toolbar buttons, can I just include
those files in my updates (i.e. will the actual image files go into
svn), and if so what format of file should I send (.png? I think .NET
has issues with .png, especially with transparency).

=20

Thanks,

=20

=20

Jonathan Chambers
ANSYS, Inc.
jonathan.chambers@ansys.com
Phone: 724.514.3682
Fax: 724.514.3114
-------------------------------------------------------------

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. If you
received this in error, please contact the sender and delete the
material from any computer.

=20


------_=_NextPart_002_01C507C2.4FB422E4
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:Arial;
	color:windowtext;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:647514253;
	mso-list-type:hybrid;
	mso-list-template-ids:399177820 67698703 67698713 67698715 67698703 =
67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1
	{mso-list-id:662970660;
	mso-list-template-ids:1201437790;}
@list l2
	{mso-list-id:1240285667;
	mso-list-type:hybrid;
	mso-list-template-ids:-1253121710 67698703 67698713 67698715 67698703 =
67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3
	{mso-list-id:1599634953;
	mso-list-template-ids:-275320842;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Here are some small updates to the property grid. I =
added
some missing attributes and now you can resize the grid columns (the =
cursor
doesn&#8217;t change yet. Just mouse down on the column and drag.). =
Thanks to
Peter for the help with formatting. A few questions and =
answers:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Answers<o:p></o:p></span></font></p>

<ol style=3D'margin-top:0in' start=3D1 type=3D1>
 <li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo3'><font size=3D2 =
face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>Bogdan Bot, I welcome =
any help
     you want to give. The drawing code is coming along quickly. The =
guts of
     the property grid are a lot larger than I thought. Effort will be =
needed
     for handling non basic types (essential structs and classes) as
     properties. I believe this will involve the TypeConverter class,
     ExpandableObjectConverter class, UITypeEditor class, etc. I =
don&#8217;t
     know if these classes are already written (I don&#8217;t think =
so).<font
     color=3Dnavy><span style=3D'color:navy'> These will all need to be =
written for
     the basic types (Rectangle, Color, etc.) and maybe even for bool, =
int,
     etc.</span></font> Also, I am working on Windows exclusively at =
this point
     (I am in the process of moving and have no Linux box setup), so =
testing
     everything out on Linux would be =
worthwhile.<o:p></o:p></span></font></li>
</ol>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Questions<o:p></o:p></span></font></p>

<ol style=3D'margin-top:0in' start=3D1 type=3D1>
 <li class=3DMsoNormal style=3D'mso-list:l2 level1 lfo6'><font size=3D2 =
face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>I am trying to use =
double
     buffering, but I still get a lot of flicker when resizing the grid
     columns. Anybody know what I am doing =
wrong?<o:p></o:p></span></font></li>
 <li class=3DMsoNormal style=3D'mso-list:l2 level1 lfo6'><font size=3D2 =
face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>I need the icons for =
the
     toolbar buttons, can I just include those files in my updates (i.e. =
will
     the actual image files go into svn), and if so what format of file =
should
     I send (.png? I think .NET has issues with .png, especially with
     transparency).<o:p></o:p></span></font></li>
</ol>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Thanks,<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.25in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal style=3D'margin-left:.25in'><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></fo=
nt></p>

<p class=3DMsoNormal =
style=3D'mso-margin-top-alt:5.0pt;margin-right:0in;margin-bottom:
5.0pt;margin-left:0in;text-autospace:none'><font size=3D3 face=3D"Times =
New Roman"><span
style=3D'font-size:12.0pt'>Jonathan Chambers<br>
ANSYS, Inc.<br>
<a =
href=3D"mailto:jonathan.chambers@ansys.com">jonathan.chambers@ansys.com</=
a><br>
Phone: 724.514.3682<br>
Fax: 724.514.3114<br>
-------------------------------------------------------------<o:p></o:p><=
/span></font></p>

<p class=3DMsoAutoSig><i><font size=3D1 face=3D"Times New Roman"><span
style=3D'font-size:9.0pt;font-style:italic'>The information transmitted =
is
intended only for the person or entity to which it is addressed and may =
contain
confidential and/or privileged material. Any review, retransmission, =
dissemination
or other use of, or taking of any action in reliance upon, this =
information by
persons or entities other than the intended recipient is prohibited. If =
you
received this in error, please contact the sender and delete the =
material from
any computer.</span></font></i><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

------_=_NextPart_002_01C507C2.4FB422E4--

------_=_NextPart_001_01C507C2.4FB422E4
Content-Type: application/x-zip-compressed;
	name="PropertyGridUpdate.zip"
Content-Transfer-Encoding: base64
Content-Description: PropertyGridUpdate.zip
Content-Disposition: attachment;
	filename="PropertyGridUpdate.zip"

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
AAAAAwADALgAAACLHQAAAAA=

------_=_NextPart_001_01C507C2.4FB422E4--