Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!uniwa!bilby.cs.uwa.oz.au!dunnart!janet From: janet@bilby.cs.uwa.oz.au (Janet Jackson) Newsgroups: comp.windows.open-look Subject: How to constrain input to a panel item in XView? Message-ID: Date: 18 Dec 90 01:45:16 GMT Organization: Dept. Computer Science, University of Western Australia. Lines: 24 I have an XView application with several panels. I am looking for a way to make "inactive" or "insensitive" (ie ignoring events) all the panel items except for a given item of a given panel. I _don't_ want to grab the server. My "grab" should only affect my application, not anything else that's running. Xt has a function XtAddGrab() that does what I want. I suspect this is possible because the Xt equivalent of panel items, at least when using Athena widgets, are windows. XView panel items are not. The best way I can think of is to install event handlers (using PANEL_EVENT_PROC) that ignore events for all the panels except the given one, and install an event handler for the given panel (again using PANEL_EVENT_PROC) that ignores events if the item is not the given one. Then to remove my "grab" I just un-install the handlers. I'm pretty sure this will do what I want, but it seems inelegant. Can anyone think of a better way? Thanks in advance, Janet Jackson (janet@cs.uwa.oz.AU) Department of Computer Science The University of Western Australia