Hi,
I'm not sure if event mapping is ideal for anything, actually.
It was ND's response to people like me yelling that they broke our code
going from ND3->ND4. And it does work, but it's complicated to set up, not
intuitive, imho, and easily breakable (as in your case with using private
instead of public on the method).
Since I did stuff using this approach, I have been working together on a
project with Grace Frederick, the ND world expert on display field
superclasses, and also I have been doing things with listeners and
anonymous inner classes. I'm not at the point of saying that there is no
situation where I would use event mapping in the future, but I'm almost
there, maybe will make that determination when pressure is off and we have
a chance to assess some stuff we've rushed up lately.
Perhaps I'll say a little more on this topic in the next day or so. Don't
have time right now.
-- Curt Springer, Team ND
At 07:51 PM 5/25/99 +0530, Krupesha C wrote:
>Thanks Curt,
>The code is working fine for "onBeforeDisplayEvent", once I made the method
>public. But still it was not working for "onBeforeHtmlEvent". I made the
>code to work with the help of your second suggestion. Thanks !
>And also, what is the ideal situation in which event mapping function could
>be used?
>
>Regards,
>Krupesha
>
>
>
>-----Original Message-----
>From: Curt Springer [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, May 25, 1999 6:26 PM
>To: [EMAIL PROTECTED]
>Cc: [EMAIL PROTECTED]
>Subject: Re: [ND] Event Mapping in onAfterInitEvent() not working
>
>
>I've done a fair amount of this stuff. It's a little bit tricky.
>
>One thing that jumps out is that your method 'myMappingFunction' is
>private. It must be public. I don't have time to do a detailed review of
>your code versus mine to see what else there might be.
>
>I also wonder if you really need to use the event mapping function, seeing
>that you're applying it to all page children.
>
>Here's another possible way to do it:
>
>public int this_onBeforeDisplayEvent(WhateverEvent event)
>{
> for (int i = 0; i < numOfChildren; i++)
> CSpVisual v = (CSpVisual)_children.elementAt (i);
> populatePlease(v);
>getEventAdapter (), false);
> }
>
>
>}
>
>A couple of cautions:
>
>-- The hidden page session object is one of the page children. You
>probably want to exclude this from your routine field processing. You can
>test on 'instanceof CSpPageSessionHidden' (look up the exact class name)
>
>-- I hadn't realized that the parent-level class variable _children is
>protected. You could insulate yourself from changes to ND's future
>structure by calling getChildren and then cycling through the returned list
>(which can be converted to an Enumeration)
>
>-- Curt Springer, Team ND
>
>
>At 05:10 PM 5/25/99 +0530, Krupesha C wrote:
>>The ND documentation says that, you can map the events associated with
>>visual objects to user defined methods in onAfterInitEvent(). This will be
>>helpful when the same code is used by many visual objects for
>>initialization. Instead of calling the user defined function in
>>visulaObject_onBeforeDisplayEvent(), we can map this method to event's
>>onBefore...Event() using CSpVisual.mapEvent() method
>>
>>Even though usage looks perfect for me, am getting the following error (ND
>>4.1):
>>spider.event.adapters.CSpPageEventAdapter.addEventMapping: Can't find the
>>method 'myMappingFunction' in target Object
>>of type 'myProject.myPage'
>>
>>The code used is like this:
>>
>>public int this_onAfterInitEvent(CSpInitEvent event)
>>{
>> int numOfChildren = _children.size (); //list of visuals
>> for (int i = 0; i < numOfChildren; i++)
>>
>>
>> CSpVisual v = (CSpVisual)_children.elementAt (i);
>> v.mapEvent ("onBeforeDisplayEvent", this, "myMappingFunction",
>>getEventAdapter (), false);
>> }
>> return (PROCEED);
>>}
>>
>>
>>private int myMappingFunction(CSpDisplayEvent event)
>>{
>> populatePlease((CSpVisual) event.getSource()); //Call generic routine now
>>}
>>
>>(ND Documention Series reference: "Changes You Have to Make to Your Code"
>>under "Migrating NetDynamics Projects to 4.x." of "Technical Briefs".
>>.../NetDynamics/NetDynamics40/Docs/res/techbriefs/migrate.html#@Changes)
>>
>>
>>Thanks for your time,
>>Krupesha
>>
>>
>>
>>
>_________________________________________________________________________
>
>For help in using, subscribing, and unsubscribing to the discussion
>forums, please go to: http://www.netdynamics.com/support/visitdevfor.html
>
>For dire need help, email: [EMAIL PROTECTED]
>
_________________________________________________________________________
For help in using, subscribing, and unsubscribing to the discussion
forums, please go to: http://www.netdynamics.com/support/visitdevfor.html
For dire need help, email: [EMAIL PROTECTED]