1. Babble about Win32Lib
- Posted by David Cuny <dcuny at LANSET.COM> Mar 02, 1999
- 402 views
- Last edited Mar 03, 1999
[Long Post Warning] Just thought I'd post the direction I'm heading with Win32Lib these days. This is pretty much speculation; after WinMan and Gnuphoria, I'm not making any promises that this will ever see the light of day. [The Problems] 1. I can't add new controls to Win32Lib without rewriting the core code. 2. Win32Lib doesn't support emulated (non-native, 100% Euphoria) controls. 3. Maintaining ports such as Dos32Lib is difficult, because there is little code sharing. 4. The graphic portion of Win32Lib is just a bit *too* hacked. 5. The graphic portion of Dos32Lib is limping badly and needs a rewrite. 6. Win32Lib is not very portable, and the X Windows port looms in the future. [The Goals] 1. Decouple Win32-specific code from Win32Lib, making it platform independant. The core WinLib code is limited to knowing about windows, graphics and events - shell routines whose personality is defined in included files. 2. Add hooks to the WinLib core so it can easily be extended with include files, and move all the controls into include files. 3. The same hooks should also support the creation of 'emulated' controls (such as a 'clock' control). These emulated controls should only use platform-independant functions defined in the core code, so they will work across platforms. (I'm thinking of calling them EuCX controls). [The Benefits] First and foremost, other people should be able to easily add new native and emulated controls to Win32Lib. That takes a burden off me, and puts it into the capable hands of bright coders such as yourselves. Second, it will be much easier to keep multiple platforms in sync, since they can share large amounts of code. Third, it should make porting to other platforms (such as Linux, X Windows and Macintosh) much easier, since the initial port can use emulated controls, and later implement the controls as native. Fourth, it gives me a chance to go back an rewrite the Win32Lib graphic routines, now that I have a better idea of how things go together. Finally, I can fool around with multiple look and feels for controls - 'Java' and 'Platinum' controls. Oh, I should mention that this doesn't preclude hooking into native Win32 calls - but it obviously makes the code non-portable. [What's The Current Status?] Those who have made it this far into my e-mail will no doubt have noticed that I've been a bit short on details. I've got a very specific plan of implementation in mind, but things change as I code and find out that there are much better ways of doing things, or lead to a dead-end. In any event, the proof is in the code, and the current code is nowhere near completion. One reason to post all this stuff is to get some feedback. How do people feel about this direction? Once I get the basic stuff in place (it'll take a while), will anyone be willing to help implement new native or emulated controls? Another reason is to get feedback about cross-platform compatibility. Cross-platform is a high priority for me, and I need to make some serious changes. Finally, it explains why I'm flaking out on all that stuff I've been promising to do, like fix that bug in the Res toolkit, or add more common controls. Comments? -- David Cuny
2. Re: Babble about Win32Lib
- Posted by Daniel Berstein <daber at PAIR.COM> Mar 03, 1999
- 394 views
At 03:07 AM 03-03-1999 , you wrote: >[Long Post Warning] > >Just thought I'd post the direction I'm heading with Win32Lib these days. >This is pretty much speculation; after WinMan and Gnuphoria, I'm not making >any promises that this will ever see the light of day. > >[The Problems] > >1. I can't add new controls to Win32Lib without rewriting the core code. > >2. Win32Lib doesn't support emulated (non-native, 100% Euphoria) controls. > >3. Maintaining ports such as Dos32Lib is difficult, because there is little >code sharing. > >4. The graphic portion of Win32Lib is just a bit *too* hacked. > >5. The graphic portion of Dos32Lib is limping badly and needs a rewrite. > >6. Win32Lib is not very portable, and the X Windows port looms in the >future. Aha! You where listening to the ECM stuff we chatted. Didn't you? ;) Personally I won't bother with platform independance... raise your hand those that are using MacOs (2 or 3), those using Linux (10 to 15), those using Windows (500 or more). Anyway I hope you succed supporting all those platform. EuCX? mmmm.... Are we playing simon says with Microsoft? ECM is more elegant to me. BTW Did you saw the code I posted about getting the RECT (win32 speaking) of a string? Did it work? Regards, Daniel Berstein [daber at pair.com]
3. Re: Babble about Win32Lib
- Posted by Jeffrey Fielding <JJProg at CYBERBURY.NET> Mar 03, 1999
- 366 views
David Cuny wrote: > Those who have made it this far into my e-mail will no doubt have noticed > that I've been a bit short on details. I've got a very specific plan of > implementation in mind, but things change as I code and find out that there > are much better ways of doing things, or lead to a dead-end. In any event, > the proof is in the code, and the current code is nowhere near completion. > > One reason to post all this stuff is to get some feedback. How do people > feel about this direction? Once I get the basic stuff in place (it'll take a > while), will anyone be willing to help implement new native or emulated > controls? > > Another reason is to get feedback about cross-platform compatibility. > Cross-platform is a high priority for me, and I need to make some serious > changes. > > Finally, it explains why I'm flaking out on all that stuff I've been > promising to do, like fix that bug in the Res toolkit, or add more common > controls. > > Comments? > > -- David Cuny I think it's a good idea, and I'd be willing to help implement new native or emulated controls. -- Jeffrey Fielding JJProg at cyberbury.net http://members.tripod.com/~JJProg/
4. Re: Babble about Win32Lib
- Posted by Patrick Quist <quistnet at HOTMAIL.COM> Mar 03, 1999
- 376 views
>> Comments? >> >> -- David Cuny You could "steal" my progressbar code if you like to, I don't need any credit if you use it. Bye, PQ QC ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com
5. Re: Babble about Win32Lib
- Posted by David Cuny <dcuny at LANSET.COM> Mar 03, 1999
- 367 views
[Daniel Bernstein wrote:] >Aha! You where listening to the ECM stuff we chatted. Didn't you? ;) You certainly were a catalyst. But the actual implementation of requests will probably be handled through a SendMessage sort of mechanism. >EuCX? mmmm.... Are we playing simon says with Microsoft? ECM is more >elegant to me. When I post the alpha (don't hold 'yer breath), I'm sure you'll have lots of good suggestions to make. It won't be your fault if I continue merrily on my wayward path of doom and destruction. >BTW Did you [see] the code I posted about getting the RECT (win32 speaking) >of a string? Did it work? Thanks for all the submittals. I've still got to figure out how to convert 'logical' units (which the functions return) into pixel units. I've picked up a couple used Win32 graphics booksl to study, and am re-reading Petzold. The other problem with the code is indirect: one of my kids did a 'happy dance' on my keyboard and broke it. The double-quote key on the backup keyboard doesn't work. [Jeffrey Fielding wrote:] > I think it's a good idea, and I'd be willing to help implement > new native or emulated controls. Great! [Patrick Quist wrote:] > You could "steal" my progressbar code if you like to, > I don't need any credit if you use it. The emulated controls are partly your fault - I saw your progress bar, and realized that there was no easy way to incorporate it into Win32Lib. Thanks again. -- David Cuny
6. Re: Babble about Win32Lib
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Mar 03, 1999
- 384 views
- Last edited Mar 04, 1999
>Personally I won't bother with platform independence... raise your hand >those that are using MacOs (2 or 3), those using Linux (10 to 15), those >using Windows (500 or more). Anyway I hope you succeed supporting all those >platform. Hmm.. I would like platform independence for the reason of 'elegance' and the 'compatibility' with future versions of windows, and simply the different type of design. And actually for many more reasons. Including program design. Actually, there are many issues with 'so-called' portable GUI's. Color issues, when the standard colors are changed, the size of every line, etc. are all handled by the OS. A portable GUI would only work if it gave in at one of these points: - platform 'adaptence' .. force the precise same look... (or somewhere in that direction) .. on both the Mac and Win32 it will look 100% the same, for each pixel. However of 99/100 tools that they use, your tool's buttons will look slightly different. Your tool's menu bar.. slightly different. People don't like that, or at least I don't. - precise planning of controls .. if the interface handles the exact layout of the window, and is only given an 'estimate' of what it should look like, and how it should operate.. it will 'adapt'. This has the advantage that it will look correctly everywhere.. regardless of the screen-font size (Color Draw's tutor for example wouldn't work with my font-size.. which was 'large' at the time) .. regardless of the size of the window, the resolution, etc. However, a programmer no longer has the 'freedom' to be able to precisely plan its layout pixel-perfectly. The last is type of 'sacrifice' I do want to make, although I will only rely upon very elegant 'layout-generators'. David's WinMan for example, is much more the direction where I would like to see Win32Lib head. No more precise layout. The layout is measured and setup by the library, possibly using preferences of the end-user. An example of a different type of layout: Docking Vs Windowed. (I personally hate multiple windows, but love dock-bars, especially when they can collapse, etc.) Dock-bar type of windows have an even huge advantage that currently only some 'huge' packages have discovered. It allows the end-user to modify and setup its working space as it likes. And the layout of say 'Data-forms' or 'Input-forms' ... (you can't have everything as a separate moveable docking bar, can you) could be defined it the way 'HTML' defines its layout. The use of virtual percentage. Surely the design of certain forms are more work than the design of an exact layout like, for example, Visual Basic offers, but the future and platform portability, and the freedom for the end user to modify its 'windows-look' should be convincing. Not to mention visually disabled persons, that use extra large fonts, etc. For them the layout is *either* wrong, or when its partly adaptive (a typical case with VB programs) its unusable. How many of you have never used a program that was designed for a different font-size or different screen-size , meaning you couldn't see part of the program and it became unusable ? Here is, as an inspiration, a GUI design I, as an programmer and end-user of many windows-tools, would love. On the top level, you'll need some form of 'container' control. The only allowed control at the top-level. (it defines the look of the window/etc) It can either (and optionally) float, dock or pop-up (= disappear when a 'default' action occurs) Even on the top-level it should be able to dock, however then at the screen-edges, similar to a toolbar, or Icq docks. A pop-up would be like a window, without title-bar etc. that would disappear after the 'default' action. (say, pressing enter). A program can spawn child 'containers', you can dock these to any other container (including of another Eu-program .. or to the screen edges if docking is allowed. When its a pop-up, docking nor moving is allowed. A titelbar is lacking as well with pop-ups as well. In other words, containers do *not* contain other containers. Containers are the primal block, and all of them are on the *top-level*. However, they _are_ called containers, what do they contain ? They contain a layout-file .. which is a piece of text (optionally a text-file thus) which contents is shows. The idea behind such a file-specification should be 'inspired' by both Pdf/Adobe's Portable Document File and by Html/Hyper Text Markup Language. HTML files, like Pdf, resize and adjust their layout when you resize the window, or want to print a pdf-document using a non-standard paper-size. In a similar way, I would like a 'layout-specification'. It may sound weird, several different files for each part of the interface of your program, but during development (hmm.. a special convert to include file tool would be handy?) something like that is extremely handy. Buttons, check-boxes, radio-boxes, etc. are examples of the controls offered in such a language. Off course controls should be easy to add. Not into the layout-file though. In the layout-file the name of the control would be specified and an error message would occur, when a control is missing. Off course NotePad or TextPad is not ideal for layout development, but such a file-specification would at least make the layout independent of the editor. WYSIWYG editors could off course still, maybe even easier, be made. Notice though that WYSIWYG also means what-others-see-is-what-they-get.. ... but editors like DreamWeaver and HotMetal prove that dynamic layout and 'WYSIWYG" can be united. Now, people, please tell me what you think ? Wouldn't this be the idea basis for a 100% easy to setup and use interface library/tool/standard/specification that offers portability, yet also offers a great and useful, customizable interface ? Ralf
7. Re: Babble about Win32Lib
- Posted by "Cuny, David" <David.Cuny at DSS.CA.GOV> Mar 03, 1999
- 376 views
Ralf wrote: > Actually, there are many issues with 'so-called' portable GUI's. > Color issues, when the standard colors are changed, the size of > every line, etc. are all handled by the OS. Actually, Win32 issues a message to the program that the colors are changing, and it's up to each program to implement the appropriate actions. > platform 'adaptence' .. force the precise same look... > (or somewhere in that direction) .. on both the Mac and Win32 it > will look 100% the same, for each pixel. Take a look at Zinc, which does *not* have a 100% pixel for pixel look and feel, but still works over multiple platforms, including the Mac. As one of the Zinc papers pointed out, many customers got *very* unhappy when their application had a Windows look and feel. Even Qt, which only supports two different platforms, allows the programmer to specify a 'Win32' or 'Motif' look and feel. > - precise planning of controls .. if the interface handles > the exact layout of the window, and is only given an 'estimate' > of what it should look like, and how it should operate.. it will > 'adapt'. This has the advantage that it will look correctly > everywhere.. Many X Windows-based GUIs (such as Tck/Tk and GTK) use geometry managers. As you pointed out, I had implemented a simple geometry manager in WinMan, but I have mixed feelings about them. I don't plan on implementing them in the near future, but there is nothing in the general design of Win32Lib to keep them from being implemented in the future. > An example of a different type of layout: Docking Vs Windowed. MDI is another thing I have mixed feelings about. In general, Microsoft is moving away from that metaphor, and adopting other approaches (such as tabs). Adopting docking for Win32Lib (IMHO) would be too radical - it would clash with everything else on the desktop, unless you were running an OS or shell (like AfterStep) that supported docking. -- David Cuny
8. Re: Babble about Win32Lib
- Posted by Patrick Quist <quistnet at HOTMAIL.COM> Mar 03, 1999
- 362 views
>[Patrick Quist wrote:] > >> You could "steal" my progressbar code if you like to, >> I don't need any credit if you use it. > >The emulated controls are partly your fault - I saw your progress bar, and >realized that there was no easy way to incorporate it into Win32Lib. > Yeah right. First of all, it's just a simple include file. Second Don't lie to me, just say that you don't like it or if you're too proud to borrow something from someone else than yourself. Third Always tell the truth, even to a 14 year old (like me). Fourth What the **** do you mean that WHAT? is my fault, I don't change anything of your library ????? (Except for a few "Non-Globals" making "Global") BYE! PQ QC ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com
9. Re: Babble about Win32Lib
- Posted by Jiri Babor <J.Babor at GNS.CRI.NZ> Mar 04, 1999
- 363 views
Patrick, I do not really care whether you are 14, 40 or 99, but I am getting tired of making allowances for the behaviour of maladjusted, rude teenagers on this list all the time. jiri
10. Re: Babble about Win32Lib
- Posted by Robert Pilkington <pilking at BELLATLANTIC.NET> Mar 03, 1999
- 399 views
>>[Patrick Quist wrote:] >> >>> You could "steal" my progressbar code if you like to, >>> I don't need any credit if you use it. >>The emulated controls are partly your fault - I saw your progress bar, >>and realized that there was no easy way to incorporate it into Win32Lib. >Yeah right. >First of all, it's just a simple include file. >Second Don't lie to me, just say that you don't like it > or if you're too proud to borrow something from someone > else than yourself. Actually, he meant he liked it, and wanted to put it into Win32Lib, but there wasn't any easy way. So because you did something that should've been allowed more directly by Win32Lib, it's your fault that he's adding it now. 'Fault' isn't always a bad thing. Now I think I'm gonna go download the progress bar in case I need it sometime.... :)
11. Re: Babble about Win32Lib
- Posted by Ray Smith <Ray.Smith at FUJITSU.COM.AU> Mar 04, 1999
- 369 views
Hey, My 2 cents worth about Win32Lib: I am interested only in Windows development and I can't see that changing in the next year or two at least. Just wondering how many other people out there have the same view. I started using Euphoria because it is an elegant language and also because a "bound" program is very easy to distribute. I started using VB and when it comes time to send your program to someone you need to send 2-3 MB for a simple 60KB program. Well ... I'm not going to lie, I also started using Euphoria becuase it didn't cost me a cent!!!!. Not to say I won't register in the future if I beleive I can produce commercial quality windows programs. Also, I read the Euphoria Micro economy concept a few days ago and it seems to me very few people vote. Surely an email once a month isn't that difficult to encourage developers to continue releasing software. There are some really great libraries and utilities with nothing / or almost nothing registered. Anyway .. have a nice day :) Ray Smith
12. Re: Babble about Win32Lib
- Posted by Daniel Berstein <daber at PAIR.COM> Mar 03, 1999
- 361 views
- Last edited Mar 04, 1999
At 06:31 PM 03-03-1999 , you wrote: >Hey, > >My 2 cents worth about Win32Lib: > >I am interested only in Windows development and I can't see that changing in the >next year or two at least. Just wondering how many other people out there have >the same view. Me! I like experimenting with other OSes. But we must be realist, Windows is THE platform on x86 machines. Even the most emplematic *nix tools are being ported to windows. Regards, Daniel Berstein [daber at pair.com]
13. Re: Babble about Win32Lib
- Posted by Jason Gade <jgade at PCEZ.COM> Mar 03, 1999
- 374 views
- Last edited Mar 04, 1999
-----Original Message----- From: Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> To: EUPHORIA at LISTSERV.MUOHIO.EDU <EUPHORIA at LISTSERV.MUOHIO.EDU> Date: Wednesday, March 03, 1999 11:25 AM Subject: Re: Babble about Win32Lib <snip to the important stuff> >They contain a layout-file .. which is a piece of text (optionally a text-file thus) which contents is shows. The idea behind >such a file-specification should be 'inspired' by both Pdf/Adobe's Portable Document File and by Html/Hyper Text Markup >Language. HTML files, like Pdf, resize and adjust their layout when you resize the window, or want to print a pdf-document using >a non-standard paper-size. In a similar way, I would like a 'layout-specification'. It may sound weird, several different files >for each part of the interface of your program, but during development (hmm.. a special convert to include file tool would be >handy?) something like that is extremely handy. > >Buttons, check-boxes, radio-boxes, etc. are examples of the controls offered in such a language. Off course controls should be >easy to add. >Not into the layout-file though. In the layout-file the name of the control would be specified and an error message would occur, >when a control is missing. Off course NotePad or TextPad is not ideal for layout development, but such a file-specification >would at least make the layout independent of the editor. WYSIWYG editors could off course still, maybe even easier, be made. >Notice though that WYSIWYG also means what-others-see-is-what-they-get.. ... but editors like DreamWeaver and HotMetal prove >that dynamic layout and 'WYSIWYG" can be united. > >Now, people, please tell me what you think ? Wouldn't this be the idea basis for a 100% easy to setup and use interface >library/tool/standard/specification that offers portability, yet also offers a great and useful, customizable interface ? > >Ralf > I've been thinking for awhile now that an OS with a GUI based on XML or HTML would be the way to go. I've spent only a little time trying to figure out how to program GUI's on Amiga's and Windows, and it seems hopelessly complicated (esp. Windows!!). It doesn't have to be. I guess you wouldn't even have to start with a full OS or a full windowing system; a programming language could support an interface to HTML.
14. Re: Babble about Win32Lib
- Posted by Raude Riwal <rauder at THMULTI.COM> Mar 04, 1999
- 366 views
I don't agree at all. Windows is dominant _now_ , but things are changing. And if you use the same tools on any platform, why should you choose the _Expensive_ one ? In the last few monthes, the greatest manufacturers (IBM,Compaq,Dell,Gateway,HP,SGI...) have all unveiled their "linux" plan, adding support and porting developments. Daniel, there is also a project porting Delphi on linux: (here the mail) > Everybody interested in Linux and programming may go visit Gathering of the > Federations online project at http://www.coltronix.com/federations/ > > We encorage new federal partners to join in. Riwal Raude rauder at thmulti.com ---------- From: Daniel Berstein To: EUPHORIA at LISTSERV.MUOHIO.EDU Subject: Re: Babble about Win32Lib Date: Thursday 4 March 1999 04:39 At 06:31 PM 03-03-1999 , you wrote: >Hey, > >My 2 cents worth about Win32Lib: > >I am interested only in Windows development and I can't see that changing in the >next year or two at least. Just wondering how many other people out there have >the same view. Me! I like experimenting with other OSes. But we must be realist, Windows is THE platform on x86 machines. Even the most emplematic *nix tools are being ported to windows. Regards, Daniel Berstein [daber at pair.com]
15. Re: Babble about Win32Lib
- Posted by Daniel Berstein <daber at PAIR.COM> Mar 04, 1999
- 367 views
At 05:50 AM 04-03-1999 , you wrote: >I don't agree at all. Windows is dominant _now_ , but things are changing. >And if you use the same tools on any platform, why should you choose >the _Expensive_ one ? In the last few monthes, the greatest manufacturers >(IBM,Compaq,Dell,Gateway,HP,SGI...) have all unveiled their "linux" plan, >adding support and porting developments. >Daniel, there is also a project porting Delphi on linux: (here the mail) >> Everybody interested in Linux and programming may go visit Gathering of >the >> Federations online project at http://www.coltronix.com/federations/ >> >> We encorage new federal partners to join in. Thanks for the link... unfortunatly it was all empty. I didn't found a single piece of information (I went to "Dolphine"). Regards, Daniel Berstein [daber at pair.com]
16. Re: Babble about Win32Lib
- Posted by M King <boot_me at HOTMAIL.COM> Mar 06, 1999
- 361 views
>(IBM,Compaq,Dell,Gateway,HP,SGI...) have all unveiled their "linux" plan, >adding support and porting developments. >Daniel, there is also a project porting Delphi on linux: (here the mail) >> Everybody interested in Linux and programming may go visit Gathering of >the >> Federations online project at http://www.coltronix.com/federations/ >> >> We encorage new federal partners to join in. > >Riwal Raude >rauder at thmulti.com > > ---------- >From: Daniel Berstein >To: EUPHORIA at LISTSERV.MUOHIO.EDU >Subject: Re: Babble about Win32Lib >Date: Thursday 4 March 1999 04:39 > >At 06:31 PM 03-03-1999 , you wrote: >>Hey, >> >>My 2 cents worth about Win32Lib: >> >>I am interested only in Windows development and I can't see that changing >in the >>next year or two at least. Just wondering how many other people out there >have >>the same view. > >Me! > >I like experimenting with other OSes. But we must be realist, Windows is >THE platform on x86 machines. Even the most emplematic *nix tools are being >ported to windows. > > >Regards, > Daniel Berstein > [daber at pair.com] I am thinking BE OS, as they have been doing shows on it on ZD tv and articles on the ZD website. It has a core similar or related to Linux but installs easily, is cheap, and supposed to be VERY powerful. It also coexists very friendlyly with all sorts of disk partitions. It would be a very good market for full blown Euphoria. I wish that Rob would also add it to his list of potential markets, as they are saying that the only drawback to Be is that not enouph software is available. Linux is just not friendly enouph for users... my 2 <$ Monty in Oregon (Writing this on a G3 266 Mac til my Win98 mac ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com
17. Re: Babble about Win32Lib
- Posted by Daniel Berstein <daber at PAIR.COM> Mar 06, 1999
- 364 views
- Last edited Mar 07, 1999
At 03:58 PM 06-03-1999 , you wrote: >I am thinking BE OS, as they have been doing shows on it on ZD tv and >articles on the ZD website. It has a core similar or related to Linux >but installs easily, is cheap, and supposed to be VERY powerful. It >also coexists very friendlyly with all sorts of disk partitions. It >would be a very good market for full blown Euphoria. I wish that Rob >would also add it to his list of potential markets, as they are saying >that the only drawback to Be is that not enouph software is available. >Linux is just not friendly enouph for users... >my 2 <$ >Monty in Oregon >(Writing this on a G3 266 Mac til my Win98 mac I'm suppose to get a copy of BeOS soon... I'll tell you how it works. I believe it uses for development GCC on x86 platform and CodeWarrior for PowerPC. Sorry to tell you Monty BeOS won't run on G3s PPC. More information on www.be.com Regards, Daniel Berstein [daber at pair.com]