From: Aaron Sloman See text for reply address
Subject: Update: Improved Poplog GUI tools (e.g. dials), and new documentation.
Date: 
Message-ID: <8pufe2$1ttb$1@soapbox.cs.bham.ac.uk>
Posted: 16 Sep 2000
[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

This message is posted to comp.lang.pop, comp.lang.prolog and
comp.lang.lisp, since the Pop-11 graphical interface facilities
described below can be invoked from Poplog Prolog or Poplog Lisp.
(Offers to package this for prolog users are welcome.)

These graphical facilities depend on X and therefore cannot work on
Poplog systems running on PCs running Windows/NT. They will work if
Poplog is run with Linux, Solaris, Digital Unix, HPUX, etc.

There have been a number of recent extensions to the AI/GUI tools
associated with Poplog at the Free Poplog site:

    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html

The changes concern RCLIB (Relative Coordinates Library) providing
2-D graphical tools, and a variety of utilities for building graphical
interfaces, and the SimAgent toolkit.

The Rclib package is available as an add-on to Poplog, in
    http://www.cs.bham.ac.uk/research/poplog/rclib.tar.gz
or
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rclib.tar.gz

The SimAgent toolkit, including Poprulebase, which uses RCLIB for its
interface, is in

    http://www.cs.bham.ac.uk/research/poplog/newkit.tar.gz
or
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/newkit.tar.gz
(It also needs rclib.tar.gz)

Both packages, along with the html version of the Pop-11 primer, and
some additional AI teaching libraries and utilities from Birmingham and
Sussex (vision, neural nets, etc.) and some installation scripts, are
in:

    http://www.cs.bham.ac.uk/research/poplog/popextras.tar
or
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/popextras.tar

A more detailed account of recent changes to Rclib follows, after
backround.

Background information
----------------------

Rclib extends the Pop-11 X window utilities with an object oriented
package supporting "Relative Coordinates", so that programming can be
done in terms of coordinate frames chosen by the user rather than a
pixel-based coordinate frame with origin in top left corner of a window.

Within this framework, Rclib provides a wide variety of tools for
building graphical interfaces (including interface tools used in my
sim_agent toolkit for exploring agent architectures).

Because it is all implemented in Pop-11, and Pop-11 has an incremental
compiler which is part of the run-time system, the package supports
rapid prototyping and interactive development, testing, debugging.

The package does not make any use of motif and therefore can be used
with linux poplog without requiring motif or lesstif.

Rclib makes heavy use of the Objectlass extension to Pop-11, designed by
Steve Leach, providing object-oriented facilities analogous to CLOS
in Common Lisp.

Recent RCLIB changes
--------------------
A major recent extension to the Rclib package has been the addition of
dials, which can be used as an alternative to sliders for displaying, or
interactively altering some portion of a changing program state.
An extension to rc_control_panel (Rclib's alternative to Propsheet)
allows dials to be automatically formatted, along with sliders, text
fields, buttons, etc. A teach file for Rclib dials can be previewed at
    http://www.cs.bham.ac.uk/research/poplog/rclib/teach/rc_dial

Information about rc_control_panel is browsable in:
    http://www.cs.bham.ac.uk/research/poplog/rclib/help/rc_control_panel

There is extensive new documentation on Rclib's event handling, in the
HELP RC_EVENTS, accessible remotely as

    http://www.cs.bham.ac.uk/research/poplog/rclib/help/rc_events

This new file describe the high level design philosophy of event
handling in Rclib (and some recently fixed bugs which were identified as
a result of writing the documentation!). Comments on the philosophy, and
suggestions for improvement are welcome.

Other recent changes are described in
    http://www.cs.bham.ac.uk/research/poplog/rclib/help/rclib_news

including these items:
 -- 10 Sep 2000 Tidied event handling further, new HELP file
 --  2 Sept rc_add_kill_button
 -- 30 Aug 2000 rc_dial
 -- 23 Aug 2000 New facilities leading towards decorations on dials
 -- 20 Aug 2000
 -- -- New facilities for interacting through Ved/Xved files
 -- -- New polygon facilities LIB rc_draw_lines
 -- -- rc_draw_triangle improved, and used in rc_scrolltext
 -- -- New keyword "INVED" for button actions
 -- 3 Aug 2000 New drawing primitives for rectangles and triangles
 -- 23 Jul 2000 various improvements
 -- -- Horizontal and vertical slider blob methods
 -- 21 Jul 2000 More control over fonts, default font sizes reduced
 -- 10 Jul 2000 Various extensions
 -- -- New mixin rc_rotatable_picsonly
 -- -- New method rc_change_picture
 -- 6 Jul 2000 New method rc_shift_window_frame_by
 -- 4 Jul 2000 Improved sliders, scrolltext, rc_control_panel
 -- -- New library rc_opaque_slider
 -- -- Improved rc_display_strings
 -- -- Modified rc_neural demo
 -- 18 Jun 2000 New facilities to support opaque movers
 -- 17 Jun 2000 New drawing procedures: blobs and pointers
 -- 14 Jun 2000 Introduced rc_font_dimensions

Although Rclib is implemented in Pop-11, its utilities can be
accessed via other Poplog languages through their interfaces to
Pop-11, e.g. Prolog, Common Lisp, Standard ML. I will not have time
to develop specific Rclib interface libraries for those other
languages, but I welcome offers from anyone who wishes to.

Another recent change is a new class of "opaque" movable picture
object which overcome some of the oddities associated with using Xor
(or Equiv) for displaying movable objects. The new movable objects
are suitable for use where it is known that the background over
which they move is all of one colour.

There is also a package, built on top of rclib, and also motif-free,
which provides a collection of pre-built extendable autoloadable menu
panels for driving the editor, Pop-11 system, and unix utilities,
available in

    http://www.cs.bham.ac.uk/research/poplog/rcmenu.tar.gz
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rcmenu.tar.gz

I sometimes call this the "Recursive hyper-menu system".

A later message will descrbe recent changes to SimAgent other than
the graphical interface tools using RCLIB.

Aaron
===
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk   (········@please !)
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/
TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
From: Aaron Sloman See text for reply address
Subject: Re: Update: Improved Poplog GUI tools (e.g. dials), and new documentation.
Date: 
Message-ID: <8pvgan$2218$1@soapbox.cs.bham.ac.uk>
[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

In my previous posting, I wrote that the latest version of rclib
could be obtained from

>     http://www.cs.bham.ac.uk/research/poplog/rclib.tar.gz
> or
>     ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rclib.tar.gz

However, this morning I realised that I had forgotten to include
some of the latest documentation files in the package. So if anyone
fetched files dated earlier than these (times are BST = GMT+1 hour)

  8509440 Sep 16 09:54 popextras.tar
   688716 Sep 16 09:53 rclib.tar.gz
        (included in popextras.tar)

Please re-fetch the rclib.tar.gz file.

Sorry.

Aaron
===
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk   (········@please !)
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/
TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html