FAQ for XPCE Contents: A) What is XPCE? B) Languages and portability C) Installation problems? D) Documentation? **************************************************************** A) What is XPCE **************************************************************** PCE is an object-oriented library for the development of user interfaces, meant to be connected to symbolic languages. The development of PCE started in 1985. Since then, various major releases have been designed and implemented. New functionality was guided by research into software architectures for complex interactive systems. PCE has been used in various large (ESPRIT) projects and projects at over 50 universities worldwide. PCE is written in C and based on the X-window environment. PCE can be used interactively. It is, for example, possible to modify user interfaces on-the-fly. PCE provides a rich set of predefined classes, dealing with: * Windows * Graphical objects (boxes, lines, circles, bitmaps, text, ...) * Menu's (buttons, radio-buttons, pulldown/popup menus, ...) * Data representation (hash-tables, chains, name/value sheets, ...) * Programming PCE (classes, methods, instance-variables, ...) It allows for two complementary styles of programming UI's: one can either use the existing set of classes and objects as a library or refine PCE's class hierarchy. New PCE classes and methods can be created at runtime. Methods can be implemented using PCE objects or in the symbolic language (Prolog or Lisp; called the ``host language''). PCE interfaces to the host language through a very small interface. It can normally be connected in a matter of days to any symbolic programming environment, although access to the sources/developers of the environment is desirable for proper interaction between the debuggers of the host-language and PCE. **************************************************************** B) Languages and portability **************************************************************** 1) To what languages has XPCE been connected? 2) Which window environments? 3) Which hardware/OS? ================================================================ 1) To what languages has XPCE been connected? Prolog: SICStus, Quintus and SWI-Prolog Lisp: Lucid CommonLisp and Harlequin CommonLisp ================================================================ 2) Which window environments? X11 and compatible: X11R3 .. X11R5, Openwindows 2 and 3, OSF/Motif, XFree 1.2 and 1.3. ================================================================ 3) Which hardware/OS? XPCE is portable to any Unix system running X11 or a compatible window system with sufficiently large memory resources. It currently compiles on: SunOs 4.1.x and 5.2.x (Solaris 2.2) AIX 3.2 Linux 99pl7 and above (Free Unix for 386 PC's) Iris On all these systems, XPCE looks the same to the programmer and XPCE application user. Saved object are portable (i.e. may be reloaded onto another system, even with different byte-order). XPCE requires about 4 MB memory (excluding Prolog or Lisp) for simple applications. Hardware is unimportant, but it doesn't like segmented memory (for PC's it requires true 386 mode). **************************************************************** C) Installation problems **************************************************************** 1) SWI-Prolog loops typing ^? to the terminal after typing ^D 2) manpce/0 fails complaining about fonts 3) when opening a window, XPCE complains about the authorisation ================================================================ 1) SWI-Prolog loops typing ^? to the terminal after typing ^D (SunOs) You did not install the fixed include files for gcc. See `make includes' in the GCC distribution. Install these first. Then reinstall prolog and/or xpce. ================================================================ 2) manpce/0 fails complaining about fonts The resource file Pce is not installed in a place where the X11 libraries look for it. These places are: 1) Your home directory 2) Directories from the variable $XAPPLRESDIR 3) /usr/lib/X11/app-defaults Install this `Pce' in one of these directories and ensure you have read access to it. ================================================================ 3) when opening a window, XPCE complains about the authorisation Check your $DISPLAY variable. XPCE/Prolog does not recogniser the -d display command-line switch. Check permissions from the X-server, either using xhost or ~/.Xauthority. Check whether you can start an xterm or other common X11 application from the same shell as you try to run XPCE. **************************************************************** D) Documentation **************************************************************** 1) What documentation is available? 2) How to obtain documentation? ================================================================ 1) What documentation is available? # [1] ``Programming in PCE/Prolog'' Introduction in programming PCE/Prolog Split into 15 page units for printers with limited memory. # [2] ``PCE-4 Functional overview'' General overview of PCE's functionality. # [3] ``User Defined Classes Manual'' Interface for defining PCE classes from Prolog. (Draft). # [4] ``XPCE Reference Manual'' DRAFT Edition 0 for xpce-4.5.11 Draft of the reference manual. Covering all of XPCE's functionality, but still has may incomplete references, unclear descriptions and typos. No printed version yet. # [5] ``Interfacing PCE to a Programming Language'' Explains how PCE may be connected to another (symbolic) programming language. This connection is established through C. # [6] ``PCE / Common Lisp Interface'' Interface definition between PCE and Lisp implementations adhering to the Common Lisp standard (Steele II). Implemented for Lucid Common Lisp and Harlequin LispWorks. 2) How to obtain documentation? * All documentation is available as TeX generated PostScript for 300 DPI devices using anonymous ftp to swi.psy.uva.nl. See directory pub/xpce/doc. The reference manual is also available as a TeX .dvi file in pub/xpce/doc/refman/refman.dvi.gz * [1], [2] and [6] are available as printed documents from Department of SWI University of Amsterdam Roetersstraat 15 1018 WB Amsterdam The other documents are not yet printed.