packages icon

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.