New Forum | Previous | Next | (P-PDF) Developers
Topic: replacing AVAnnotHandlerDoKeyDown
Conf: (P-PDF) Developers, Msg: 66216
Date: 6/5/2002 06:35 AM
We are in the process of creating a plugin for handling data-entry. In this plugin we have the concept of skip-logic. By this I mean fields are dependent on other fields values. So on a form we start with all but the first filed disabled. Now one the user enters a value, we run trough various check and determine if the value is OK and what next field should be open. Now, we added all this type a checks to the AVPageViewAnnotDidPerformOp (LOSTFOCUS) method. The problem is in this case there is nowhere to tab to so this event is never triggered. In another case say you have fields a,b,c,d,e you are on a and e is enabled. After hitting tab on ‘a’ performing the checks we open ‘b’ but the messaging is queued to go to ‘e’ before we ever get to AVPageViewAnnotDidPerformOp. So that’s the crux of the problem how to we control (what event to use) where the focus is heading.
We tried to replace AVAnnotHandlerDoKeyDownExProc for the annot widget. I've tried the following and it doesn't call my function. I'm trying to capture the tab and return key prior to Lost focus, so that I can enable another field prior to Lost focus seeing the call.
ava = AVAppGetAnnotHandlerByName(ASAtomFromString("widget")); // ava is a global AVAnnotHandler
ava->DoKeyDownEx = ASCallbackCreateProto(AVAnnotHandlerDoKeyDownExProc,&AVAnnotHandlerDoKeyDownEx);
Many thanks on any suggestions