
        \\\\\\\\\\\\\\\\\\\\ ///////////////////////

    example programs using callbacks, event handlers, action handlers

        //////////////////// \\\\\\\\\\\\\\\\\\\\\\


	
	This directory contains example programs that focus on the
	use of various handlers (callbacks, action handlers, and 
	event handers), and the passing of client_data to the handers.
	Directories are named in the following convention:

	handler_N where:
		handler = type of handler used
	        N       = the number of parameters passed via client_data ptr

action_0/

    In this example, an action handler is installed on an image visual object;
    the action handler will quit the program when the user clicks on 'q'.  
    Since the only information needed is the visual object itself, we need 
    not pass anything as the client data.

    
action_3/

    This program provides an example of the use of action handlers
    needing client_data.  It creates a text GUI object, initializes
    a client_data structure, and installs an action handler which will
    use the contents of the client_data structure to print out the
    values that were originally set when the user enters <cr>.

callback_0_btn/

    This example illustrates how a callback is installed on a button object.
    It also reminds us of the fact that we need not use the client_data 
    pointer to pass any information that can be obtained through a
    xvw_get_attributes() calls on the xvobject itself.

callback_0_list/

    This program displays a list of colors.  A callback allows the user to
    quit the program by double clicking on one of the list items.
    The call_data structure is used to retrieve the user's selection.

callback_1/

    In this example, the same callback is installed on a set of button GUI 
    objects; the callback uses the integer button ID number (passed in as 
    client_data) in the information that is popped up.

callback_4/

    In this example, a list GUI object offering a choice of three animals is
    displayed.  The user is allowed to click on an item, causing a popup
    with information about the animal to be displayed.
    The callback installed on list item selection needs an array
    of structures passed in, which is allocated and passed into the callback 
    using the client_data structure.  Because it is a list GUI object, the 
    call_data pointer is also used.

event_1/

    In this example, an event handler is installed on an image visual object;
    the event handler will quit the program when the user does a button press.
    Here, we need to pass the kobject representing the image data as the
    client data;  however, kobjects can be passed to event handlers directly
    (without using "&") since they are defined as pointers.

timeout_0/

    In this example, a timeout is used to update a labelstring object 
    every second.
