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.