[vtkusers] Interactor on vtkWidget

Jothy jothybasu at gmail.com
Tue Sep 21 10:25:34 EDT 2010


What I did in my Qt program was - used a toggle button on the toolbar to
enable and disable the distance widget.

Jothy

On Tue, Sep 21, 2010 at 3:20 PM, Leonardo M. Ramé <l.rame at griensu.com>wrote:

> Hi, I created a vtkDistanceWidget, and added an observer to catch the
> "delete" key on that widget, to be able to delete it from the scene.
>
> The problem is that key events are captured for the whole interactor,
> and not for my specific widget. How can I know what was the active
> widget at the moment of pressing the delete key?.
>
>
> This is my code:
>
> void widgetPickObserver(vtkObject* caller, unsigned long eid, void*
> clientdata, void *calldata)
> {
>  qDebug(static_cast<vtkRenderWindowInteractor*>(caller)->GetKeySym());
> }
>
> void myClass::addDistanceWidget()
> {
>  distanceWidget = vtkDistanceWidget::New();
>  distanceWidget->SetInteractor(this->GetInteractor());
>  distanceWidget->CreateDefaultRepresentation();
>  static_cast<vtkDistanceRepresentation
> *>(distanceWidget->GetRepresentation())->SetLabelFormat("%-#6.3g mm");
>
>  vtkSmartPointer<vtkCallbackCommand> Callback =
> vtkSmartPointer<vtkCallbackCommand>::New();
>  Callback->SetCallback(widgetPickObserver);
>  Callback->SetClientData(distanceWidget);
>
>  distanceWidget->GetInteractor()->AddObserver(vtkCommand::KeyPressEvent,
> Callback);
>  distanceWidget->On();
> }
>
>
> --
> Leonardo M. Ramé
> http://leonardorame.blogspot.com
> _______________________________________________
> 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100921/3f1daeb5/attachment.htm>


More information about the vtkusers mailing list