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
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to