Attached is a patch if you wanted to build it too.
It also needs cmake 2.6.3 if you want to build with Qt/Cocoa.
And when you configure Qt 4.5, add the "-cocoa" and "-arch x86_64" flags to configure. The progress bar code in the patch isn't perfect yet. I didn't have any more time to debug it.
Other than that, I didn't see any other issues.

Clint

Michael Jackson wrote:
<said with a _lot_ of jest>
Who wants to try out the just released Qt 4.5 with Cocoa 64 bit and ParaView 64 bit? Or maybe some already are trying it out? Any complaints or other issues building ParaView CVS against Qt 4.5?

_________________________________________________________
Mike Jackson                  [email protected]
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio



_______________________________________________
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

Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/CMakeLists.txt,v
retrieving revision 1.93
diff -u -r1.93 CMakeLists.txt
--- CMakeLists.txt	23 Jan 2009 20:51:04 -0000	1.93
+++ CMakeLists.txt	6 Feb 2009 21:25:22 -0000
@@ -99,17 +99,20 @@
     STRING(REGEX MATCH "^4\\.3\\.[0-9]+" qt_version_tmp "${QTVERSION}")
     IF (NOT qt_version_tmp)
       STRING(REGEX MATCH "^4\\.4\\.[0-9]+" qt_version4_4_tmp "${QTVERSION}")
-      IF (NOT qt_version4_4_tmp)
+      IF (NOT qt_version4_4_tmp AND NOT QT_MAC_USE_COCOA)
         MESSAGE(SEND_ERROR "Qt ${QTVERSION} not supported.  Please use Qt 4.3 (you may need to clean your dirtied cache).")
-      ELSE (NOT qt_version4_4_tmp)
+      ELSE (NOT qt_version4_4_tmp AND NOT QT_MAC_USE_COCOA)
         MESSAGE("WARNING: You are using Qt ${QTVERSION}. Officially supported version is Qt 4.3")
-      ENDIF (NOT qt_version4_4_tmp)
+      ENDIF (NOT qt_version4_4_tmp AND NOT QT_MAC_USE_COCOA)
     ENDIF (NOT qt_version_tmp)
     # enforce Carbon in VTK for Qt/Mac
-    IF(Q_WS_MAC)
+    IF(Q_WS_MAC AND QT_MAC_USE_COCOA)
+      SET(VTK_USE_CARBON OFF CACHE BOOL "Build VTK with Carbon" FORCE)
+      SET(VTK_USE_COCOA ON CACHE BOOL "Build VTK with Cocoa" FORCE)
+    ELSE(Q_WS_MAC AND QT_MAC_USE_COCOA)
       SET(VTK_USE_CARBON ON CACHE BOOL "Build VTK with Carbon" FORCE)
       SET(VTK_USE_COCOA OFF CACHE BOOL "Build VTK with Cocoa" FORCE)
-    ENDIF(Q_WS_MAC)
+    ENDIF(Q_WS_MAC AND QT_MAC_USE_COCOA)
     # Mark these Qt variables as advanced. Users don't really have to set them.
     MARK_AS_ADVANCED(DESIRED_QT_VERSION VTK_USE_QVTK VTK_USE_GUISUPPORT)
     MARK_AS_ADVANCED(QT_MKSPECS_DIR QT_PLUGINS_DIR QT_X11_X11_LIBRARY QT_X11_Xext_LIBRARY QT_X11_m_LIBRARY)
Index: Qt/Widgets/CMakeLists.txt
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Qt/Widgets/CMakeLists.txt,v
retrieving revision 1.38
diff -u -r1.38 CMakeLists.txt
--- Qt/Widgets/CMakeLists.txt	20 Dec 2008 02:14:57 -0000	1.38
+++ Qt/Widgets/CMakeLists.txt	6 Feb 2009 21:25:23 -0000
@@ -58,6 +58,7 @@
   pqLookmarkToolbar.h
   pqProgressBar.cxx
   pqProgressBar.h
+  pqProgressBarHelper.h
   pqProgressWidget.cxx
   pqProgressWidget.h
   pqQuickLaunchDialog.cxx
@@ -95,6 +96,12 @@
   QtWidgetsPlugin.h
 )
 
+IF(Q_WS_MAC)
+  SET(QtWidgets_SRCS ${QtWidgets_SRCS} pqProgressBarHelper.mm)
+ELSE(Q_WS_MAC)
+  SET(QtWidgets_SRCS ${QtWidgets_SRCS} pqProgressBarHelper.cxx)
+ENDIF(Q_WS_MAC)
+
 ##########################################################################
 ## Add the header files that need to moc processed.
 
Index: Qt/Widgets/pqProgressBar.cxx
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Qt/Widgets/pqProgressBar.cxx,v
retrieving revision 1.10
diff -u -r1.10 pqProgressBar.cxx
--- Qt/Widgets/pqProgressBar.cxx	4 Apr 2008 13:33:00 -0000	1.10
+++ Qt/Widgets/pqProgressBar.cxx	6 Feb 2009 21:25:23 -0000
@@ -30,114 +30,10 @@
 
 =========================================================================*/
 #include "pqProgressBar.h"
+#include "pqProgressBarHelper.h"
 #include <QTimer>
 #include <QHBoxLayout>
 
-#ifdef Q_WS_MAC
-#include <Carbon/Carbon.h>
-
-// helper class for the mac
-// we can't call QCoreApplication::processEvents to update the progress bar
-// so we'll do some extra work to make the progress bar update
-class pqProgressBarHelper : public QWidget
-{
-public:
-  pqProgressBarHelper(pqProgressBar* p)
-    : QWidget(p, Qt::Tool | Qt::FramelessWindowHint), ParentProgress(p)
-    {
-    this->Progress = new QProgressBar(this);
-    QHBoxLayout* l = new QHBoxLayout(this);
-    l->setMargin(0);
-    l->addWidget(this->Progress);
-    }
-  
-  void setFormat(const QString& fmt)
-    {
-    this->Progress->setFormat(fmt);
-    }
-
-  void setProgress(int num)
-    {
-    this->Progress->setValue(num);
-    
-    // update the progress bar on the Mac
-    // Qt only posts a request to update the window
-    // we really want it to happen now
-    HIViewRef thisView = HIViewRef(this->Progress->winId());
-    HIViewSetNeedsDisplay(thisView, true);
-    HIWindowFlush(HIViewGetWindow(thisView));
-    }
-  
-  void enableProgress(bool e)
-    {
-    if(e)
-      {
-      QSize sz = this->ParentProgress->size();
-      QRect r(this->ParentProgress->mapToGlobal(QPoint(0,0)), sz);
-      this->setGeometry(r);
-      this->Progress->setAlignment(this->ParentProgress->alignment());
-      this->Progress->setMaximum(this->ParentProgress->maximum());
-      this->Progress->setMinimum(this->ParentProgress->minimum());
-      this->Progress->setOrientation(this->ParentProgress->orientation());
-      this->Progress->reset();
-      this->show();
-      }
-    else
-      {
-      this->hide();
-      }
-    }
-
-  bool progressEnabled() const
-    {
-    return this->isVisible();
-    }
-
-  QProgressBar* Progress;
-  pqProgressBar* ParentProgress;
-};
-
-#else
-
-// helper class for other platforms
-class pqProgressBarHelper : public QObject
-{
-public:
-  pqProgressBarHelper(pqProgressBar* p)
-    : QObject(p), Progress(p)
-    {
-    }
-  
-  void setFormat(const QString& fmt)
-    {
-    this->Progress->setFormat(fmt);
-    }
-
-  void setProgress(int num)
-    {
-    this->Progress->setValue(num);
-    }
-
-  void enableProgress(bool e)
-    {
-    this->Progress->setEnabled(e);
-    this->Progress->setTextVisible(e);
-    if(!e)
-      {
-      this->Progress->reset();
-      }
-    }
-
-  bool progressEnabled() const
-    {
-    return this->Progress->isEnabled();
-    }
-
-  pqProgressBar* Progress;
-};
-
-#endif
-
 //-----------------------------------------------------------------------------
 pqProgressBar::pqProgressBar(QWidget* _p) : QProgressBar(_p)
 {
Index: Qt/Widgets/pqProgressBarHelper.cxx
===================================================================
RCS file: Qt/Widgets/pqProgressBarHelper.cxx
diff -N Qt/Widgets/pqProgressBarHelper.cxx
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Qt/Widgets/pqProgressBarHelper.cxx	6 Feb 2009 21:25:23 -0000
@@ -0,0 +1,70 @@
+/*=========================================================================
+
+   Program: ParaView
+   Module:    $RCSfile: pqProgressBar.cxx,v $
+
+   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.
+
+=========================================================================*/
+
+#include "pqProgressBarHelper.h"
+#include "pqProgressBar.h"
+
+pqProgressBarHelper::pqProgressBarHelper(pqProgressBar* p)
+#ifdef Q_WS_MAC
+    : QWidget(p), Progress(p)
+#else
+    : QObject(p), Progress(p)
+#endif
+{
+}
+  
+void pqProgressBarHelper::setFormat(const QString& fmt)
+{
+  this->Progress->setFormat(fmt);
+}
+
+void pqProgressBarHelper::setProgress(int num)
+{
+  this->Progress->setValue(num);
+}
+
+void pqProgressBarHelper::enableProgress(bool e)
+{
+  this->Progress->setEnabled(e);
+  this->Progress->setTextVisible(e);
+  if(!e)
+    {
+    this->Progress->reset();
+    }
+}
+
+bool pqProgressBarHelper::progressEnabled() const
+{
+  return this->Progress->isEnabled();
+}
+
+
Index: Qt/Widgets/pqProgressBarHelper.h
===================================================================
RCS file: Qt/Widgets/pqProgressBarHelper.h
diff -N Qt/Widgets/pqProgressBarHelper.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Qt/Widgets/pqProgressBarHelper.h	6 Feb 2009 21:25:23 -0000
@@ -0,0 +1,68 @@
+/*=========================================================================
+
+   Program: ParaView
+   Module:    $RCSfile: pqProgressBar.cxx,v $
+
+   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 PQ_PROGESS_BAR_HELPER_HPP
+#define PQ_PROGESS_BAR_HELPER_HPP
+
+#include <QWidget>
+class pqProgressBar;
+class QProgressBar;
+
+// progress bar helper class
+// we can't call QCoreApplication::processEvents to update the progress bar
+// so we'll do some extra work to make the progress bar update
+#ifdef Q_WS_MAC
+class pqProgressBarHelper : public QWidget
+#else
+class pqProgressBarHelper : public QObject
+#endif
+{
+public:
+  pqProgressBarHelper(pqProgressBar* p);
+  
+  void setFormat(const QString& fmt);
+
+  void setProgress(int num);
+  
+  void enableProgress(bool e);
+
+  bool progressEnabled() const;
+
+  pqProgressBar* ParentProgress;
+#ifdef Q_WS_MAC
+  QProgressBar* Progress;
+#endif
+};
+
+#endif
+
+
Index: Qt/Widgets/pqProgressBarHelper.mm
===================================================================
RCS file: Qt/Widgets/pqProgressBarHelper.mm
diff -N Qt/Widgets/pqProgressBarHelper.mm
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Qt/Widgets/pqProgressBarHelper.mm	6 Feb 2009 21:25:23 -0000
@@ -0,0 +1,98 @@
+/*=========================================================================
+
+   Program: ParaView
+   Module:    $RCSfile: pqProgressBar.cxx,v $
+
+   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.
+
+=========================================================================*/
+
+#include "pqProgressBarHelper.h"
+#include "pqProgressBar.h"
+#include <QHBoxLayout>
+
+#ifndef QT_MAC_USE_COCOA
+#include <Carbon/Carbon.h>
+#endif
+
+pqProgressBarHelper::pqProgressBarHelper(pqProgressBar* p)
+    : QWidget(p, Qt::Tool | Qt::FramelessWindowHint), ParentProgress(p)
+{
+  this->Progress = new QProgressBar(this);
+  QHBoxLayout* l = new QHBoxLayout(this);
+  l->setMargin(0);
+  l->addWidget(this->Progress);
+}
+  
+void pqProgressBarHelper::setFormat(const QString& fmt)
+{
+  this->Progress->setFormat(fmt);
+}
+
+void pqProgressBarHelper::setProgress(int num)
+{
+  this->Progress->setValue(num);
+   
+  // update the progress bar on the Mac
+  // Qt only posts a request to update the window
+  // we really want it to happen now
+#ifndef QT_MAC_USE_COCOA 
+  HIViewRef thisView = HIViewRef(this->Progress->winId());
+  HIViewSetNeedsDisplay(thisView, true);
+  HIWindowFlush(HIViewGetWindow(thisView));
+#else
+  OSViewRef view = reinterpret_cast<OSViewRef>(this->Progress->winId());
+  [view setNeedsDisplay:YES];
+  OSWindowRef wnd = [view window];
+  [wnd flushWindowIfNeeded];
+#endif
+}
+  
+void pqProgressBarHelper::enableProgress(bool e)
+{
+  if(e)
+    {
+    QSize sz = this->ParentProgress->size();
+    QRect r(this->ParentProgress->mapToGlobal(QPoint(0,0)), sz);
+    this->setGeometry(r);
+    this->Progress->setAlignment(this->ParentProgress->alignment());
+    this->Progress->setMaximum(this->ParentProgress->maximum());
+    this->Progress->setMinimum(this->ParentProgress->minimum());
+    this->Progress->setOrientation(this->ParentProgress->orientation());
+    this->Progress->reset();
+    this->show();
+    }
+  else
+    {
+    this->hide();
+    }
+}
+
+bool pqProgressBarHelper::progressEnabled() const
+{
+  return this->isVisible();
+}
+
_______________________________________________
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