Robert,

On further consideration, I've decided to go with your patch. I've committed
it to CVS (slightly modified to remove the signal changes).
Attached is a patch for the final version that made it in.

Utkarsh

On Tue, May 5, 2009 at 3:28 PM, Utkarsh Ayachit <[email protected]
> wrote:

> Robert,
>
> What your patch is doing is exactly what I've done, except at the server
> manager level (so in vtkSMScalarBarRepresentationProxy instead of
> pqScalarBarRepresentation). I guess I am going to mark bug #8958 resolved,
> unless someone tells me otherwise :).
>
> Utkarsh
>
>
> On Tue, May 5, 2009 at 3:14 PM, Dominik Szczerba <[email protected]>wrote:
>
>> I know what the reason is.
>> I have originally submitted the bug under 'Paraview' project, then
>> realizing that the last posts before were the previous year, and in addition
>> seeing also project 'Paraview3', I concluded that the former must be
>> referring to 2.x branch or so - and I resubmitted to the latter, where also
>> the earlier posts were just days before.
>> To some extent I may be called guilty, but the 2 actual Paraview projects
>> are very confusing.
>> Many thanks - and sorry. I only hope you two can agree on a better
>> solution. I can test whatever you conclude with.
>> thanks and regards,
>> Dominik
>>
>>
>> Robert Maynard wrote:
>>
>>> Odly enough I just finished fixing this bug today, with a patch for the
>>> visibility issue at http://www.vtk.org/Bug/view.php?id=8958
>>>
>>> The locking bug it self can be fixed by simply changing one line.
>>>
>>> Index: C:/Work/ParaViewGeo/VTK/Widgets/vtkBorderWidget.cxx
>>> ===================================================================
>>> --- C:/Work/ParaViewGeo/VTK/Widgets/vtkBorderWidget.cxx    (revision
>>> 3953)
>>> +++ C:/Work/ParaViewGeo/VTK/Widgets/vtkBorderWidget.cxx    (revision
>>> 3954)
>>> @@ -275,7 +275,9 @@
>>>
>>>  reinterpret_cast<vtkBorderRepresentation*>(self->WidgetRep)->MovingOff();
>>>
>>>  // stop adjusting
>>> -  self->EventCallbackCommand->SetAbortFlag(1);
>>> +    //by setting the abort flag to 0 we allow the end interaction event
>>> to be
>>> +    //caught be other observers so that mouse buttons don't get stuck
>>> being down.
>>> +  self->EventCallbackCommand->SetAbortFlag(0);
>>>  self->EndInteraction();
>>>  self->InvokeEvent(vtkCommand::EndInteractionEvent,NULL);
>>> }
>>>
>>> Dominik Szczerba wrote:
>>>
>>>> Many thanks for such a quick reaction!
>>>> I will give it a try next week.
>>>> regards,
>>>> Dominik
>>>>
>>>> Utkarsh Ayachit wrote:
>>>>
>>>>> Dominik,
>>>>> I just committed a fix for this issue. Feel free to give it a try and
>>>>> let me know if it still doesn't work.
>>>>>
>>>>> Thanks,
>>>>> Utkarsh
>>>>>
>>>>> /cvsroot/ParaView3/ParaView3/Qt/Core/pqScalarBarRepresentation.cxx,v
>>>>>  <--  Qt/Core/pqScalarBarRepresentation.cxx
>>>>> new revision: 1.11; previous revision: 1.10
>>>>> /cvsroot/ParaView3/ParaView3/Servers/ServerManager/Resources/rendering.xml,v
>>>>>  <--  Servers/ServerManager/Resources/rendering.xml
>>>>> new revision: 1.345; previous revision: 1.344
>>>>> /cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMScalarBarWidgetRepresentationProxy.cxx,v
>>>>>  <--  Servers/ServerManager/vtkSMScalarBarWidgetRepresentationProxy.cxx
>>>>> new revision: 1.10; previous revision: 1.9
>>>>> /cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMScalarBarWidgetRepresentationProxy.h,v
>>>>>  <--  Servers/ServerManager/vtkSMScalarBarWidgetRepresentationProxy.h
>>>>> new revision: 1.6; previous revision: 1.5
>>>>>
>>>>>
>>>>> On Wed, Apr 15, 2009 at 1:49 PM, Dominik Szczerba <
>>>>> [email protected] <mailto:[email protected]>> wrote:
>>>>>
>>>>>    -----BEGIN PGP SIGNED MESSAGE-----
>>>>>    Hash: SHA1
>>>>>
>>>>>    Even simpler way to reproduce:
>>>>>
>>>>>    just move the (sliced) dataset with MMB onto the visible colorbar: a
>>>>>    lock results for me. Invisible datasets hide their colorbars, but
>>>>> they
>>>>>    are somehow still there, locking the navigation: a clear bug, at
>>>>> least
>>>>>    on my system.
>>>>>
>>>>>    - - Dominik
>>>>>
>>>>>    Dominik Szczerba wrote:
>>>>>     > No, it does not have to do with the mouse outside the render
>>>>> window.
>>>>>     > This is a bug with colorbar. To reproduce:
>>>>>     >
>>>>>     > Load a dataset, slice it, color it with a scalar, display the
>>>>>    colorbar.
>>>>>     > Load another dataset, slice it, color it.
>>>>>     > Now hide the first slice (unclick the eye).
>>>>>     > The color legend is gone, but stays there hidden, faking the
>>>>>    mouse. Move
>>>>>     > the cursor to see false mouse-over effects. This now often
>>>>> results in
>>>>>     > the mentioned "locking" while dragging with the middle button. It
>>>>>    is the
>>>>>     >  invisible colorbar that gets moved instead of the dataset and
>>>>>    the whole
>>>>>     > thing gets eventually stuck. It is extremely annoying, if not
>>>>>    impossible
>>>>>     > in case of complex pipeline states, to go through all entries and
>>>>>    switch
>>>>>     > off the colorbars. Is it possible to fix this?
>>>>>     >
>>>>>     > - Dominik
>>>>>     >
>>>>>     > Utkarsh Ayachit wrote:
>>>>>     >> That generally happens when you start dragging but move the
>>>>>    mouse out
>>>>>     >> of the renderwindow before releasing the mouse button. Is that
>>>>>    indeed
>>>>>     >> the case?
>>>>>     >
>>>>>     >> Utkarsh
>>>>>     >
>>>>>     >> On Tue, Apr 14, 2009 at 6:19 AM, Dominik Szczerba
>>>>>    <[email protected] <mailto:[email protected]>> wrote:
>>>>>     >> Hi,
>>>>>     >> I am getting annoying critical problems when moving datasets
>>>>>    (here, a
>>>>>     >> result of cutting tool): the dataset keeps moving even after I
>>>>>    release
>>>>>     >> the middle mouse button and I have to click around blind like
>>>>>    crazy to
>>>>>     >> "unlock" it. I see the following in the output window:
>>>>>     >
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >> endUndoSet called without a beginUndoSet.
>>>>>     >
>>>>>     >> Can someone please advise how to fix it?
>>>>>     >
>>>>>     >> regards,
>>>>>     >> Dominik
>>>>>     > _______________________________________________
>>>>>     > Powered by www.kitware.com <http://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
>>>>>     >
>>>>>
>>>>>    - --
>>>>>    Dominik Szczerba, PhD
>>>>>    Computational Physics Group
>>>>>    IT'IS Foundation for Research
>>>>>    www.itis.ethz.ch <http://www.itis.ethz.ch>
>>>>>    -----BEGIN PGP SIGNATURE-----
>>>>>    Version: GnuPG v2.0.9 (GNU/Linux)
>>>>>    Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
>>>>>
>>>>>    iEYEARECAAYFAknmHiYACgkQ/EBMh9bUuzJwwQCfZSHSpQ99zTAxS6tiIYAhZyvm
>>>>>    DqgAoKFZHkNGdmIro+9P4Zel4P/U7eC4
>>>>>    =d9xA
>>>>>    -----END PGP SIGNATURE-----
>>>>>
>>>>>
>>>>>
>>>>
>>>
>> --
>> Dominik Szczerba, PhD
>> Computational Physics Group
>> IT'IS Foundation
>> http://www.itis.ethz.ch
>>
>
>
commit 8fd50e6bcf1d11e38387affec4eb6881e61cfddb
Author: Utkarsh Ayachit <[email protected]>
Date:   Wed May 6 08:53:39 2009 -0400

    BUG: Fixed BUG 8958. Committing a slightly modified version of Robert's patch to
    disable interaction with scalar bar when its visibility is changed.

diff --git a/Qt/Core/pqScalarBarRepresentation.cxx b/Qt/Core/pqScalarBarRepresentation.cxx
index 5511673..9007235 100644
--- a/Qt/Core/pqScalarBarRepresentation.cxx
+++ b/Qt/Core/pqScalarBarRepresentation.cxx
@@ -97,6 +97,14 @@ pqScalarBarRepresentation::pqScalarBarRepresentation(const QString& group,
 }
 
 //-----------------------------------------------------------------------------
+void pqScalarBarRepresentation::setVisible(bool visible)
+{
+	pqSMAdaptor::setElementProperty(this->getProxy()->GetProperty("Enabled"),
+    (visible? 1 : 0));
+  this->Superclass::setVisible(visible);
+}
+
+//-----------------------------------------------------------------------------
 pqScalarBarRepresentation::~pqScalarBarRepresentation()
 {
   if (this->Internal->LookupTable)
diff --git a/Qt/Core/pqScalarBarRepresentation.h b/Qt/Core/pqScalarBarRepresentation.h
index 81b4236..f2627b8 100644
--- a/Qt/Core/pqScalarBarRepresentation.h
+++ b/Qt/Core/pqScalarBarRepresentation.h
@@ -62,8 +62,13 @@ public:
   /// Set the title formed by combining two parts.
   void setTitle(const QString& name, const QString& component);
 
-  /// set by pqPipelineRepresentation when it forces the visiblity of the scalar
-  /// bar to be off.
+  /// Set the visibility. Note that this affects the visibility of the
+  /// display in the view it has been added to, if any. This method does not 
+  /// call a re-render on the view, caller must call that explicitly.
+  virtual void setVisible(bool visible);
+
+  /// set by pqPipelineRepresentation when it forces the visibility of the
+  /// scalar bar to be off.
   void setAutoHidden(bool h)
     { this->AutoHidden = h; }
   bool getAutoHidden() const
_______________________________________________
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