/* objects - Additional object functions */
/* XLISP-STAT 2.1 Copyright (c) 1990, by Luke Tierney */
/* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */
/* You may give out copies of this software; for conditions see the */
/* file COPYING included with this distribution. */
#include "xlisp.h"
#include "xlstat.h"
/* external variables */
extern LVAL s_true, s_selecting;
VOID init_objects(V)
{
LVAL root_object = init_root_object();
LVAL hardware_object, window;
#ifdef MACINTOSH
LVAL edit_window, listener;
#endif /* MACINTOSH */
LVAL menu;
#ifdef MACINTOSH
LVAL apple_menu;
#endif /* MACINTOSH */
LVAL menu_item, dialog, dialog_item, button_item, toggle_item;
LVAL text_item, choice_item, scroll_item, list_item;
LVAL iview_window, iview, iview_spin, iview_scatmat, iview_list;
LVAL iview_hist, scatterplot, compound_data;
/* *OBJECT* */
xsaddmsg(root_object, ":GET-METHOD");
xsaddmsg(root_object, ":REPARENT");
xsaddmsg(root_object, ":HAS-SLOT");
xsaddmsg(root_object, ":HAS-METHOD");
xsaddmsg(root_object, ":ADD-SLOT");
xsaddmsg(root_object, ":DELETE-SLOT");
xsaddmsg(root_object, ":ADD-METHOD");
xsaddmsg(root_object, ":DELETE-METHOD");
xsaddmsg(root_object, ":SHOW");
xsaddmsg(root_object, ":ISNEW");
xsaddmsg(root_object, ":PARENTS");
xsaddmsg(root_object, ":PRECEDENCE-LIST");
xsaddmsg(root_object, ":OWN-SLOTS");
xsaddmsg(root_object, ":OWN-METHODS");
xsaddmsg(root_object, ":INTERNAL-DOC");
xsaddmsg(root_object, ":MAKE-PROTOTYPE");
#ifndef NOGRAPHICS
/* HARDWARE-OBJECT-PROTO */
hardware_object = xsnewproto("HARDWARE-OBJECT-PROTO", root_object);
xsaddinstanceslot(hardware_object, "HARDWARE-ADDRESS");
xsaddinstanceslot(hardware_object, "SUBORDINATES");
xsaddmsg(hardware_object, ":CLOBBER");
xsaddmsg(hardware_object, ":ALLOCATE");
xsaddmsg(hardware_object, ":DISPOSE");
/* WINDOW-PROTO */
window = xsnewproto("WINDOW-PROTO", hardware_object);
xsaddinstanceslot(window, "GO-AWAY");
xsaddinstanceslot(window, "SIZE");
xsaddinstanceslot(window, "LOCATION");
xsaddinstanceslot(window, "TITLE");
xsaddmsg(window, ":SHOW-WINDOW");
xsaddmsg(window, ":HIDE-WINDOW");
xsaddmsg(window, ":CLOSE");
xsaddmsg(window, ":TITLE");
xsaddmsg(window, ":LOCATION");
xsaddmsg(window, ":SIZE");
xsaddmsg(window, ":FRAME-LOCATION");
xsaddmsg(window, ":FRAME-SIZE");
xsaddmsg(window, ":UNDO");
xsaddmsg(window, ":CUT-TO-CLIP");
xsaddmsg(window, ":COPY-TO-CLIP");
xsaddmsg(window, ":PASTE-FROM-CLIP");
xsaddmsg(window, ":CLEAR");
xsaddmsg(window, ":PASTE-STREAM");
xsaddmsg(window, ":PASTE-STRING");
xsaddmsg(window, ":SELECTION-STREAM");
xsaddmsg(window, ":ACTIVATE");
xsaddmsg(window, ":UPDATE");
xsaddmsg(window, ":FIND");
#ifdef MACINTOSH
/* EDIT-WINDOW-PROTO */
edit_window = xsnewproto("EDIT-WINDOW-PROTO", window);
xsaddinstanceslot(edit_window, "BIND-TO-FILE");
xsaddinstanceslot(edit_window, "OUTPUT-STREAM");
xsaddinstanceslot(edit_window, "INPUT-ENABLED");
xsaddmsg(edit_window, ":ISNEW");
xsaddmsg(edit_window, ":ALLOCATE");
xsaddmsg(edit_window, ":CUT-TO-CLIP");
xsaddmsg(edit_window, ":COPY-TO-CLIP");
xsaddmsg(edit_window, ":PASTE-FROM-CLIP");
xsaddmsg(edit_window, ":REVERT");
xsaddmsg(edit_window, ":SAVE");
xsaddmsg(edit_window, ":SAVE-AS");
xsaddmsg(edit_window, ":SAVE-COPY");
xsaddmsg(edit_window, ":PASTE-STREAM");
xsaddmsg(edit_window, ":PASTE-STRING");
xsaddmsg(edit_window, ":FLUSH-WINDOW");
xsaddmsg(edit_window, ":SELECTION-STREAM");
xsaddmsg(edit_window, ":CLOSE");
xsaddmsg(edit_window, ":REMOVE");
xsaddmsg(edit_window, ":DISPOSE");
xsaddmsg(edit_window, ":ACTIVATE");
xsaddmsg(edit_window, ":UPDATE");
xsaddmsg(edit_window, ":FIND-STRING");
/* LISTENER-PROTO */
listener = xsnewproto("LISTENER-PROTO", edit_window);
xsaddinstanceslot(listener, "INPUT-STREAM");
xsaddmsg(listener, ":ISNEW");
xsaddmsg(listener, ":ALLOCATE");
xsaddmsg(listener, ":CLOSE");
xsaddmsg(listener, ":REMOVE");
xsaddmsg(listener, ":DISPOSE");
#endif /* MACINTOSH */
/* MENU-PROTO */
menu = xsnewproto("MENU-PROTO", hardware_object);
xsaddinstanceslot(menu, "ID");
xsaddinstanceslot(menu, "ENABLED");
xsaddinstanceslot(menu, "ITEMS");
xsaddinstanceslot(menu, "TITLE");
xsaddslot(menu, "MENU-LIST");
xsaddmsg(menu, ":ISNEW");
xsaddmsg(menu, ":ALLOCATE");
xsaddmsg(menu, ":DISPOSE");
xsaddmsg(menu, ":INSTALL");
xsaddmsg(menu, ":REMOVE");
xsaddmsg(menu, ":ENABLED");
xsaddmsg(menu, ":UPDATE");
xsaddmsg(menu, ":ALLOCATED-P");
xsaddmsg(menu, ":TITLE");
xsaddmsg(menu, ":ITEMS");
xsaddmsg(menu, ":INSTALLED-P");
xsaddmsg(menu, ":APPEND-ITEMS");
xsaddmsg(menu, ":DELETE-ITEMS");
xsaddmsg(menu, ":SELECT");
xsaddmsg(menu, ":POPUP");
#ifdef MACINTOSH
/* APPLE-MENU-PROTO */
apple_menu = xsnewproto("APPLE-MENU-PROTO", menu);
xsaddmsg(apple_menu, ":ISNEW");
xsaddmsg(apple_menu, ":SELECT");
#endif /* MACINTOSH */
/* MENU-ITEM-PROTO */
menu_item = xsnewproto("MENU-ITEM-PROTO", root_object);
xsaddinstanceslot(menu_item, "MENU");
xsaddinstanceslot(menu_item, "ENABLED");
xsaddinstanceslot(menu_item, "ACTION");
xsaddinstanceslot(menu_item, "STYLE");
xsaddinstanceslot(menu_item, "MARK");
xsaddinstanceslot(menu_item, "KEY");
xsaddinstanceslot(menu_item, "TITLE");
xsaddmsg(menu_item, ":ISNEW");
xsaddmsg(menu_item, ":TITLE");
xsaddmsg(menu_item, ":KEY");
xsaddmsg(menu_item, ":MARK");
xsaddmsg(menu_item, ":STYLE");
xsaddmsg(menu_item, ":ACTION");
xsaddmsg(menu_item, ":ENABLED");
xsaddmsg(menu_item, ":INSTALLED-P");
xsaddmsg(menu_item, ":UPDATE");
xsaddmsg(menu_item, ":DO-ACTION");
/* DIALOG-PROTO */
dialog = xsnewproto("DIALOG-PROTO", window);
xsaddinstanceslot(dialog, "DEFAULT-BUTTON");
xsaddinstanceslot(dialog, "ITEMS");
xsaddinstanceslot(dialog, "TYPE");
xsaddslot(dialog, "DIALOG-LIST");
xsaddmsg(dialog, ":ISNEW");
xsaddmsg(dialog, ":ALLOCATE");
xsaddmsg(dialog, ":REMOVE");
xsaddmsg(dialog, ":DISPOSE");
xsaddmsg(dialog, ":CLOSE");
xsaddmsg(dialog, ":ALLOCATED-P");
xsaddmsg(dialog, ":DEFAULT-BUTTON");
xsaddmsg(dialog, ":MODAL-DIALOG");
/* DIALOG-ITEM-PROTO */
dialog_item = xsnewproto("DIALOG-ITEM-PROTO", root_object);
xsaddinstanceslot(dialog_item, "DIALOG");
xsaddinstanceslot(dialog_item, "ACTION");
xsaddinstanceslot(dialog_item, "SIZE");
xsaddinstanceslot(dialog_item, "LOCATION");
xsaddinstanceslot(dialog_item, "TEXT");
#ifdef X11WINDOWS
xsaddinstanceslot(dialog_item, "WINDOW-ID");
#endif /* X11WINDOWS */
xsaddmsg(dialog_item, ":DO-ACTION");
xsaddmsg(dialog_item, ":ACTION");
/* BUTTON-ITEM-PROTO */
button_item = xsnewproto("BUTTON-ITEM-PROTO", dialog_item);
xsaddmsg(button_item, ":ISNEW");
/* TOGGLE-ITEM-PROTO */
toggle_item = xsnewproto("TOGGLE-ITEM-PROTO", dialog_item);
xsaddinstanceslot(toggle_item, "VALUE");
xsaddmsg(toggle_item, ":ISNEW");
xsaddmsg(toggle_item, ":VALUE");
/* TEXT-ITEM-PROTO */
text_item = xsnewproto("TEXT-ITEM-PROTO", dialog_item);
xsaddinstanceslot(text_item, "TEXT-LENGTH");
xsaddinstanceslot(text_item, "EDITABLE");
xsaddmsg(text_item, ":ISNEW");
xsaddmsg(text_item, ":TEXT");
/* CHOICE-ITEM-PROTO */
choice_item = xsnewproto("CHOICE-ITEM-PROTO", dialog_item);
xsaddinstanceslot(choice_item, "VALUE");
xsaddmsg(choice_item, ":ISNEW");
xsaddmsg(choice_item, ":VALUE");
/* SCROLL-ITEM-PROTO */
scroll_item = xsnewproto("SCROLL-ITEM-PROTO", dialog_item);
xsaddinstanceslot(scroll_item, "VALUE");
xsaddinstanceslot(scroll_item, "PAGE-INCREMENT");
xsaddinstanceslot(scroll_item, "MAX-VALUE");
xsaddinstanceslot(scroll_item, "MIN-VALUE");
xsaddmsg(scroll_item, ":ISNEW");
xsaddmsg(scroll_item, ":VALUE");
xsaddmsg(scroll_item, ":MAX-VALUE");
xsaddmsg(scroll_item, ":MIN-VALUE");
xsaddmsg(scroll_item, ":SCROLL-ACTION");
/* LIST-ITEM-PROTO */
list_item = xsnewproto("LIST-ITEM-PROTO", dialog_item);
xsaddinstanceslot(list_item, "COLUMNS");
xsaddinstanceslot(list_item, "LIST-DATA");
xsaddinstanceslot(list_item, "MULTIPLE");
xsaddinstanceslot(list_item, "INTERNALS");
xsaddmsg(list_item, ":ISNEW");
xsaddmsg(list_item, ":DO-ACTION");
xsaddmsg(list_item, ":SET-TEXT");
xsaddmsg(list_item, ":SELECTION");
/* GRAPH-WINDOW-PROTO */
iview_window = xsnewproto("GRAPH-WINDOW-PROTO", window);
xsaddinstanceslot(iview_window, "INTERNALS");
xsaddinstanceslot(iview_window, "MENU-TITLE");
xsaddinstanceslot(iview_window, "HAS-V-SCROLL");
xsaddinstanceslot(iview_window, "HAS-H-SCROLL");
xsaddinstanceslot(iview_window, "BLACK-ON-WHITE");
xsaddinstanceslot(iview_window, "MENU");
xssetslotval(iview_window, "GO-AWAY", s_true);
xssetslotval(iview_window, "BLACK-ON-WHITE", s_true);
initialize_graph_window(iview_window);
xsaddmsg(iview_window, ":ISNEW");
xsaddmsg(iview_window, ":ALLOCATE");
xsaddmsg(iview_window, ":IDLE-ON");
xsaddmsg(iview_window, ":MENU");
xsaddmsg(iview_window, ":UPDATE");
xsaddmsg(iview_window, ":ACTIVATE");
xsaddmsg(iview_window, ":REMOVE");
xsaddmsg(iview_window, ":DISPOSE");
xsaddmsg(iview_window, ":CLOSE");
xsaddmsg(iview_window, ":WHILE-BUTTON-DOWN");
xsaddmsg(iview_window, ":SHOW-WINDOW");
xsaddmsg(iview_window, ":NEW-MENU");
xsaddmsg(iview_window, ":RESIZE");
xsaddmsg(iview_window, ":REDRAW");
xsaddmsg(iview_window, ":DO-IDLE");
xsaddmsg(iview_window, ":DO-CLICK");
xsaddmsg(iview_window, ":DO-MOTION");
xsaddmsg(iview_window, ":DO-KEY");
xsaddmsg(iview_window, ":DO-BUTTON-DOWN");
xsaddmsg(iview_window, ":CANVAS-WIDTH");
xsaddmsg(iview_window, ":CANVAS-HEIGHT");
xsaddmsg(iview_window, ":LINE-TYPE");
xsaddmsg(iview_window, ":DRAW-MODE");
xsaddmsg(iview_window, ":DRAW-COLOR");
xsaddmsg(iview_window, ":BACK-COLOR");
xsaddmsg(iview_window, ":USE-COLOR");
xsaddmsg(iview_window, ":REVERSE-COLORS");
xsaddmsg(iview_window, ":VIEW-RECT");
xsaddmsg(iview_window, ":LINE-WIDTH");
xsaddmsg(iview_window, ":CLIP-RECT");
xsaddmsg(iview_window, ":CURSOR");
xsaddmsg(iview_window, ":HAS-H-SCROLL");
xsaddmsg(iview_window, ":HAS-V-SCROLL");
xsaddmsg(iview_window, ":SCROLL");
xsaddmsg(iview_window, ":H-SCROLL-INCS");
xsaddmsg(iview_window, ":V-SCROLL-INCS");
xsaddmsg(iview_window, ":DRAW-LINE");
xsaddmsg(iview_window, ":DRAW-POINT");
xsaddmsg(iview_window, ":ERASE-RECT");
xsaddmsg(iview_window, ":FRAME-RECT");
xsaddmsg(iview_window, ":PAINT-RECT");
xsaddmsg(iview_window, ":ERASE-OVAL");
xsaddmsg(iview_window, ":FRAME-OVAL");
xsaddmsg(iview_window, ":PAINT-OVAL");
xsaddmsg(iview_window, ":ERASE-ARC");
xsaddmsg(iview_window, ":FRAME-ARC");
xsaddmsg(iview_window, ":PAINT-ARC");
xsaddmsg(iview_window, ":ERASE-POLY");
xsaddmsg(iview_window, ":FRAME-POLY");
xsaddmsg(iview_window, ":PAINT-POLY");
xsaddmsg(iview_window, ":TEXT-ASCENT");
xsaddmsg(iview_window, ":TEXT-DESCENT");
xsaddmsg(iview_window, ":TEXT-WIDTH");
xsaddmsg(iview_window, ":DRAW-STRING");
xsaddmsg(iview_window, ":DRAW-STRING-UP");
xsaddmsg(iview_window, ":DRAW-TEXT");
xsaddmsg(iview_window, ":DRAW-TEXT-UP");
xsaddmsg(iview_window, ":DRAW-SYMBOL");
xsaddmsg(iview_window, ":REPLACE-SYMBOL");
xsaddmsg(iview_window, ":START-BUFFERING");
xsaddmsg(iview_window, ":BUFFER-TO-SCREEN");
#ifdef MACINTOSH
xsaddmsg(iview_window, ":COPY-TO-CLIP");
#endif /* MACINTOSH */
xsaddmsg(iview_window, ":DRAG-GREY-RECT");
xsaddmsg(iview_window, ":IMAGE-TO-FILE");
xsaddmsg(iview_window, ":DRAW-BITMAP");
/* GRAPH-PROTO */
iview = xsnewproto("GRAPH-PROTO", iview_window);
xsaddinstanceslot(iview, "SLICERS");
xsaddinstanceslot(iview, "MOUSE-MODE");
xsaddinstanceslot(iview, "FIXED-ASPECT");
xsaddinstanceslot(iview, "SHOWING-LABELS");
xsaddinstanceslot(iview, "VARIABLE-LABELS");
xsaddinstanceslot(iview, "NUMBER-OF-VARIABLES");
xsaddinstanceslot(iview, "MENU-TEMPLATE");
xsaddinstanceslot(iview, "OPTIONS-TEMPLATE");
xsaddinstanceslot(iview, "SCALE-TYPE");
xsaddinstanceslot(iview, "OVERLAYS");
xssetslotval(iview, "MOUSE-MODE", s_selecting);
xsaddslot(iview, "MODE-LIST");
initialize_graph(iview);
xsaddmsg(iview, ":ISNEW");
xsaddmsg(iview, ":ALLOCATE");
xsaddmsg(iview, ":RESIZE");
xsaddmsg(iview, ":REDRAW");
xsaddmsg(iview, ":REDRAW-BACKGROUND");
xsaddmsg(iview, ":CLEAR-CONTENT");
xsaddmsg(iview, ":REDRAW-CONTENT");
xsaddmsg(iview, ":REDRAW-OVERLAYS");
xsaddmsg(iview, ":RESIZE-OVERLAYS");
xsaddmsg(iview, ":OVERLAY-CLICK");
xsaddmsg(iview, ":ADJUST-SCREEN");
xsaddmsg(iview, ":ADJUST-POINTS-IN-RECT");
xsaddmsg(iview, ":ADJUST-SCREEN-POINT");
xsaddmsg(iview, ":MARK-POINTS-IN-RECT");
xsaddmsg(iview, ":CONTENT-RECT");
xsaddmsg(iview, ":CONTENT-ORIGIN");
xsaddmsg(iview, ":CONTENT-VARIABLES");
xsaddmsg(iview, ":CLICK-RANGE");
xsaddmsg(iview, ":MOUSE-MODE");
xsaddmsg(iview, ":SHOWING-LABELS");
xsaddmsg(iview, ":MARGIN");
xsaddmsg(iview, ":FIXED-ASPECT");
xsaddmsg(iview, ":NEEDS-ADJUSTING");
xsaddmsg(iview, ":X-AXIS");
xsaddmsg(iview, ":Y-AXIS");
xsaddmsg(iview, ":BRUSH");
xsaddmsg(iview, ":ERASE-BRUSH");
xsaddmsg(iview, ":DRAW-BRUSH");
xsaddmsg(iview, ":MOVE-BRUSH");
xsaddmsg(iview, ":RESIZE-BRUSH");
xsaddmsg(iview, ":DO-CLICK");
xsaddmsg(iview, ":DO-MOTION");
xsaddmsg(iview, ":DO-SELECT-CLICK");
xsaddmsg(iview, ":DO-BRUSH-CLICK");
xsaddmsg(iview, ":DO-BRUSH-MOTION");
xsaddmsg(iview, ":UNSELECT-ALL-POINTS");
xsaddmsg(iview, ":ERASE-SELECTION");
xsaddmsg(iview, ":MASK-SELECTION");
xsaddmsg(iview, ":UNMASK-ALL-POINTS");
xsaddmsg(iview, ":POINTS-SHOWING");
xsaddmsg(iview, ":POINTS-HILITED");
xsaddmsg(iview, ":POINTS-SELECTED");
xsaddmsg(iview, ":SELECTION");
xsaddmsg(iview, ":SHOW-ALL-POINTS");
xsaddmsg(iview, ":ALL-POINTS-SHOWING-P");
xsaddmsg(iview, ":ALL-POINTS-UNMASKED-P");
xsaddmsg(iview, ":ANY-POINTS-SELECTED-P");
xsaddmsg(iview, ":LINKED");
xsaddmsg(iview, ":LINKS");
xsaddmsg(iview, ":NUM-VARIABLES");
xsaddmsg(iview, ":VARIABLE-LABEL");
xsaddmsg(iview, ":RANGE");
xsaddmsg(iview, ":SCALED-RANGE");
xsaddmsg(iview, ":CANVAS-RANGE");
xsaddmsg(iview, ":TRANSFORMATION");
xsaddmsg(iview, ":APPLY-TRANSFORMATION");
xsaddmsg(iview, ":ADD-POINTS");
xsaddmsg(iview, ":CLEAR-POINTS");
xsaddmsg(iview, ":NUM-POINTS");
xsaddmsg(iview, ":POINT-COORDINATE");
xsaddmsg(iview, ":POINT-CANVAS-COORDINATE");
xsaddmsg(iview, ":POINT-TRANSFORMED-COORDINATE");
xsaddmsg(iview, ":POINT-MASKED");
xsaddmsg(iview, ":POINT-COLOR");
xsaddmsg(iview, ":POINT-STATE");
xsaddmsg(iview, ":LAST-POINT-STATE");
xsaddmsg(iview, ":POINT-MARKED");
xsaddmsg(iview, ":POINT-LABEL");
xsaddmsg(iview, ":POINT-SYMBOL");
xsaddmsg(iview, ":POINT-SELECTED");
xsaddmsg(iview, ":POINT-HILITED");
xsaddmsg(iview, ":POINT-SHOWING");
xsaddmsg(iview, ":ADD-LINES");
xsaddmsg(iview, ":CLEAR-LINES");
xsaddmsg(iview, ":NUM-LINES");
xsaddmsg(iview, ":LINESTART-COORDINATE");
xsaddmsg(iview, ":LINESTART-CANVAS-COORDINATE");
xsaddmsg(iview, ":LINESTART-TRANSFORMED-COORDINATE");
xsaddmsg(iview, ":LINESTART-MASKED");
xsaddmsg(iview, ":LINESTART-COLOR");
xsaddmsg(iview, ":LINESTART-NEXT");
xsaddmsg(iview, ":LINESTART-TYPE");
xsaddmsg(iview, ":LINESTART-WIDTH");
#ifdef USESTRINGS
xsaddmsg(iview, ":ADD-STRINGS");
xsaddmsg(iview, ":CLEAR-STRINGS");
xsaddmsg(iview, ":NUM-STRINGS");
xsaddmsg(iview, ":STRING-COORDINATE");
xsaddmsg(iview, ":STRING-CANVAS-COORDINATE");
xsaddmsg(iview, ":STRING-TRANSFORMED-COORDINATE");
xsaddmsg(iview, ":STRING-MASKED");
xsaddmsg(iview, ":STRING-COLOR");
xsaddmsg(iview, ":STRING-MODIFIERS");
#endif /* USESTRINGS */
xsaddmsg(iview, ":DRAW-DATA-POINTS");
xsaddmsg(iview, ":DRAW-DATA-LINES");
#ifdef USESTRINGS
xsaddmsg(iview, ":DRAW-DATA-STRINGS");
#endif /* USESTRINGS */
xsaddmsg(iview, ":ROTATE-2");
xsaddmsg(iview, ":ADJUST-TO-DATA");
xsaddmsg(iview, ":VISIBLE-RANGE");
xsaddmsg(iview, ":SCALE-TO-RANGE");
xsaddmsg(iview, ":SCALE");
xsaddmsg(iview, ":SHIFT");
xsaddmsg(iview, ":CLEAR-MASKS");
xsaddmsg(iview, ":SLICE-VARIABLE");
xsaddmsg(iview, ":REAL-TO-CANVAS");
xsaddmsg(iview, ":CANVAS-TO-REAL");
xsaddmsg(iview, ":SCALED-TO-CANVAS");
xsaddmsg(iview, ":CANVAS-TO-SCALED");
xsaddmsg(iview, ":POINTS-IN-RECT");
xsaddmsg(iview, ":ADJUST-DEPTH-CUING");
/* SPIN-PROTO */
iview_spin = xsnewproto("SPIN-PROTO", iview);
xsaddinstanceslot(iview_spin, "SHOWING-AXES");
xsaddinstanceslot(iview_spin, "DEPTH-CUING");
xsaddinstanceslot(iview_spin, "CONTENT-VARIABLES");
xsaddinstanceslot(iview_spin, "ROTATION-TYPE");
xsaddinstanceslot(iview_spin, "ROTATION-ANGLE");
xsaddinstanceslot(iview_spin, "ROTATION-CONTROLS");
initialize_graph(iview_spin);
xsaddmsg(iview_spin, ":ALLOCATE");
xsaddmsg(iview_spin, ":CONTENT-VARIABLES");
xsaddmsg(iview_spin, ":SHOWING-AXES");
xsaddmsg(iview_spin, ":DEPTH-CUING");
xsaddmsg(iview_spin, ":RESIZE");
xsaddmsg(iview_spin, ":REDRAW-CONTENT");
xsaddmsg(iview_spin, ":DO-IDLE");
xsaddmsg(iview_spin, ":ANGLE");
xsaddmsg(iview_spin, ":ROTATE");
xsaddmsg(iview_spin, ":DRAW-AXES");
/* SCATMAT-PROTO */
iview_scatmat = xsnewproto("SCATMAT-PROTO", iview);
initialize_graph(iview_scatmat);
xsaddmsg(iview_scatmat, ":ALLOCATE");
xsaddmsg(iview_scatmat, ":RESIZE");
xsaddmsg(iview_scatmat, ":REDRAW-BACKGROUND");
xsaddmsg(iview_scatmat, ":REDRAW-CONTENT");
xsaddmsg(iview_scatmat, ":DO-CLICK");
xsaddmsg(iview_scatmat, ":DO-MOTION");
xsaddmsg(iview_scatmat, ":ADD-POINTS");
xsaddmsg(iview_scatmat, ":ADD-LINES");
#ifdef USESTRINGS
xsaddmsg(iview_scatmat, ":ADD-STRINGS");
#endif /* USESTRINGS */
xsaddmsg(iview_scatmat, ":ADJUST-SCREEN-POINT");
xsaddmsg(iview_scatmat, ":ADJUST-POINTS-IN-RECT");
xsaddmsg(iview_scatmat, ":MARK-POINTS-IN-RECT");
/* NAME-LIST-PROTO */
iview_list = xsnewproto("NAME-LIST-PROTO", iview);
initialize_graph(iview_list);
xsaddmsg(iview_list, ":ALLOCATE");
xsaddmsg(iview_list, ":REDRAW-BACKGROUND");
xsaddmsg(iview_list, ":REDRAW-CONTENT");
xsaddmsg(iview_list, ":ADD-POINTS");
xsaddmsg(iview_list, ":ADJUST-SCREEN-POINT");
xsaddmsg(iview_list, ":ADJUST-POINTS-IN-RECT");
xsaddmsg(iview_list, ":MARK-POINTS-IN-RECT");
/* HISTOGRAM-PROTO */
iview_hist = xsnewproto("HISTOGRAM-PROTO", iview);
xsaddinstanceslot(iview_hist, "HISTOGRAM-INTERNALS");
initialize_graph(iview_hist);
newhistinternals(iview_hist);
xsaddmsg(iview_hist, ":ISNEW");
xsaddmsg(iview_hist, ":ALLOCATE");
xsaddmsg(iview_hist, ":ADD-POINTS");
xsaddmsg(iview_hist, ":CLEAR-POINTS");
xsaddmsg(iview_hist, ":RESIZE");
xsaddmsg(iview_hist, ":REDRAW-CONTENT");
xsaddmsg(iview_hist, ":ADJUST-SCREEN");
xsaddmsg(iview_hist, ":NUM-BINS");
xsaddmsg(iview_hist, ":BIN-COUNTS");
xsaddmsg(iview_hist, ":ADJUST-TO-DATA");
xsaddmsg(iview_hist, ":ADJUST-SCREEN-POINT");
xsaddmsg(iview_hist, ":ADJUST-POINTS-IN-RECT");
xsaddmsg(iview_hist, ":MARK-POINTS-IN-RECT");
/* SCATTERPLOT-PROTO */
scatterplot = xsnewproto("SCATTERPLOT-PROTO", iview);
initialize_graph(scatterplot);
xsaddmsg(scatterplot, ":ADD-POINTS");
xsaddmsg(scatterplot, ":ADD-LINES");
#ifdef USESTRINGS
xsaddmsg(scatterplot, ":ADD-STRINGS");
#endif /* USESTRINGS */
xsaddmsg(scatterplot, ":ADJUST-TO-DATA");
#endif /* NOGRAPHICS */
/* COMPOUND-DATA-PROTO */
compound_data = xsnewproto("COMPOUND-DATA-PROTO", root_object);
xsaddmsg(compound_data, ":DATA-LENGTH");
xsaddmsg(compound_data, ":DATA-SEQ");
xsaddmsg(compound_data, ":MAKE-DATA");
xsaddmsg(compound_data, ":SELECT-DATA");
}
syntax highlighted by Code2HTML, v. 0.9.1