Browse Source

Add ctkToolTipTrapper used to prevent tooltips from appearing

Jean-Christophe Fillion-Robin 14 years ago
parent
commit
185c6027ed
3 changed files with 153 additions and 0 deletions
  1. 3 0
      Libs/Widgets/CMakeLists.txt
  2. 78 0
      Libs/Widgets/ctkToolTipTrapper.cpp
  3. 72 0
      Libs/Widgets/ctkToolTipTrapper.h

+ 3 - 0
Libs/Widgets/CMakeLists.txt

@@ -77,6 +77,8 @@ SET(KIT_SRCS
   ctkSliderWidget.h
   ctkSliderWidget.h
   ctkTestApplication.cpp
   ctkTestApplication.cpp
   ctkTestApplication.h
   ctkTestApplication.h
+  ctkToolTipTrapper.cpp
+  ctkToolTipTrapper.h
   ctkTransferFunctionBarsItem.cpp
   ctkTransferFunctionBarsItem.cpp
   ctkTransferFunctionBarsItem.h
   ctkTransferFunctionBarsItem.h
   ctkTransferFunctionControlPointsItem.cpp
   ctkTransferFunctionControlPointsItem.cpp
@@ -144,6 +146,7 @@ SET(KIT_MOC_SRCS
   ctkSettings.h
   ctkSettings.h
   ctkSliderWidget.h
   ctkSliderWidget.h
   ctkTestApplication.h
   ctkTestApplication.h
+  ctkToolTipTrapper.h
   ctkTransferFunctionBarsItem.h
   ctkTransferFunctionBarsItem.h
   ctkTransferFunctionControlPointsItem.h
   ctkTransferFunctionControlPointsItem.h
   ctkTransferFunctionGradientItem.h
   ctkTransferFunctionGradientItem.h

+ 78 - 0
Libs/Widgets/ctkToolTipTrapper.cpp

@@ -0,0 +1,78 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+/*=========================================================================
+
+   Program: ParaView
+   Module:    ctkToolTipTrapper.cxx
+
+   Copyright (c) 2005-2008 Sandia Corporation, Kitware Inc.
+   All rights reserved.
+
+   ParaView is a free software; you can redistribute it and/or modify it
+   under the terms of the ParaView license version 1.2. 
+
+   See License_v1.2.txt for the full ParaView license.
+   A copy of this license can be obtained by contacting
+   Kitware Inc.
+   28 Corporate Drive
+   Clifton Park, NY 12065
+   USA
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=========================================================================*/
+
+// Qt includes
+#include <QCoreApplication>
+
+// CTK includes
+#include "ctkToolTipTrapper.h"
+
+//------------------------------------------------------------------------------
+ctkToolTipTrapper::ctkToolTipTrapper(QObject * newParent):Superclass(newParent)
+{
+  QCoreApplication::instance()->installEventFilter(this);
+}
+
+//------------------------------------------------------------------------------
+ctkToolTipTrapper::~ctkToolTipTrapper()
+{
+  QCoreApplication::instance()->removeEventFilter(this);
+}
+
+//------------------------------------------------------------------------------
+bool ctkToolTipTrapper::eventFilter(QObject* /*watched*/, QEvent* input_event)
+{
+  if(input_event->type() == QEvent::ToolTip)
+    {
+    return true;
+    }
+  return false;
+}

+ 72 - 0
Libs/Widgets/ctkToolTipTrapper.h

@@ -0,0 +1,72 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+/*=========================================================================
+
+   Program: ParaView
+   Module:    pqToolTipTrapper.h
+
+   Copyright (c) 2005-2008 Sandia Corporation, Kitware Inc.
+   All rights reserved.
+
+   ParaView is a free software; you can redistribute it and/or modify it
+   under the terms of the ParaView license version 1.2. 
+
+   See License_v1.2.txt for the full ParaView license.
+   A copy of this license can be obtained by contacting
+   Kitware Inc.
+   28 Corporate Drive
+   Clifton Park, NY 12065
+   USA
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=========================================================================*/
+
+#ifndef __ctkToolTipTrapper_h
+#define __ctkToolTipTrapper_h
+
+// Qt includes
+#include <QObject>
+
+#include "ctkWidgetsExport.h"
+
+/// To prevent tooltips from appearing, create an instance of this object.
+class CTK_WIDGETS_EXPORT ctkToolTipTrapper : public QObject
+{
+  Q_OBJECT
+public:
+  typedef QObject Superclass;
+  explicit ctkToolTipTrapper(QObject * newParent = 0);
+  virtual ~ctkToolTipTrapper();
+
+  bool eventFilter(QObject* watched, QEvent* event);
+};
+
+#endif