Welcome to the "ButtonFace Library" for Motif! This is version 1.0. If you're in doubt, the primary source of this library is ftp.informatik.rwth-aachen.de (137.226.225.3) The source is in: /pub/packages/ButtonFaceLib/ButtonFaceLib.tar.gz This is our campus server in Aachen, Germany. From outside Europe please also contact: ftp.x.org (198.112.44.100) There you'll find the source in: /contrib/widgets/motif/ButtonFaceLib/ButtonFaceLib.tar.gz There are many local ftp servers that mirror the /contrib directory. Thus with a delay of one or two days you'll also find the source on many other ftp sites. You'll also need Andre Le Hors Xpm library. If you don't already got it then you can download it from: ftp.x.org (198.112.44.100) source is in: /contrib/libraries/xpm-3.4?.tar.gz where ? is a letter representing something like the patch level. PLEASE READ THIS INFORMATION CAREFULLY. IT ALWAYS CONTAINS THE MOST RECENT INFORMATION. What is the "ButtonFace Library"? The "ButtonFace Library" eases the process of creating pictural push buttons as well as pictural labels and message dialogs. Pictural push buttons are like ordinary push buttons but they show a tiny picture instead of text. This picture may change accordingly to the button's actual state (normal, armed or insensitive). To use this in your own applications you can either use only predefined pictures which are included in the "ButtonFace Library": Ok, Cancel, Abort, Retry, Ignore, Yes, No, Help. Or you can craft your own pixmaps with one of the numerous picture editors (e.g. pixmap or xpaint) and then use it with a push button. To create such a pictural push button you need only one function call to a convenience function. The same applies also to pictural label widgets. In every case the pixmaps' background will be set to the button's background. To provide a consistent look-and-feel the "ButtonFace Library" also features new message dialogs which behave much like the ones known from Motif. This time the new dialogs use pictural push buttons and display much nicer icons to indicate the sort of message (warning, error,...). In addition you may also create the message dialog and get the user's answer with just one line of code with the help of a new convenience function. Moreover the "ButtonFace Library" eases the process of localizing an application: you can specify the push button's pixmaps in resource files. This enables you to switch to another language with no pain. What do I need? - Motif at least ;-) This should be Motif 1.1 or 1.2 but since the "ButtonFace Library" only uses documented calls it should also work seamless with the upcomming Motif 2.0 (if it ever comes...) - The Xpm package ready installed. - An ANSI C compliant compiler: gcc for example. - (some) artistic skills will help very much when crafting the pixmaps to be used with your own pictural push buttons. How to proceed? You should download the archive file ButtonFaceLib.tar.gz if you don't have already done it. Then use gunzip ButtonFaceLib.tar.gz to uncompress the file. Create somewhere in your directory tree a new directory ("ButtonFaceLib" for example), then cd to this new directory and unpack the archive with tar xfo ButtonFaceLib.tar If you are very impatient (as 100-epsilon % of all programmers) you can take a quick look at the fancy pictural push buttons by doing a make demo and afterwards a ./demo This will show all available predefined push buttons as well as some variants of the message dialogs. If you have seen enough you should take a deeper look at the comprehensive manual. You'll find it in ButtonFaceLib.dvi. If you can't process dvi files you can download a ps file from ftp.informatik.rwth-aachen.de with the name: pub/packages/ButtonFaceLib/ButtonFaceLib.ps.gz This manual covers on more than 20 pages how to use pictural push buttons, how to create your own ones and how to use message dialogs. An addition chapter describes the new widget class called XmCenter which lays out it's children in a row or a column centered between it's borders. P.S.: This software is Free Software. Please refer to the file COPYING, which you should have received together this file and the source code of the combo box widget. However if you find this library to be usefull, you are encouraged to donate a reasonable amount to a charitable institution -- there are enough people out there who need help! Sometimes I got the strong impression that programmers tend to get lost in their own "virtual reality" - sitting in front of their screen, hacking new algorithms and forget about everything around them. So please don't forget about people who need help. (c) 1994 Harald Albrecht Institut fuer Geometrie und Praktische Mathematik Rheinisch-Westfaelische Technische Hochschule Aachen, D-52056 Aachen, Germany albrecht@igpm.rwth-aachen.de Bad Aachen -- Die Stadt der Printe. Warum Aachen ein Kurbad ist? -- Wieso Kurbad? "Bad" heisst doch nur, dass es hier staendig regnet (wenn es eben 'mal nicht schneit...)