##2018-08-28
if(APPLE)
+ SET(wxWidgets_CONFIG_EXECUTABLE /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wx-config CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
+ SET(wxWidgets_wxrc_EXECUTABLE /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wxrc-3.1 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
+elseif(UNIX)
+ #MESSAGE ( "===============Manual wx-config 2 EED =======================")
+ #SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-2.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
+ #SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-2.8 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-3.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-3.0 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
-elseif(UNIX)
- SET(wxWidgets_CONFIG_EXECUTABLE /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxGTK/3.0/bin/wx-config CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
- SET(wxWidgets_wxrc_EXECUTABLE /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxGTK/3.0/bin/wxrc-3.0 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
-endif()
-
-
-# MESSAGE ( "===============Manual wx-config 2 EED =======================")
-# SET(wxWidgets_CONFIG_EXECUTABLE /usr/bin/wx-config-2.0 CACHE STRING wxWidgets_CONFIG_EXECUTABLE FORCE)
-# SET(wxWidgets_wxrc_EXECUTABLE /usr/bin/wxrc-2.8 CACHE STRING wxWidgets_wxrc_EXECUTABLE FORCE)
-
- IF(NOT wxWidgets_FOUND)
- # CMake 2.6:
- # technically those packages are not required
- # since one can still use the Motif/X11 version and not the gtk one:
- FIND_PACKAGE(PkgConfig REQUIRED)
-
-## pkg_check_modules (GTK2 gtk+-2.0)
-## pkg_check_modules (GTK322 gtk+-3.0)
- pkg_check_modules (GTK3 REQUIRED gtk+-3.0)
- #MESSAGE("${GTK3_INCLUDE_DIRS}")
-
- # Can I require all my user to have the gl lib on linux, even if they do not really need it...
- SET(WXGLCANVASLIBS "gl")
-
- SET(WXAUILIBS "aui")
- # LG : These options should be set by the user at top level of crea
- FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS base core adv html
+ # CMake 2.6:
+ # technically those packages are not required
+ # since one can still use the Motif/X11 version and not the gtk one:
+ FIND_PACKAGE(PkgConfig REQUIRED)
+ ## pkg_check_modules (GTK2 gtk+-2.0)
+ ## pkg_check_modules (GTK322 gtk+-3.0)
+ pkg_check_modules (GTK3 REQUIRED gtk+-3.0)
+endif(APPLE)
+
+ # Can I require all my user to have the gl lib on linux, even if they do not really need it...
+ SET(WXGLCANVASLIBS "gl")
+
+ SET(WXAUILIBS "aui")
+ # LG : These options should be set by the user at top level of crea
+ FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS base core adv html
${WXAUILIBS}
- ${WXGLCANVASLIBS})
- #
+ ${WXGLCANVASLIBS}
+ )
IF(wxWidgets_FOUND)
MESSAGE ( STATUS "=======================================")
MESSAGE ( STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
-
ENDIF(wxWidgets_FOUND)
- ENDIF(NOT wxWidgets_FOUND)
+
ENDIF(WIN32)
-MESSAGE ( "EEEE")
-
-
ENDMACRO(CREA_FIND_WXWIDGETS)
#=======================================================================
ELSE(WIN32)
-## # GTK2
-## INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
-## LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
-## LINK_LIBRARIES(${GTK2_LIBRARIES})
- # GTK3
- INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
- LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
- LINK_LIBRARIES(${GTK3_LIBRARIES} )
- # WX
-
-# INCLUDE( ${GTK_USE_FILE} )
- INCLUDE( ${wxWidgets_USE_FILE} )
- MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
-
- SET(WXWIDGETS_LIBRARIES
-## GTK2
-## ${GTK2_LIBRARIES}
- ${GTK3_LIBRARIES}
- #${GTK_LIBRARIES}
- ${wxWidgets_LIBRARIES}
- )
-
+ if(APPLE)
+ INCLUDE( ${wxWidgets_USE_FILE} )
+ MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
+ SET(WXWIDGETS_LIBRARIES ${wxWidgets_LIBRARIES} )
+ elseif(UNIX)
+ ## # GTK2
+ ## INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
+ ## LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
+ ## LINK_LIBRARIES(${GTK2_LIBRARIES})
+ # GTK3
+ INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
+ LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})
+ LINK_LIBRARIES(${GTK3_LIBRARIES} )
+ # WX
+ # INCLUDE( ${GTK_USE_FILE} )
+ INCLUDE( ${wxWidgets_USE_FILE} )
+ MARK_AS_ADVANCED(wxWidgets_CONFIG_EXECUTABLE)
+ SET(WXWIDGETS_LIBRARIES
+ ## GTK2
+ ## ${GTK2_LIBRARIES}
+ ${GTK3_LIBRARIES}
+ #${GTK_LIBRARIES}
+ ${wxWidgets_LIBRARIES}
+ )
+ endif(APPLE)
+
ENDIF(WIN32)
ENDMACRO(CREA_USE_WXWIDGETS)
#=======================================================================
=========================================================================*/
+#import <Cocoa/Cocoa.h>
+
+
#include <assert.h>
#include "creawxVTKRenderWindowInteractor.h"
// To access objc calls on cocoa
#ifdef __WXCOCOA__
#ifdef VTK_USE_COCOA
-#import <Cocoa/Cocoa.h>
+//EED #import <Cocoa/Cocoa.h>
// This trick is no longer need in VTK CVS, should get rid of that:
#define id Id
#else
// in wxPython/src/helpers.cpp
long wxVTKRenderWindowInteractor::GetHandleHack()
{
+printf("EED wxVTKRenderWindowInteractor::GetHandleHack start \n");
//helper function to hide the MSW vs GTK stuff
long handle_tmp = 0;
// Find and return the actual X-Window.
#if defined(__WXGTK__) || defined(__WXX11__)
+printf("EED wxVTKRenderWindowInteractor::GetHandleHack End AAA handle_tmp %ld \n", handle_tmp);
+printf("EED wxVTKRenderWindowInteractor::GetHandleHack End AAA handle_tmp %ld \n", (long)GetXWindow(this));
return (long)GetXWindow(this);
#endif
// handle_tmp = (long)this->GetXWindow();
//#endif
+printf("EED wxVTKRenderWindowInteractor::GetHandleHack End BBB handle_tmp %d \n", handle_tmp);
return handle_tmp;
}
//---------------------------------------------------------------------------
{
Handle = GetHandleHack();
-
+#ifdef __WXCOCOA__
+ vtkCocoaRenderWindow *rwin = vtkCocoaRenderWindow::SafeDownCast(RenderWindow);
+ NSView *nvsview = (NSView* )Handle;
+ NSWindow *nswindow = nvsview.window;
+ rwin->SetRootWindow( nswindow );
+ rwin->SetWindowId( reinterpret_cast<void *>(nvsview) );
+#else
RenderWindow->SetWindowId(reinterpret_cast<void *>(Handle));
+#endif
+
// Cocoa
//---------------------------------------------------------------------------
void wxVTKRenderWindowInteractor::Render()
{
+printf("EED wxVTKRenderWindowInteractor::Render Start \n");
#if wxCHECK_VERSION(2, 8, 0)
int renderAllowed = !IsFrozen();
#else
#endif
if(Handle && (Handle == GetHandleHack()) )
{
+printf("EED wxVTKRenderWindowInteractor::Render 1 \n");
RenderWindow->Render();
+printf("EED wxVTKRenderWindowInteractor::Render 2 \n");
}
#if VTK_MAJOR_VERSION > 4 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 2)
else if(GetHandleHack())
RenderWindow->Render();
}
#endif
+
+printf("EED wxVTKRenderWindowInteractor::Render End \n");
+
}
}
//---------------------------------------------------------------------------