[vtkusers] Problem QVTKWidget using vtkCarbonRenderWindow instead of vtkCocoaRenderWindow
Elvis Dowson
elvis.dowson at mac.com
Tue Sep 23 10:19:25 EDT 2008
Hi Mike,
There is an alpha release of Qt-4.5 on the troll
tech website. Here is the link: http://trolltech.com/company/newsroom/announcements/press.2008-06-09.7117549806/?searchterm=Qt%204.5
Could you guide me on what I should do to modify vtk to support Qt-4.5
using Cocoa? I'm basically trying to get the QVTK plugin to compile
correctly and use the Cocoa framework.
Best regards,
Elvis Dowson
On Sep 23, 2008, at 5:36 PM, Mike Jackson wrote:
> Qt 4.5 will be based on Cocoa (That is the current news from TT). Qt
> 4.4 is CARBON based so you will have to build VTK using Carbon=ON if
> you want to use Qt. As far as supporting Cocoa/Qt in the future I am
> not sure if anyone has really looked at it yet. _IF_ TrollTech does
> deliver Qt/Cocoa for Qt 4.5 then the test is pretty simple. If the
> Qt Version is less than 4.5 then use Carbon. If it is 4.5 or above
> use Cocoa. This can be detected in CMake and set accordingly.
>
> Q_WS_MAC is defined by Qt in its header files.
>
>
> _________________________________________________
> | Mike Jackson - Principal Software Engineer |
> | BlueQuartz Software |
> | mike.jackson at bluequartz.net |
> | www.bluequartz.net |
> ---------------------------------------------------
>
> On Sep 23, 2008, at 9:27 AM, Elvis Dowson wrote:
>
>> Hi,
>> I just downloaded the latest vtk-5.x sources from cvs
>> (vtk-5.3) and tried to compile shared libraries, with
>>
>> Problem Outline
>>
>> VTK_USE_CARBON=OFF
>> VTK_USE_COCOA=ON
>> VTK_GUI_SUPPORT=ON
>> VTK_USE_QVTK=ON
>> DESIRED_QT_VERSION=4
>>
>> I am using qt-4.4.2 for mac os, which has support for Cocoa.
>>
>> Somehow, even through I have disabled support for Carbon, this
>> error comes up.
>>
>> "vtkCarbonRenderWindow::UpdateGLRegion()", referenced from:
>> QVTKWidget::DirtyRegionProcessor(OpaqueEventHandlerCallRef*,
>> OpaqueEventRef*, void*) in libQVTK.a(QVTKWidget.o)
>>
>> If I look at the file GUISupport/Qt/CMakeLists.cxx (what is this
>> file used for BTW?)
>>
>> I see the following implementation. Shouldn't it use
>> vtkCocoaRenderWindow instead?
>>
>> #if defined (Q_WS_MAC) && QT_VERSION >= 0x040000
>> OSStatus QVTKWidget::DirtyRegionProcessor(EventHandlerCallRef,
>> EventRef event, void* wid)
>> {
>> QVTKWidget* widget = reinterpret_cast<QVTKWidget*>(wid);
>> UInt32 event_kind = GetEventKind(event);
>> UInt32 event_class = GetEventClass(event);
>> if(event_class == 'cute' && event_kind == 20)
>> {
>> static_cast<vtkCarbonRenderWindow*>(widget->GetRenderWindow())-
>> >UpdateGLRegion();
>> }
>> return eventNotHandledErr;
>> }
>>
>> #endif
>>
>>
>> If I look at the file QVTKWidget.h
>>
>> there is no implementation for the case when qt version >= 4 and
>> the user selects the Cocoa libraries.
>>
>> #if defined(Q_WS_MAC) && QT_VERSION >= 0x040000
>> #include <Carbon/Carbon.h> // Event handling for dirty region
>> #endif
>>
>> How can I go about trying to fix this?
>>
>> Where is Q_WS_MAC defined?
>>
>> General Question
>>
>> What should I do to make the modifications to support Cocoa for QVTK?
>>
>>
>> Best regards,
>>
>> Elvis Dowson
>> _______________________________________________
>> This is the private VTK discussion list.
>> Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list