[comp.windows.x] oops...a followup

gjw@ANDREAS.WR.USGS.GOV (Gregory J. Woodhouse) (11/06/90)

I guess I forgot to load a library (olgx), but when I try to run this
program I get

XView warning: menu_show not owned by this server (Command Menu package)

recall that I'm running XView under SunOs 4.1, and the program in question
is an example from vol. 7 of the O'Reilly series; viz.,

#include <xview/xview.h>
#include <xview/canvas.h>
#include <xview/scrollbar.h>

#define SCROLLBAR_KEY 100
#define MENU_KEY 200

main(argc, argv)
int argc;
char *argv[];
{
	Frame frame;
	Canvas canvas;
	Scrollbar scrollbar;
	Menu menu;
	void menu_notify_proc(), pw_event_proc();

	xv_init(XV_INIT_ARGC_PTR_ARGV, &argc, argv, NULL);
	frame = (Frame) xv_create(NULL, FRAME,
		FRAME_LABEL,	argv[0],
		NULL);
	canvas = (Canvas) xv_create(frame, CANVAS,
		XV_WIDTH,	300,
		XV_HEIGHT,	200,
		NULL);
	scrollbar = (Scrollbar) xv_create(canvas, SCROLLBAR,
		SCROLLBAR_DIRECTION, SCROLLBAR_VERTICAL,
		NULL);
	menu = (Menu) xv_create(canvas, MENU,
		MENU_TITLE_ITEM,	"Scrollbar",
		MENU_STRINGS,		"On", "Off", NULL,
		MENU_NOTIFY_PROC,	menu_notify_proc,
		XV_KEY_DATA,		SCROLLBAR_KEY, scrollbar,
		NULL);
	
	xv_set(canvas_paint_window(canvas),
		WIN_EVENT_PROC,		pw_event_proc,
		XV_KEY_DATA,		MENU_KEY, menu,
		NULL);
	window_fit(frame);
	window_main_loop(frame);
}

void menu_notify_proc(menu, menu_item)
Menu menu;
Menu_item menu_item;

{
char *menu_choice = (char *) xv_get(menu_item, MENU_STRING);
int show_it = !strcmp(menu_choice, "On");

xv_set(xv_get(menu, XV_KEY_DATA, SCROLLBAR_KEY),
	XV_SHOW,	show_it,
	NULL);
}

void pw_event_proc(canvas_pw, event)
Xv_Window canvas_pw;
Event *event;

{
	if (event_action(event) == ACTION_MENU && event_is_down(event)) {
		Menu menu = (Menu) xv_get(canvas_pw, XV_KEY_DATA, MENU_KEY);
		menu_show(menu, canvas_pw, event, NULL);
	}
}
-----------------------------------------------------------------------------
Gregory Woodhouse          |We know that the center of the earth
gjw@andreas.wr.usgs.gov    |is a fiery molten mass...but it's not
(415) 329-4694 (office)    |good to dwell on it.
(415) 325-7802 (home)      |
U.S. Geological Survey / 345 Middlefield Rd. MS 977 / Menlo Park, CA 94025
-----------------------------------------------------------------------------