]> Creatis software - crea.git/commitdiff
#3169 crea Feature New Normal - branch vtk7itk4wx3-mxecc
authorEduardo DAVILA <davila@localhost.localdomain>
Wed, 17 Jan 2018 13:42:45 +0000 (14:42 +0100)
committerEduardo DAVILA <davila@localhost.localdomain>
Wed, 17 Jan 2018 13:42:45 +0000 (14:42 +0100)
cmake/CREAMacro_FindAndUseWxWidgets.cmake
src/creawxVTKRenderWindowInteractor.cxx

index 0e1dabd267d2e34689fe2c764d47a3de3c604dab..18df9d2b231a9fe75437cca8557597203fc3b58d 100644 (file)
 #=======================================================================
 MACRO(CREA_FIND_WXWIDGETS)
   IF(WIN32)
-    # Search WXWIDGETS
-    
-    #  WXWINDOWS_LIBRARY         = full path to the wxWindows library and linker flags on unix
-    #  CMAKE_WX_CXX_FLAGS        = compiler flags for building wxWindows 
-    #  WXWINDOWS_INCLUDE_PATH    = include path of wxWindows
-    SET(WXWINDOWS_USE_GL 1)
-    
-    #wxWidgets build related stuff
-    # DO NOT FORCE DEBUG LIBS !!
-    SET(WXW_USE_DEBUG OFF)
-    SET(WXW_USE_UNICODE OFF)
-    SET(WXW_USE_SHARED ON)
-    SET(WXW_USE_UNIV OFF)
-    SET(WXW_USE_MONO OFF)
-    SET(WXW_FILE_VERSION "28")
-    SET(WXW_VERSION "2.8")
-    
-    #CMake Options
-    # Why forcing verbosity ?
-    # SET(CMAKE_VERBOSE_MAKEFILE TRUE)
-    
-    INCLUDE (${CREA_CMAKE_DIR}/FindWxWidgetsWin32.cmake)
-    #
+       if (DEFINED CREA_USE_MXE)
+               SET(WXGLCANVASLIBS "gl")  
+               SET(WXAUILIBS "aui")
+               # LG : These options should be set by the user at top level of crea
+               FIND_PACKAGE(wxWidgets COMPONENTS base core adv html
+                 ${WXAUILIBS}
+                 ${WXGLCANVASLIBS})
+               IF(wxWidgets_FOUND)
+                       MESSAGE ( STATUS "=======================================")
+                       MESSAGE ( STATUS "Looking for wxWidgets... found ${wxWidgets_CONFIG_EXECUTABLE}")
+                       MESSAGE(STATUS "wxWidgets_INCLUDE_DIRS = ${wxWidgets_INCLUDE_DIRS}")
+               ELSE(wxWidgets_FOUND)
+                       MESSAGE ( ERROR "EED cmake ERROR : wxWidgets not found")
+               ENDIF(wxWidgets_FOUND)
+       ELSE(DEFINED CREA_USE_MXE)
+           # Search WXWIDGETS
+           
+           #  WXWINDOWS_LIBRARY         = full path to the wxWindows library and linker flags on unix
+           #  CMAKE_WX_CXX_FLAGS        = compiler flags for building wxWindows 
+           #  WXWINDOWS_INCLUDE_PATH    = include path of wxWindows
+           SET(WXWINDOWS_USE_GL 1)
+           
+           #wxWidgets build related stuff
+           # DO NOT FORCE DEBUG LIBS !!
+           SET(WXW_USE_DEBUG OFF)
+           SET(WXW_USE_UNICODE OFF)
+           SET(WXW_USE_SHARED ON)
+           SET(WXW_USE_UNIV OFF)
+           SET(WXW_USE_MONO OFF)
+           SET(WXW_FILE_VERSION "28")
+           SET(WXW_VERSION "2.8")
+           
+           #CMake Options
+           # Why forcing verbosity ?
+           # SET(CMAKE_VERBOSE_MAKEFILE TRUE)
+           
+           INCLUDE (${CREA_CMAKE_DIR}/FindWxWidgetsWin32.cmake)
+           #
+       ENDIF (DEFINED CREA_USE_MXE)
   
   ELSE(WIN32)
     IF(NOT wxWidgets_FOUND)
@@ -91,27 +107,43 @@ MACRO(CREA_USE_WXWIDGETS)
   # Preprocessor settings
   CREA_DEFINE( USE_WXWIDGETS )
   CREA_DEFINE( _USE_WXWIDGETS_ )
- #
   IF(WIN32)
-    # Clean ?
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
-    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
-    #
-    ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
-    #
-    INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
-    LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
-    SET(WXWIDGETS_LIBRARIES
-      ${WXWIDGETS_LIBRARIES}  
-#DO NOT FORCE DEBUG LIBS !!
-      debug wxmsw28d_aui
-      optimized wxmsw28_aui
-      debug msvcrtd
-      debug msvcprtd
-      optimized msvcrt
-      optimized msvcprt
-      )
+       if (DEFINED CREA_USE_MXE)
+          include(${wxWidgets_USE_FILE})
+               SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${wxWidgets_CXX_FLAGS}")
+               INCLUDE_DIRECTORIES(${wxWidgets_INCLUDE_DIRS})
+               LINK_DIRECTORIES( ${wxWidgets_LIBRARY_DIRS} )
+               SET(WXWIDGETS_LIBRARIES
+                         ${wxWidgets_LIBRARIES}  
+               )
+
+      MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B    wxWidgets_INCLUDE_DIRS = ${wxWidgets_INCLUDE_DIRS}")
+      MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B    wxWidgets_DEFINITIONS = ${wxWidgets_DEFINITIONS}")
+      MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B    wxWidgets_LIBRARY_DIRS = ${wxWidgets_LIBRARY_DIRS}")
+      MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B    wxWidgets_LIBRARIES = ${wxWidgets_LIBRARIES}")
+      MESSAGE ( STATUS "EED : MACRO CREA_USE_WXWIDGETS B    wxWidgets_USE_FILE = ${wxWidgets_USE_FILE}")
+
+
+       ELSE(DEFINED CREA_USE_MXE)
+               # Clean ?
+               SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WXWIDGETS_CXX_FLAGS}")
+               SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}${WXWIDGETS_EXE_LINKER_FLAGS}")
+               #
+               ADD_DEFINITIONS( ${WXWIDGETS_DEFINITIONS}  )
+               #
+               INCLUDE_DIRECTORIES(${WXWIDGETS_INCLUDE_DIR})
+               LINK_DIRECTORIES( ${WXWIDGETS_LINK_DIRECTORIES} )
+               SET(WXWIDGETS_LIBRARIES
+                       ${WXWIDGETS_LIBRARIES}  
+       #DO NOT FORCE DEBUG LIBS !!
+                         debug wxmsw28d_aui
+                         optimized wxmsw28_aui
+                         debug msvcrtd
+                         debug msvcprtd
+                         optimized msvcrt
+                         optimized msvcprt
+                 )
+       ENDIF (DEFINED CREA_USE_MXE)
   ELSE(WIN32)
 ##    # GTK2
 ##    INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
index a614f24a7054af42821706c89a1d887312c84448..d3156a44f060c4b0477f94605c67e9e3aebbfb1e 100644 (file)
@@ -461,13 +461,15 @@ void wxVTKRenderWindowInteractor::OnTimer(wxTimerEvent& WXUNUSED(event))
 long wxVTKRenderWindowInteractor::GetHandleHack()
 {
   //helper function to hide the MSW vs GTK stuff
-  long handle_tmp = 0;
+  long int handle_tmp = 0;
 
 // __WXMSW__ is for Win32
 // __WXMAC__ is for Carbon or Cocoa builds
 // __WXGTK__ is for both gtk 1.2.x and gtk 2.x
 #if defined(__WXMSW__) || defined(__WXMAC__)
-    handle_tmp = (long)this->GetHandle();
+// EED 2018-01-17
+//    handle_tmp = (long)this->GetHandle();
+    handle_tmp = (long long)this->GetHandle();
 #endif //__WXMSW__
 
 // using above GetHandle() works fine with wxOSX 2.9.x
@@ -502,9 +504,10 @@ void wxVTKRenderWindowInteractor::OnPaint(wxPaintEvent& WXUNUSED(event))
 
   //do it here rather than in the cstor: this is safer.
   if(!Handle)
-  {
     Handle = GetHandleHack();
+  {
     RenderWindow->SetWindowId(reinterpret_cast<void *>(Handle));
+
 // Cocoa
 // this->GetNSView() <-> DisplayId
 // this->GetTopLevel()->GetNSWindow() <-> WindowId