* WHERE-IS library doc * Gather keyboard files, add VIRTUAL.TEDIT * add UNIXCOMM.TEDIT * rest of TEdit library files * save table of contents index for reworking * Don't move around VIRTUALKEYBOARDS files; will move in separate commit * Add MATMULT from Envos/Medley
429 lines
72 KiB
Plaintext
429 lines
72 KiB
Plaintext
1
|
||
|
||
Lisp Library Modules, Medley Release 1.15, GRAPHER
|
||
1
|
||
|
||
Lisp Library Modules, Medley Release 1.15, GRAPHER
|
||
GRAPHER
|
||
1
|
||
|
||
GRAPHER
|
||
1
|
||
|
||
|
||
GRAPHER
|
||
6
|
||
|
||
Grapher(GRAPHER NIL Grapher NIL NIL 111) contains a collection of functions and an interface for laying out, displaying, and editing graphs, that is, networks of nodes connected by links. Graphs have node labels but not link labels. Links are drawn by default as straight lines without arrowheads, but you can control the appearance of individual links. Node labels can be single lines of text, bitmaps of arbitrary size, or image objects. Facilities exist for calling functions at the nodes in a graph, and image objects containing graphs can be constructed so you can include graphs in documents and other image structures.
|
||
For instance, the Browser(BROWSER NIL Browser NIL NIL 111) module uses graphs to represent function-calling structures(FUNCTION-CALLING% STRUCTURES NIL function-calling% structures NIL NIL 111) (from MasterScope). Such a partially specified node list need have only the graph labels and the links specified. It is given to the LAYOUTGRAPH function along with some formatting information. LAYOUTGRAPH is a Grapher function which assigns a position to each node. There are formats for laying out trees(TREES NIL trees NIL NIL 111), lattices(LATTICES NIL lattices NIL NIL 111), and cyclic graphs(CYCLIC% GRAPHS NIL cyclic% graphs NIL NIL 111). LAYOUTGRAPH returns an instance of the GRAPH record, which is usually given to the function SHOWGRAPH. SHOWGRAPH displays a graph in a window.
|
||
Installation
|
||
1
|
||
|
||
Load GRAPHER.LCOM from the library.
|
||
User Interface
|
||
1
|
||
|
||
A typical way to use Grapher is to implement a function that creates a partially specified list of graph nodes(GRAPH% NODES NIL graph% nodes NIL NIL 111) representing some user data (or control) structure. Then you can use Grapher to display and manipulate or explore that structure.
|
||
Displayed graphs can be edited using the right button on the mouse. Nodes can be added, deleted, moved, enlarged, or shrunk. Links can be added or deleted.
|
||
Displayed graphs are often used as menus: selecting a node with the left or middle button can cause user-provided functions to be called on that node.
|
||
Functions
|
||
1
|
||
|
||
Grapher functions perform the following tasks:
|
||
<EFBFBD><EFBFBD> |