NAME¶
xpce - Prolog with graphical user interface (GUI)
SYNOPSIS¶
xpce prolog-option ...
DESCRIPTION¶
XPCE is a language independant library for GUI (Graphical User Interfaces). This
manual page discusses XPCE/Prolog: the combination of a Prolog environment and
XPCE.
XPCE is an object-oriented engine that can have methods defined in various
languages. XPCE has about 150 predefined classes that deal mainly with GUI's.
The object engine of XPE is made available to Prolog using the following
predicates:
Predicates:¶
- new(?Ref, +Term)
- Create an XPCE object from Term and bind the object
to the reference Ref. The functor-name of Term describes the
class from which to create an instance. The arguments of Term are
used as initialisation arguments for the new object. If the object was
created successfully and Ref is a variable, Ref will be
unified with the term @<RefNumber>. If Ref is a term of the
form @<Atom>, this term will serve as a reference for the new
object.
For example ?- new(@p, picture('Hello World'). Creates a graphical
window object with title "Hello World".
- send(+Ref, +Selector, +Args...)
- Ref is a reference to an existing XPCE object.
Selector is the name of a (send-)method defined on (the class of)
this object and Args are terms that describe arguments to be passed
to the method.
send/[2-12] will convert the arguments to XPCE data objects, resolve
the procedure (C-function, Prolog predicate) implementing the method and
run the implementation. If the execution is successful, send
succeeds, otherwise send fails.
For example ?- send(@p, open, point(400,100)). opens the
picture created above at position 400,100 on the display.
- get(+Ref, +Selector, +Args ..., -Value)
- Ref is a reference to an existing XPCE object.
Selector is the name of a (get-)method defined on (the class of)
this object and Args are terms to provide additional arguments.
get/[3-13] works similar as send/[2-12] but returns a value
rather than succeeding/failing (boolean operation).
For example get(@p, height, H). Unifies H with the height of
the graphical window.
- free(+Ref)
- If Ref is a reference to an XPCE object, invoke
send(Ref, free). to the object. Otherwise succeed silently.
SEE ALSO¶
XPCE's web-home at
http://www.swi.psy.uva.nl/projects/xpce/
Jan Wielemaker and Anjo Anjewierden
Programming in XPCE/Prolog,
University of Amsterdam, Dept. of Social Science and Informatics (SWI).
Jan Wielemaker
SWI-Prolog 4.0 Reference Manual. Available from the
SWI-Prolog web-home at
http://www.swi.psy.uva.nl/projects/SWI-Prolog/
The online manual system started with
?- manpce. or
?- user_help
on Quintus or SICStus Prolog.
The XPCE WWW home page:
http://swi.psy.uva.nl/projects/xpce/home.html
xpce-client(1), pl(1)
COPYING¶
XPCE is distributed under the General Public Licence version 2, also known as
the
GPL-2 licence. The license terms are in the file
COPYING or
on the GNU website at
http://www.gnu.org.
In a nutshell, you can modify and use XPCE as long as you clearly indicate
changes, don't change copyright messages and
distribute the complete source
of your work with every binary copy or make the source in some other
form available for free to your users
Especially if you do not wish to distribute the source of your work you may wish
to consider optaining a
commercial license. Please visit the SWI-Prolog
home-page for details.
COPYRIGHT¶
Copyright (c) 1985-2001 University of Amsterdam.
AUTHOR¶
Jan Wielemaker and Anjo Anjewierden