[vtkusers] How to make vtkChartXY non-interactive?

Marcus D. Hanwell marcus.hanwell at kitware.com
Tue Jun 13 11:53:19 EDT 2017


On Tue, Jun 13, 2017 at 9:16 AM, Elvis Stansvik <
elvis.stansvik at orexplore.com> wrote:

> 2017-06-13 15:10 GMT+02:00 Elvis Stansvik <elvis.stansvik at orexplore.com>:
>
>> I'm using a
>>
>>    vtkChartXY
>>    vtkColorTransferControlPointsItem
>>    vtkColorTransferFunctionItem
>>
>> trio for editing a vtkColorTransferFunction.
>>
>> I'm now trying to make it non-editable (I want this for system "built-in"
>> color functions). I've tried calling SetInteractive(false) on all three of
>> them. I even tried hiding the control points item, but still I can interact
>> with the points using the mouse.
>>
>> How can I make it non-interactive?
>>
>> I'm using VTK 8.0.0.rc1.
>>
>
> I know I could always override and swallow mouse events, but that seems
> like the wrong approach?
>
> I'm only interested in disabling interaction with the control points item.
> Even hiding it as well would be OK.
>
> So I would use the SetActionToButton method in vtkChart, and set each
action to -1 (no button). Looking at the vtkControlPointsItem the press
event is not configurable, and so you would really have to derive from it,
and override it that way as far as I can see. It could be modified, but
that ability doesn't appear to be present. I am trying to remember how we
propagate mouse events from the containing chart, but am a little rusty on
that logic.

We don't have the equivalent of an event filter as far as I am aware, but
in the Qt world I would use that to intercept events before they get to the
chart.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170613/756982f8/attachment.html>


More information about the vtkusers mailing list