<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Randy, definitely at least some of your changes got in.<br>For example, see:<br> <a href="https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-ui/vbtkit/src/lego/WIN32/" target="_blank">https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-ui/vbtkit/src/lego/WIN32/</a><br>The changes involved forking large files to make small changes, and apparent bugs resulted as the files drifted apart.<br><br><br>There are Qt bindings in the tree now.<br>I haven't tried them yet.<br>Qt is probably the way to go.<br><br><br>The challenge in all this is coming up with the right abstraction or adopting the correct existing abstraction.<br>In the language we have a "record". This turns out to be very portable.<br>All processors and intermediate representations support it, or will be force of existing practise throughout the software industry (i.e. C has structs, therefore structs and anything resembling them shall always work efficiently).<br><br><br>Then, what is the right abstraction for a GUI library?<br>What will always be "easy enough" to implement on hardware or on top of other libraries?<br>And, how far down do we implement and meet the next layer?<br>Is the next layer a video buffer? Or a high level library? Or generating html for "complete reinterpretation"?<br>A thin stateless wrapper where someone else does 99.9% of the work?<br><br><br>And then implementing our part of it.<br><br><br> - Jay<br><br><div><hr id="stopSpelling">From: rcolebur@SCIRES.COM<br>To: m3devel@elegosoft.com<br>Date: Wed, 4 Dec 2013 03:10:03 +0000<br>Subject: Re: [M3devel] VBT and up to date desktop styling<br><br>



<style><!--
.ExternalClass .ecxshape {
}
--></style><style><!--
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal {
font-size:11.0pt;
font-family:"Calibri","sans-serif";
}

.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink {
color:blue;
text-decoration:underline;
}

.ExternalClass span.ecxMsoHyperlinkFollowed {
color:purple;
text-decoration:underline;
}

.ExternalClass p.ecxMsoPlainText, .ExternalClass li.ecxMsoPlainText, .ExternalClass div.ecxMsoPlainText {
font-size:11.0pt;
font-family:"Calibri","sans-serif";
}

.ExternalClass p.ecxMsoAcetate, .ExternalClass li.ecxMsoAcetate, .ExternalClass div.ecxMsoAcetate {
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
}

.ExternalClass span.ecxPlainTextChar {
font-family:"Calibri","sans-serif";
}

.ExternalClass span.ecxBalloonTextChar {
font-family:"Tahoma","sans-serif";
}

.ExternalClass .ecxMsoChpDefault {
font-family:"Calibri","sans-serif";
}

.ExternalClass div.ecxWordSection1 {
}

--></style>


<div class="ecxWordSection1">
<p class="ecxMsoPlainText">Elmar:</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">Years ago, I worked with the principals at Critical Mass to make some Trestle/VBT/VBTKit changes that would make the “look and feel” more Windows-like.</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">I'm pretty sure I passed all these to Olaf for incorporation into the CVS repository.</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">I developed some GUIs that looked decent at the time on Windows NT, but more work could be done to provide tighter integration.</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">Not sure if these pics will come thru in the email, but I've pasted a few below to give you some idea of what we achieved using Trestle, VBTKit, FormsVBT, etc.</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">Of course, at that time, our primary motivation was to have one set of GUI code that worked on multiple platforms and gave same look and feel, so tight integration with the underlying OS was not the driving concern.  Our code ran well
 and provided same look and feel on both HP-UX and Windows.</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText"><img id="ecxPicture_x0020_1" src="cid:image002.jpg@01CEF074.68ECE030" height="668" width="779"></p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText"><img id="ecxPicture_x0020_10" src="cid:image006.png@01CEF073.CD228560" height="636" width="777"></p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText"><img id="ecxPicture_x0020_9" src="cid:image007.png@01CEF072.F125B000" height="638" width="780"></p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText"><img id="ecxPicture_x0020_8" src="cid:image003.jpg@01CEF074.68ECE030" height="719" width="779"></p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">Thanks,</p>
<p class="ecxMsoPlainText">Randy Coleburn</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">-----Original Message-----<br>
From: Elmar Stellnberger [mailto:estellnb@elstel.org] <br>
Sent: Sunday, December 01, 2013 2:26 PM<br>
To: m3devel<br>
Subject: EXT:[M3devel] VBT and up to date desktop styling</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">As the VBT standard interface does only offer black and white user interface styling I would need to use vbtkit to achieve at least a Windows 3.1 similar user interface. However as I have found out some of the classes in vbtkit required
 just for the main menu have not been completed and do not compile yet. Would someone be ready to invest some time and affection to complete these classes?</p>
<p class="ecxMsoPlainText">To make MainMenu.m3 look good at least the following tasks would have to be done:</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">* AnchorSwitchVBT: to be completed, 3D reflection for the anchors of the popup menus in the main menu</p>
<p class="ecxMsoPlainText">* ShadowedBarVBT: is here but does not seem to work: it should display a horizontal bar in one of the popup menus</p>
<p class="ecxMsoPlainText">* ShadowVBT: to be completed: draw a 3D border around popup menus and other items</p>
<p class="ecxMsoPlainText">* Shadow: have a third color besides background and foreground for the flat style: eliminate the white borders in non-hover mode</p>
<p class="ecxMsoPlainText">* adjust the vbtkit menu so that the popup menus stays open if the mouse button is released; this will also be necessary to make sub-menus of popup-menus work; i.e. let popup menus contain AnchorSwitchVBTs</p>
<p class="ecxMsoPlainText">* evtl.: Shadow: have a horizontal and a vertical width as ShadowVBTs shadows appear to be larger in their horizontal extent by now compared to their vertical extent which is not that good to look at</p>
<p class="ecxMsoPlainText">* and likely some other issues I have not discovered yet</p>
<p class="ecxMsoPlainText"> </p>
<p class="ecxMsoPlainText">Considering all of that if I will not have an extended vbtkit interfacing with another GUI component like GTK would likely be the way to go because otherwise there would simply be too much time to be invested into vbtkit not considering
 underlying Trestle problems like Unicode support yet. Though it would be good to have a well working standard GUI interface for Modula-3 we need to consider now if putting further work into Trestle/vbtkit is still worth to do. If so I believe it would require
 a joint effort.</p>
<p class="ecxMsoPlainText"> </p>
</div></div>                                          </div></body>
</html>