From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=BAYES_00,FROM_WORDY, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,72234a9aaf4c308e,start X-Google-Attributes: gid103376,public From: "Nick Roberts" Subject: Proposed standard GUI: Update 1 Date: 1998/05/15 Message-ID: <6jhras$pbm$3@plug.news.pipex.net>#1/1 X-Deja-AN: 353559900 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Organization: UUNET WorldCom server (post doesn't reflect views of UUNET WorldCom) Newsgroups: comp.lang.ada Date: 1998-05-15T00:00:00+00:00 List-Id: First, my apologies for not making any noise sooner than this: as ever, time is not my own! Second: many thanks to the people who have replied to my original posting, by e-mail and to this newsgroup. I am happy to say that I have received five e-mail messages expressing support - for which, very many thanks - and a further message with suggestions. Thanks also to Tony Lowe (Rockwell Collins). Anyone else who might wish to help (or who has a comment or suggestion): please e-mail me! Various existing systems have been suggested as a base: TeleUSE/TeleWindows (TeleSoft); UIMS; Screen Machine (OIS); Fresco; Qt (TrollTech); TASH, based on Tcl/Tk; Java JNI; Java AWT; Chiron; Amulet; Claw (R&R); and OpenGL/GLUT. Also the DGJPP mailing list has been mentioned, as well as the comp.graphics newsgroups. More than one contributor has suggested the benefits of using a proprietary system (such as Claw, for example). It seems to me, however, that one of the things a putative standard must be is non-proprietary. Would R&R Systems be willing to allow the interface (not the implementation) of Claw be used freely by their competitors? If so, then fair enough; otherwise, no game, surely (comments invited)? I haven't been able to check out all of the above ideas, but I have looked at many of them, and I present my initial ideas here. Note that I am very much open to criticism and/or expansion in these comments. *** TeleUSE *** This is an interface building software suite, for Ada, aimed (primarily at least) at the OSF/Motif environment. This system is proprietary, but it could serve as a useful base, should the owners (TeleSoft) be willing. *** Screen Machine *** Similar comments apply to this as for TeleUSE. Narrower in scope, I think, than what we require. *** Amulet *** A sponsored university venture to design a GUI specifically for Ada. A slightly eclectic design, possibly, but Amulet could serve as a good base. Seems to have run out of funding, now, so it is not in a completely finished state yet. *** TASH, Tcl/Tk *** TASH is a way for Ada programs to call upon the graphics library used by Tcl/Tk. For systems with Tcl/Tk, this is great; for systems where this is not practicable (e.g. a turn-key application), it is not helpful. I think Tcl/Tk could be regarded as one environment for us to support, but only one of many. *** Java JNI *** I think this option has been overtaken by Java AWT (see next). *** Java AWT *** This is for Java what we are trying to achieve for Ada. I have taken a (moderately) close look at AWT. It could certainly serve as a very good base, but it is not perfect: it is somewhat limited in some respects; it does not provide for low(er)-level access to graphics devices; it is, naturally, C++ idiomatic, and would be somewhat awkward if translated directly to Ada. I don't think that re-use of AWT libraries (in source or compiled form) should be a priority consideration for our standard: Ada programs which use a GUI will span a much broader spectrum of environments than Java AWT, from embedded process-control systems (e.g. Nuclear power stations!) to workstations front-ending supercomputers. I think we need to concentrate on ensuring that our standard has the flexibility to encompass these kinds of application, otherwise it is not likely to gain the widespread acceptance that is (I think) our goal. *** Claw *** This is a 'thick' binding to the Windows (Win32, I think) API, including the (large) section of it devoted to the Windows GUI environment. As such, it is relatively Windows-specific. This needn't be such a great problem, since the Windows interface is slightly higher-level than most others (e.g. XWS), most (but not quite all) Windows dingen can be implemented on the others (I think this is/was essentially the idea behind Motif). However, Claw, though it may be inexpensive, is a proprietary product. **~~~** I shall be investigating (briefly) the other systems as soon as I can. In the meantime, I hope to be putting up my own skeletal design for this proposed standard onto a WWW site very soon (the next few days, hopefully). I can't make any guarantees on the time-scale, though: as ever, time is not my own! Please bear with me. All the best, -- Nick Roberts ThoughtWing Software, Croydon, UK ThoughtWing@dial.pipex.com