[Paraview] Multiple calls to pqView::setAnnotationLink have no effect

Linebarger, John jmlineb at sandia.gov
Wed Oct 14 22:39:35 EDT 2009


I'm trying to implement a solution to a customer request to freeze a graph view such that selections through that view propagate out to other views through the global annotation link but do not affect the contents of the graph in which the selection occurred. 

However, I seem to be running into either a bug in the setAnnotationLink method in pqView, or an error in my understanding of how it should work.  One of my solution approaches involves setting the annotation link for a view to an empty annotation link initially (so that selections don't propagate), then setting it to the global annotation link when the user wishes to select through that view and have selections propagate to other views, then setting it back again when the user no longer wants to propagate selections.  Unfortunately, the behavior I am seeing is that any call to pqView::setAnnotationLink after the first call seems to have no effect.  In other words, the first annotation link set on a view seems to be the annotation link that is always in effect, no matter how many other calls are made to set the annotation link to another link.

This puzzled me, so I both looked at the code and traced its execution in the debugger.  The internal annotation link seemed to be reset properly in pqView::setAnnotationLink, but that did not seem to have any effect on any of the views that  were using the original annotation link.  In other words, if I intialized my view with an empty annotation link (by making the first setAnnotationLink call contain the empty annotation link), selections were *never* propagated to views that used the global annotation link, no matter how many times I tried to set the annotation link on the view to the global annotation link.  Conversely, if I intialized my view with the global annotation link, selections were *always* propagated to views that used the global annotation link, no matter how many times I tried to set the annotation link on the view to an empty annotation link.

My questions are these.  Is there a trick to getting multiple calls to pqView::setAnnotationLink to work?  Is there a second step that needs to be done, perhaps by notifying all the other linked views that the annotation link has changed?  

Thanks!  Enjoy!

John M. Linebarger


More information about the ParaView mailing list