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
