Main Page   Compound List   File List   Compound Members   File Members  

zwindow.vtc

00001 /* -*- C -*-
00002  * zwindow.vtc: Put zephyrgrams in different windows
00003  * $Id$
00004  *
00005  * This file allows for zephyrgrams to be placed in different windows.
00006  * find_win() takes a zephyrgram as input, and returns the window
00007  * the message should be placed in.  set_class_output(),
00008  * set_instance_output(), and set_personal_output() each redirect
00009  * messages to a particular class, an instance of class message, or
00010  * personal zephyrgrams to a particular window.
00011  */
00012 
00013 class_windows ?:= make_tree(.stricmp);
00014 instance_windows ?:= make_tree(.stricmp);
00015 
00016 func set_class_output(class, window) {
00017     insert_tree(class_windows, class, window);
00018     add_status(window, "<" + class + ">");
00019 }
00020 
00021 func set_instance_output(instance, window) {
00022     insert_tree(instance_windows, instance, window);
00023     add_status(window, "[" + instance + "]");
00024 }
00025 
00026 func set_personal_output(window) {
00027     personal_window = window;
00028     add_status(window, "[PERSONAL]");
00029 }
00030 
00031 func find_win(z) [win]
00032 {
00033   /* Find the right window to display the message in. */
00034   win = cur_win;
00035   if (z->personal)
00036     win = personal_window;
00037   else if (stricmp(z->class, "message") == 0)
00038     win = find_tree(instance_windows, z->instance);
00039   else
00040     win = find_tree(class_windows, z->class);
00041 
00042   return win;
00043 }
00044 
00045 
00046 

Generated at Mon Aug 13 16:45:52 2001 for dzm-vtc by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001