]> Creatis software - crea.git/commitdiff
#3227 crea Feature New Normal - vtk8itk4wx3-mingw64 MACOS
authorEduardo Davila <davila@ei-ed-606.creatis.insa-lyon.fr>
Fri, 14 Sep 2018 08:40:31 +0000 (10:40 +0200)
committerEduardo Davila <davila@ei-ed-606.creatis.insa-lyon.fr>
Fri, 14 Sep 2018 08:40:31 +0000 (10:40 +0200)
cmake/CREAMacro_FindAndUseWxWidgets.cmake
src/creaRTTI.cxx
src/creaSystem.h
src/creawxVTKRenderWindowInteractor.cxx

index b10b9f7212f54f45e4d662649a33c88635ceae7b..bc07f5594fac7fd426a90e8d5fcbd64201c1e302 100644 (file)
@@ -59,49 +59,39 @@ MACRO(CREA_FIND_WXWIDGETS)
 
 ##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)
 #=======================================================================
 
@@ -142,28 +132,32 @@ MACRO(CREA_USE_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)
 #=======================================================================
index d997215854e40ab7802d1209c40893aea48b2400..872d64b7a0721080314442e2fdee3e5079b2293c 100644 (file)
@@ -65,11 +65,11 @@ namespace crea
     
   
   
-#if __APPLE__
-//EED2018-08-28  Be careful  #include <typeinfo> is not complete  (CommandLine mechanisme Xcode)
-printf("EED creaRTTI  run_time_up_or_down_cast   2018-08-28 Warnning !!!!  Apple cast missing  __do_upcast   ")
-       return source_pointer;
-#else
+//  #if __APPLE__
+//  //EED2018-08-28  Be careful  #include <typeinfo> is not complete  (CommandLine mechanisme Xcode)
+//  printf("EED creaRTTI  run_time_up_or_down_cast   2018-08-28 Warnning !!!!  Apple cast missing  __do_upcast   ");
+//     return source_pointer;
+//  #else
  #if __GNUC__ > 3 ||                                   \
    (__GNUC__ == 3 && (__GNUC_MINOR__ > 1 ||            \
                     (__GNUC_MINOR__ == 1 &&            \
@@ -94,7 +94,8 @@ printf("EED creaRTTI  run_time_up_or_down_cast   2018-08-28 Warnning !!!!  Apple
     // target_pointer = __RTDynamicCast(source_pointer, 0, source_type, target_type, 0);
   #endif
     return target_pointer;
-#endif 
+    
+//  #endif 
 
  
     
index 34572ce9a3af225ce8b47e35ad38ff97cb1af78e..86d9346a3c110addc0b6003776f571776a0d3c24 100644 (file)
@@ -168,7 +168,7 @@ namespace crea
 
   extern "C" 
   {
-    CREA_EXPORT inline const std::string& CREA_CDECL GetVersion() 
+    CREA_EXPORT inline const std::string& CREA_CDECL GetVersionCREA() 
     {
       static const std::string v(CREA_STRINGIFY_SYMBOL(CREA_VERSION));
       return v;
index 62cd9da53b914773d592cfae26a6af5abf20e1c5..61fe2302b15066f77d7f137beeb1002769734d0a 100644 (file)
@@ -43,6 +43,9 @@
 
 =========================================================================*/
 
+#import <Cocoa/Cocoa.h>
+
+
 #include <assert.h>
 
 #include "creawxVTKRenderWindowInteractor.h"
@@ -100,7 +103,7 @@ wxWindow* wxGetTopLevelParent(wxWindow *win)
 // 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
@@ -461,6 +464,7 @@ void wxVTKRenderWindowInteractor::OnTimer(wxTimerEvent& WXUNUSED(event))
 // 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;
 
@@ -486,6 +490,8 @@ long wxVTKRenderWindowInteractor::GetHandleHack()
 
     // 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
 
@@ -493,6 +499,7 @@ long wxVTKRenderWindowInteractor::GetHandleHack()
 //    handle_tmp = (long)this->GetXWindow();
 //#endif
 
+printf("EED  wxVTKRenderWindowInteractor::GetHandleHack End BBB handle_tmp %d \n", handle_tmp);
   return handle_tmp;
 }
 //---------------------------------------------------------------------------
@@ -506,8 +513,16 @@ void wxVTKRenderWindowInteractor::OnPaint(wxPaintEvent& WXUNUSED(event))
   {
     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
@@ -889,6 +904,7 @@ void wxVTKRenderWindowInteractor::OnMouseCaptureLost(wxMouseCaptureLostEvent& ev
 //---------------------------------------------------------------------------
 void wxVTKRenderWindowInteractor::Render()
 {
+printf("EED wxVTKRenderWindowInteractor::Render Start \n");
 #if wxCHECK_VERSION(2, 8, 0)
   int renderAllowed = !IsFrozen();
 #else
@@ -914,7 +930,9 @@ void wxVTKRenderWindowInteractor::Render()
 #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())
@@ -928,6 +946,9 @@ void wxVTKRenderWindowInteractor::Render()
       RenderWindow->Render();
       }
 #endif
+
+printf("EED wxVTKRenderWindowInteractor::Render End \n");
+
     }
 }
 //---------------------------------------------------------------------------