Hi,
So, I think I've found a bug!
I'm developing a plugin that implements IRequestHandler and
INavigationContributor. My "process_request()" method calls
"add_script()" a couple of times. For reasons I don't fully
understand, the "get_active_navigation_item()" method gets called in
these situations, but I'm assuming it's by design.
Note that "process_request()" belongs to the IRequestHandler extension
point, and "get_active_navigation_item()" belongs to the
INavigationContributor extension point.
The issue is, I need to implement these extensions points in two
distinct Component classes. But when I split the Component class in
two (one for each extension point) the "get_active_navigation_item()"
is no longer called, so the item that I'm adding to the mainnav no
longer shows highlighted...
I am sure that both Component classes are being picked up by trac as
the other methods of the extensions points are being invoked (e.g.,
the get_navigation_items() method is being called).
I've tracked this as far as trac.web.chrome.py. I think the relevant
lines are these:
if contributor is handler:
active =
contributor.get_active_navigation_item(req)
I can't figure out where the "handler" value comes from, but I've
confirmed that it is never an instance of the component implementing
INavigationContributor.
Any help appreciated.
thanks in advance!
Filipe Correia
--
You received this message because you are subscribed to the Google Groups "Trac
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/trac-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.