
XPIP 2.2 X Windows GUI development package RELEASE DATE: 1/18/96 DEVELOPER: Greg Lesher (lesher@cns.bu.edu) Enkidu Research, Inc. 2250 N. Triphammer Rd. #N3A Ithaca, NY 14850 FTP SITES: ftp://cns-ftp.bu.edu/pub/xpip/xpip-2.2.tar.gz (215 kb) ftp://cns-ftp.bu.edu/pub/xpip/xpip-2.2a.tar.gz (87 kb) ftp://cns-ftp.bu.edu/pub/xpip/xpip-2.2_man.ps.gz (128 kb) ftp://cns-ftp.bu.edu/pub/xpip/xquiz-1.2.tar.gz (12 kb) ftp://cns-ftp.bu.edu/pub/xpip/xcontour-1.0.tar.gz (14 kb) ftp://cns-ftp.bu.edu/pub/xpip/xip-0.2.tar.gz (44 kb) WEB PAGE: http://cns-web.bu.edu/pub/xpip/html/xpip.html DESCRIPTION The X Portable Interface Package (XPIP) is a GUI system designed as a reasonable alternative to other freeware packages, with a balance tilted towards ease-of-use over sophistication. Any programmer with elementary knowledge of the X Window libraries should be able write XPIP application programs with minimal training. Included with this release are the complete base files, a demonstration application framework, and a postscript user's manual. The downloadable xpip_demos package contains a number of workable demonstration programs. INSTALLATION I recommend printing out and reading the XPIP user's manual from the doc directory (or checking out the online manual and installation guide at the above Web site) before attempting to install the system. However, installation should be as easy as following the brief README instructions in the src, src2, demo, and demo2 directories. DIFFERENCES BETWEEN VERSION 2.2 and VERSION 2.1 Version 2.2 of XPIP includes a number of new options and features, as well as several bug fixes. The major changes are outlined below. DIALOG PANELS (BOXES) Pre-configured panels and libraries for file selection, font selection, and message display are provided with the version 2.2 release. By linking these libraries to the application at compile time, the application can access these rudimentary dialog boxes through a series of convenience functions. Full documentation is included in the user's manual. DEFAULT STACK Added method of temporarily changing default widget values within configuration files (.if files) using a stack analogy. Users may now PUSH the old defaults onto a stack, set temporary values using the same DEFAULT command used in the xpip.cf file, then POP back the old values wheneverx appropriate. The syntax is: DEFAULT PUSH DEFAULT BUTTON WIDTH 50 . . DEFAULT POP This technique is extremely useful for configuring a block of widgets which have similar features to each other, but which differ from other widgets in an application. NESTED IF DEFINITIONS Implemented the new configuration file (.if) command FILE, which allows users to specify configuration subfiles as follows: FILE panels/test.if This is useful for breaking up large configuration files into more manageable units, as well as for reusing the same widgets blocks in multiple panels. DELTA SIZING Altered the previous method of sizing widgets relative to one another (via the TAFFY descriptor) by adding the DELTA command. In previous versions, relative spacing and sizing was handled by the SPACE command, which prevented simultaneous manipulation of these two domains. In version 2.2, the SPACE command affects only positioning, while the DELTA command affects only sizing. The -pip_v_2_1 command line argument was added so that version 2.1 configuration files (.if files) can still be used without change. GRAPHICAL LABEL WIDGETS The PIXMAP and BITMAP commands were extended to encompass label widgets as well as button widgets. Graphical label widgets are positioned using standard positioning commands, not the text justification commands used for positioning of textual labels. COLOR DEFINITIONS Augmented the method of defining various widget colors using the ZCOLOR command by allowing RGB and string color definitions. Thus ZCOLOR FONT 255 100 200 ZCOLOR BODY purple are now valid definitions. String colors must appear in the standard X11 rgb.txt file. If the RGB or sting color has not been defined previously, a new widget color will be allocated for it. New color names can be defined in the xpip.cf file or any time in a configuration (.if) file using the new COLOR DEF subcommand: COLOR DEF off_white 255 230 230 COLOR REDEF off_white 255 220 220 A new widget color will be allocated for each new DEF, which can then be referred to by name using ZCOLOR. The REDEF subcommand allows for resetting of previously defined colors. FONT DEFINITIONS Augmented the methods of defining fonts in a manner analogous to that for defining colors. Font names can be defined using control commands, such as FONT DEF large_font <x_font_descriptor> FONT REDEF large_font <x_font_descriptor> and then can be used in configuration commands, such as FONT PRIME large_font Note that font definition is not exactly like color definition, in that the <x_font_descriptor> cannot be used directly in a configuration command. DATA EDITING The contents of data widgets can now be editing by selecting the characters of interest using the mouse. Subsequent typing will replace only those characters selected, as opposed to the entire text as in versions prior to XPIP 2.2. Partial editing is enabled via: ALTER EDIT Only fixed pitch fonts may be used in a data widget for which partial editing is enabled. DOUBLE BUFFERING Changed the double-buffering scheme to (a) allow all non-composite widgets to be corrently double-buffered and (b) allow both per-widget and per-panel double-buffering. -pip_widget use per-widget double-buffering -pip_panel use per-panel double-buffering The former paradigm, used by versions prior to 2.2, uses a single common pixmap for all widget redrawing. Conversely, the latter version maintains a complete copy of each panel in a dedicated pixmap. OTHER CHANGES Added an OUTLINE option for data widgets which gives the widget a Windows- like outlined appearance instead of the Motif-like recessed appearance. Added a HORIZONTAL option for list widgets which provides a horizontal scroll bar (in addition to standard vertical scroll bar), for browsing of text wider than the list widget. Genericized label and string widget fields to allow variable length character strings. Added better bounds checking for loading .if file commands. Added statements to ensure that <sys/select.h> gets included on all systems. Removed old ALTER DIGIT format in SLIDER and DATA widgets which allowed users to specify numeric decimal formats via obscure letter codes. BUG FIXES Previous versions of XPIP would not work properly on all systems using 24 bit color (more specifically, those not having an available 8 bit visual). This has been remedied. When loading bitmaps for button graphics, XPIP used to check both CONTROL and USABLE colors for matches. Assignation of a USABLE color could result in an undesirable color change during application color manipulations. In version 2.2, USABLE colors are not used for button graphics. List widgets of over 16 lines in version 2.1 caused a memory leak which often resulted in crashes. This leak has been eliminated. KNOWN BUGS IN VERSION 2.2 No known bugs. COMMENTS Please address any comments or bug reports to Greg Lesher at: lesher@cns.bu.edu COPYRIGHT See COPYRIGHT file.