home *** CD-ROM | disk | FTP | other *** search
- /* 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 "osdef.h"
- #ifdef ANSI
- #include "xlsproto.h"
- #include "iviewproto.h"
- #else
- #include "xlsfun.h"
- #include "iviewfun.h"
- #endif ANSI
- #include "xlsvar.h"
-
- void init_objects()
- {
- 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");
-
- /* 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, ":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");
- #ifndef OLDLINKS
- xsaddmsg(iview, ":LINKS");
- #endif OLDLINKS
-
- 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");
-
- /* 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");
- }
-