[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Widget event handlers
- Subject: Re: Widget event handlers
- From: Joe Means <means(at)fsl.orst.edu>
- Date: Fri, 02 Mar 2001 13:26:56 -0800
- Newsgroups: comp.lang.idl-pvwave
- Organization: Network for Education and Research in Oregon
- References: <3A9EF042.firstname.lastname@example.org> <3A9F2342.8B7B9880@hotmail.com>
- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; m18) Gecko/20010131 Netscape6/6.01
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:23828
Thanks to Marc and David for your helpfull ideas. I was indeed
identifying the event handler with Event_func keyword, so using
Event_pro solved my first problem. I found the /Kbrd_focus_events
keyword met my needs better than /All_events. Now the info structure is
being updated but I do not need the TRANSLATEAXIES_EVENT procedure.
Marc Schellens wrote:
> Joe Means wrote:
>> In a widget program [TranslateAxies] I am writing I specify an event
>> handler function for each widget that can generate an event. I specify
>> event handlers for each text and button widget but not for base and
>> label widgets [no bases are resizeable]. No base widgets can be
>> resized. The GUI includes text boxes for user input. When I ran the
>> program initially, put text in any box and clicked enter, I always got
>> the error:
>> Attempt to call undefined procedure/function: 'TRANSLATEAXIES_EVENT'.
>> So I put a do-nothing procedure with this name in the
>> TranslateAxies_EventCB file. Now I do not get the error. Also, all the
>> text widgets and their event functions seem to run fine [when I click
>> return after entering a value in the text field], because their values
>> in the info structure are updated OK.
>> It does not seem like I need this do-nothing proceedure. Can anyone
>> tell me why it is needed?
>> Also, when I type text in a text widget it will not call the event
>> function to update the value in the info structure if I click tab to
>> move out of the field. Why is this?
> You probably use EVENT_FUNC and return the event at the end, in wich
> case the next
> eventhandler in the eventhandler-tree is called (and so on, earlier or
> So use EVENT_PRO or don't return anything from
> your EVENT_FUNC (even the latter is not best style, but works).
> Regarding your second question, just set /ALL_EVENTS keyword in your
> widget_text function. Then the eventhandler is called after every change
> in the widget, keeping your info structure always up to date.
Joseph E. Means
Assistant Professor, email@example.com
Department of Forest Science
Oregon State University
Corvallis, OR 97331-5752