[vtkusers] Disabling middle mouse button for vtkImageTracerWidget
David Doria
daviddoria at gmail.com
Tue Nov 23 08:55:36 EST 2010
> David,
>
> vtkImageTracerWidget is written in the old style of widgets (inherit from
> vtk3DWidget)
> and so ProcessEvents has this method signature common to most/all(?)
> vtk3DWidget subclasses.
> You could subclass the widget's AddObservers method or set the widget's
> interactor,
> and after the SetEnabled call, you could remove the command from the
> interactor with
> RemoveObservers.
>
> Dean
Hmm, even with this:
void vtkSimpleImageTracerWidget::AddObservers(void)
{
// Listen for the following events
vtkRenderWindowInteractor *i = this->Interactor;
if (i)
{
i->AddObserver(vtkCommand::MouseMoveEvent, this->EventCallbackCommand,
this->Priority);
i->AddObserver(vtkCommand::LeftButtonPressEvent,
this->EventCallbackCommand, this->Priority);
i->AddObserver(vtkCommand::LeftButtonReleaseEvent,
this->EventCallbackCommand, this->Priority);
i->AddObserver(vtkCommand::RightButtonPressEvent,
this->EventCallbackCommand, this->Priority);
i->AddObserver(vtkCommand::RightButtonReleaseEvent,
this->EventCallbackCommand, this->Priority);
}
}
it still keeps the middle click line segment functionality.
I also tried:
void MyInteractorStyle::InitializeTracer()
{
...
this->Tracer->On();
this->Interactor->RemoveObserver(vtkCommand::MiddleButtonPressEvent);
this->Interactor->RemoveObserver(vtkCommand::MiddleButtonReleaseEvent);
...
}
and the line segments STILL appear!
David
More information about the vtkusers
mailing list