TASH: a free platform-independent graphical user interface development toolkit for Ada

TRI-Ada Pub Date : 1996-12-01 DOI:10.1145/240678.240714
Terry J. Westley
{"title":"TASH: a free platform-independent graphical user interface development toolkit for Ada","authors":"Terry J. Westley","doi":"10.1145/240678.240714","DOIUrl":null,"url":null,"abstract":"A platform-independent Application Programming Interface (API) for developing Graphical User Interfaces (GUI) is described. This API includes a complete \"thin\" binding to Tel and an experimental \"thick\" binding to Tk from Ada 95. Several features of Ada 95 such as access to subprograms, tagged types, and interface to C were used in this binding. What is a PIGUI? A Platform-Independent Graphical User Interface (PIGUI) toolkit is a software library that a programmer uses to produce GUI code for multiple computer systems. The toolkit presents functions and/or objects (along with a programming approach) which is independent of which GUI the programmer is targeting ... Native look-and-feel is a desirable feature. but is not essential for PIGUis. [4] Examples of PIGUis Some PIGUis currently available for Ada are Screen Machine from Objective Interface Systems (info@ois.com) and OpenUI from Open Software Associates (http://www.osa.com.au). Perhaps the \"hottest\" PIGUI being discussed today among Internet programmers is the Java A WT (Abstract Window Toolkit) from Sun Microsystems (http://java.sun.com). Introduction to TASH TASH [8] is a binding to Tcl!Tk [6] from Ada (requires Ada 95). This binding allows a Tcl!Tk program to use Ada in place of C to implement Tel command procedures. This may be done to increase execution speed, use complex data structures not available in Tel, and to otherwise use capabilities of Ada not found in Tel. It also makes the Tel/Tk library functions available to an Ada program. These include string and list handling. regular expression matching. hash tables, and (most important for this discussion) access to a graphical user interface toolkit. P~nnission to rnak~ digital:hard copi<!s of all or part elf this \\mrk I<.Jr p<!rsonal or dassroom us.: is grant<!d without k<! provid<!d that copi.:s ar<! not mad<! or distrihut<!d tilr prolit or conun.:rcial advantag<!. th<! .:op~Tight notic~. th~ till~ oftht.: puhlicatitlll and its dati.! app~ar. and notic~ is giv~n that ,·opying is hy p<!nnissi<lll of ACM. Inc. To copy oth<!rwis.:. to r~publish. to post on s.:rv.,rs or to r.:distrihuk Ill lists. r<!quir<!s prior sp.:cilic pt.!nnission and/or a 1;.:.1.!'_ '(~19% ACM O-X9791-X08-8/%/0012 3.50 165 The binding to Tel is a complete, thin 1 binding to Tel version 7.5a2. Work is progressing on upgrading it to version 7.5. Thicker binding support is provided by using Ada data types and exceptions for error handling in overloaded subprograms. The binding to Tk is an experimental thick binding to Tk version 4.la2. This paper describes a sample Tk program and discuses some of the rationale for decisions made in designing this binding. Introduction to Tci!Tk Tcl!Tk is [8]: Free: the source code is copyrighted by the Regents of the University of California and Sun Microsystems and is freely available (via anonymous ftp) with few restrictions, Interpreted: although experimental compilers are available (and the TcUTk development group at Sun plans to build one), the code is more commonly interpreted. General purpose: provides general programming facilities such as variables, iteration, condition evaluation, and procedures, Extensible: the language can be easily extended in Tel as well as in C. One of the most popular extensions is Tk, a toolkit for building graphical user interfaces based on the X Window System, Microsoft Windows, and Macintosh, Embeddable: its interpreter is implemented as a library of C functions which can be incorporated into and extended by a larger application. Portable: beginning with Tcl7.5 and Tk4.1. the core TcUTk system is available for Macs and PCs as well as for Unix. Some of the advantages of using Tel in an application are: Rapid development: Because of its extensibility and availability of add-on packages, Tel, along with Tk, provide a higher level language than C. Being an interpreted language also results in quicker turn-around than the traditional edit-compile-link-test cycle of software development. System integration: Tel makes an excellent language for integrating several programs into one single user environment. Because it is embeddable. Tel can also serve as an inter-application language. Many also hope it to be used in the future as an internetworking software agent language. User programming: Where appropriate, users can program an application directly in the scripting language. Many very I A \"thin\" binding attempts to faithfully provide a one-to-one mapping to each data type. function call. and object in the target system. successful applications, such as AutoCad and Excel. provide user-level programming through a custom language. With Tel, the application designer can provide for user programming without having to design and implement a new language. Platforms With introduction of Tel 7.5 and Tk 4.1. Tcl!fk: is available for Macintosh and PC platforms in addition to Unix [7]. Source code can be downloaded for many platforms. Binary programs and libraries are also available for Macs and PCs. The T ASH binding has been built with the freely available GNU New York University Ada Translator (GNAT) [5]. This system is available for several Unix variants and PCs running Windows 3.1 and Windows 95. It is also available for the MachTen operating system on Macs. TASH itself is distributed as source code so that it may be built in any system that supports both Tclffk and GNAT. See Appendix A for instructions for downloading and building TASH. Sample Tci/Tk program Figure 1 shows the window created when a sample TcUTk program, timer. is executed. This program was adapted from the timer program included with the Tk distribution. It implements a simple stop watch which has the ability to start. stop, and reset a timer.","PeriodicalId":429060,"journal":{"name":"TRI-Ada","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"TRI-Ada","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/240678.240714","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

A platform-independent Application Programming Interface (API) for developing Graphical User Interfaces (GUI) is described. This API includes a complete "thin" binding to Tel and an experimental "thick" binding to Tk from Ada 95. Several features of Ada 95 such as access to subprograms, tagged types, and interface to C were used in this binding. What is a PIGUI? A Platform-Independent Graphical User Interface (PIGUI) toolkit is a software library that a programmer uses to produce GUI code for multiple computer systems. The toolkit presents functions and/or objects (along with a programming approach) which is independent of which GUI the programmer is targeting ... Native look-and-feel is a desirable feature. but is not essential for PIGUis. [4] Examples of PIGUis Some PIGUis currently available for Ada are Screen Machine from Objective Interface Systems (info@ois.com) and OpenUI from Open Software Associates (http://www.osa.com.au). Perhaps the "hottest" PIGUI being discussed today among Internet programmers is the Java A WT (Abstract Window Toolkit) from Sun Microsystems (http://java.sun.com). Introduction to TASH TASH [8] is a binding to Tcl!Tk [6] from Ada (requires Ada 95). This binding allows a Tcl!Tk program to use Ada in place of C to implement Tel command procedures. This may be done to increase execution speed, use complex data structures not available in Tel, and to otherwise use capabilities of Ada not found in Tel. It also makes the Tel/Tk library functions available to an Ada program. These include string and list handling. regular expression matching. hash tables, and (most important for this discussion) access to a graphical user interface toolkit. P~nnission to rnak~ digital:hard copi
TASH:一个免费的独立于平台的Ada图形用户界面开发工具包
二进制程序和库也可用于mac和pc。T - ASH绑定是使用免费的GNU New York University Ada Translator (GNAT)[5]构建的。该系统可用于多种Unix变体以及运行Windows 3.1和Windows 95的pc机。它也适用于mac上的MachTen操作系统。TASH本身是作为源代码发布的,因此它可以构建在同时支持Tclffk和GNAT的任何系统中。有关下载和构建TASH的说明,请参见附录A。示例Tci/Tk程序图1显示了示例ttk程序创建时的窗口,计时器。是执行。该程序改编自Tk发行版中包含的定时器程序。它实现了一个具有启动能力的简单秒表。停止,并重置计时器。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书