<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
I keep trying to understand Trestle but I keep failing.<BR>
I tried to read the comments explaining how its locking<BR>
works and I got lost quickly.<BR>
I suspect that compares well to other GUI libraries<BR>
in that they probably just don't do threading well.<BR>
Easy to understand though.<BR>
 <BR>
 <BR>
The Trestle apps are all pretty ugly and oddly behaved.<BR>
Granted, I have no "real use" for them. I just exercise<BR>
them a bit as test cases.<BR>
I did notice you made the scrollbars look "nice" on Windows.<BR>
 <BR>
 <BR>
The close box is marked "C".<BR>
The grow box is marked "G".<BR>
Yuck.<BR>
 <BR>
 <BR>
As I said though, the more I look into Trestle, the more I think<BR>
it is implementing a rather complete "windows system" and not<BR>
just a library of widgets, nor even widgets + resizing algorithms.<BR>
Nor even just widgets + resizing + event routing.<BR>
Like, it seems to also manage clipping, knowing what needs<BR>
redrawing, etc.<BR>
But I'm not sure.<BR>
It adds up to a lot of code, is my concern.<BR>
That is good and bad.<BR>
 <BR>
 <BR>
 - Jay<BR><BR> <BR>
<HR id=stopSpelling>
Date: Sun, 13 Dec 2009 00:12:21 -0500<BR>From: rcoleburn@scires.com<BR>To: jay.krell@cornell.edu; m3devel@elegosoft.com<BR>Subject: Re: [M3devel] FW: Win32/ScrollerVBTClass.m3<BR><BR>
<STYLE>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>

<DIV>Jay:</DIV>
<DIV> </DIV>
<DIV>You would get opposition from anyone who likes Trestle and FormsVBT.  Really, the concepts, simplicity, and extensibility of Trestle/FormsVBT are very good and probably ahead of their time in terms of the then current state of commercial practice.</DIV>
<DIV> </DIV>
<DIV>Ditching Trestle would not bode well for any of the work I've done.  I have a lot of cm3 code that runs on both Unix X-Windows and on Windows without any application source modification.</DIV>
<DIV> </DIV>
<DIV>Indeed, having a GUI that worked on both types of platforms was one of the main selling points/features of the work we did in Modula-3 back in the late 90's.</DIV>
<DIV> </DIV>
<DIV>Also, to follow up on my prior response, one of the reasons it took 11 years for me to incorporate the Win32 customizations had to do with licensing and also with standing up the repository after the demise of the commercial cm3 venture.  Not much had been done to these sources over the 11 years.  Mainly, I think most of the changes had to do with stuff that came out of PM3 and some bug fixes.  So, I had to get back into this code and do a real merge/integration effort taking care not to break anything.</DIV>
<DIV> </DIV>
<DIV>Regards,</DIV>
<DIV>Randy<BR><BR>>>> Jay K <jay.krell@cornell.edu> 12/12/2009 10:46 PM >>><BR>eh, actually zchassis 3.6 matches current posix zchassis except for whitespace.<BR>scrollertvbtclass is pretty close, though current adds "shadows".<BR>Maybe we're ok in practise, but I still don't like it.<BR> <BR>(Really I'd love to ditch Trestle in favor of Qt or such, but I have this nagging<BR>feeling that Trestle reinvents far more than most other gui libraries.)<BR> <BR> - Jay<BR> <BR></DIV>
<DIV>
<HR id=ecxstopSpelling>
</DIV>
<DIV>From: jay.krell@cornell.edu<BR>To: rcoleburn@scires.com; m3devel@elegosoft.com<BR>Date: Sun, 13 Dec 2009 03:41:25 +0000<BR>Subject: [M3devel] FW: Win32/ScrollerVBTClass.m3<BR><BR>
<STYLE>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>
2008-05-27 02:29  rcoleburn<BR><BR>  * m3-ui/vbtkit/src/: lego/m3makefile, vbtkitresources/ScrollBg,<BR>    vbtkitresources/close.ppm, vbtkitresources/down.ppm,<BR>    vbtkitresources/grow.ppm, vbtkitresources/left.ppm,<BR>    vbtkitresources/m3makefile, vbtkitresources/right.ppm,<BR>    vbtkitresources/up.ppm, lego/POSIX/ScrollerVBTClass.m3,<BR>    lego/POSIX/ZChassisVBT.m3, lego/POSIX/m3makefile,<BR>    vbtkitutils/m3makefile, lego/WIN32/ScrollerVBTClass.m3,<BR>    lego/WIN32/ZChassisVBT.m3, lego/WIN32/m3makefile,<BR>    vbtkitutils/POSIX/VBTKitEnv.i3, vbtkitutils/POSIX/m3makefile,<BR>    vbtkitutils/WIN32/VBTKitEnv.i3, vbtkitutils/WIN32/m3makefile:<BR><BR>  Incorporate changes made to vbtkit by Critical Mass circa September 1997 that make the GUI appearance more like that of Windows.  The m3makefiles have been adjusted so that these changes affect only Windows (WIN32) platforms.  These changes were part of work sponsored by Randy Coleburn at Scientific Research Corporation (SRC).  The main files affected are VBTKitEnv.i3, ScrollerVBTClass.m3, and ZChassisVBT.m3, plus some new resource files have been added for WIN32 only.<BR><BR><BR>Randy, are files from 1997 really correct to incorporate into the tree 11 years later? Or maybe they are rather out of date?<BR>Can the work be redone against the 2008 versions? And factor out the common parts?<BR> <BR>I guess I should go and diff these against the 3.6 or 4.1 versions?<BR>And then apply those diffs to the Posix file to get the Win32 version?<BR>(Or again, try to share what is the same?)<BR> <BR> <BR> - Jay<BR> <BR>> Date: Sun, 13 Dec 2009 04:37:34 +0000<BR>> To: m3commit@elegosoft.com<BR>> From: jkrell@elego.de<BR>> Subject: [M3commit] CVS Update: cm3<BR>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: jkrell@birch. 09/12/13 04:37:34<BR>> <BR>> Modified files:<BR>> cm3/m3-ui/vbtkit/src/lego/: Tag: release_branch_cm3_5_8 <BR>> m3makefile <BR>> cm3/m3-ui/vbtkit/src/lego/WIN32/: Tag: release_branch_cm3_5_8 <BR>> ScrollerVBTClass.m3 <BR>> <BR>> Log message:<BR>> I forgot to mention: I'm really just guessing here. It seems to work.<BR>> <BR></DIV>                                           </body>
</html>