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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,6a34ccef9b642ce7,start X-Google-Attributes: gid103376,public From: John English Subject: Announce: JEWL Date: 2000/04/11 Message-ID: <38F35567.89A360DF@brighton.ac.uk>#1/1 X-Deja-AN: 609710554 Content-Transfer-Encoding: 7bit X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: news@bton.ac.uk X-Trace: saturn.bton.ac.uk 955471182 16649 194.81.199.181 (11 Apr 2000 16:39:42 GMT) Organization: University of Brighton Mime-Version: 1.0 NNTP-Posting-Date: 11 Apr 2000 16:39:42 GMT Newsgroups: comp.lang.ada Date: 2000-04-11T16:39:42+00:00 List-Id: JEWL (John English's Window Library) is a set of Ada packages designed to enable novices to develop GUI-based applications for MS Windows. Students are often frustrated by the fact that the Ada standard libraries only provide text-based I/O facilities; they want to develop modern-looking programs with a GUI, and complain about learning Ada rather than VB or Java as a result. JEWL is intended as a remedy for this. Existing bindings to Windows are intended for production use rather than educational use, and as such they are designed to be complete, flexible and efficient. A side effect of this is that the learning curve is too steep to use these packages with beginners. JEWL is deliberately designed NOT to be complete or particularly flexible but rather to be easy to learn and to use from the "Hello world" stage onwards. This will hopefully make learning Ada a bit more exciting for students. There are two primary packages: JEWL.IO is a replacement for Text_IO which uses GUI dialog boxes for input and echoes all input to the standard output; JEWL.Windows is the main GUI package (and all the JEWL.IO dialogs are built using the facilities in this package). The approach taken is that most controls (editboxes, checkboxes, listboxes and so on) are interactive visual representations of string and Boolean variables (or arrays thereof) and that other controls (buttons, menu items) generate scalar command codes, making programs similar in structure to ones which use a menu driven text interface (a loop which gets user choices and then acts on them). Example programs included with the distribution include a simple sketchpad, a basic text editor and a calculator. The distribution is under the terms of the GNU GPL and has been tested with GNAT for Windows 95/NT. It should work with ObjectAda as well, but I haven't been able to confirm this. Documentation is online at http://www.it.bton.ac.uk/staff/je/jewl/ and the source distribution (which includes the documentation and examples) is at ftp://ftp.bton.ac.uk/pub/je/jewl-11.zip. Although the current implementation is for Windows, there is nothing platform specific in the package specifications. If anyone fancies porting it to the Mac (or, as Mike Feldman suggested, the AWT for use with JGNAT), just let me know... ;-) The source code may also be of interest to readers of this group, as it uses features discussed here recently: private packages, tagged types, tasks and protected types, controlled types, reference counted objects, and so on. Your comments are welcomed! ----------------------------------------------------------------- John English | mailto:je@brighton.ac.uk Senior Lecturer | http://www.comp.it.bton.ac.uk/je Dept. of Computing | ** NON-PROFIT CD FOR CS STUDENTS ** University of Brighton | -- see http://burks.bton.ac.uk -----------------------------------------------------------------