]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied patch #9058 (add Hildon 2.0 support)
authorJulian Smart <julian@anthemion.co.uk>
Thu, 24 Sep 2009 12:36:34 +0000 (12:36 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 24 Sep 2009 12:36:34 +0000 (12:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

18 files changed:
configure
configure.in
include/wx/gtk/app.h
include/wx/gtk/frame.h
include/wx/gtk/menu.h
include/wx/notifmsg.h
setup.h.in
setup.h_vms
src/generic/notifmsgg.cpp
src/gtk/app.cpp
src/gtk/checklst.cpp
src/gtk/colordlg.cpp
src/gtk/frame.cpp
src/gtk/hildon/notifmsg.cpp
src/gtk/menu.cpp
src/gtk/msgdlg.cpp
src/gtk/toplevel.cpp
src/unix/displayx11.cpp

index 535c97c0261cabae5bdcb83522af2e36769b7a24..5ad619a977fd677ad6a656f0e61323c34f3f5f51 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Id: configure.in 61944 2009-09-16 12:06:02Z PJC .
+# From configure.in Id: configure.in 61971 2009-09-19 08:51:11Z JMS .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for wxWidgets 2.9.1.
 #
@@ -709,6 +709,8 @@ GNOMEVFS_CFLAGS
 GNOMEVFS_LIBS
 HILDON_CFLAGS
 HILDON_LIBS
+HILDON2_CFLAGS
+HILDON2_LIBS
 PYTHON
 COND_PYTHON
 CAIRO_CFLAGS
@@ -1073,6 +1075,8 @@ GNOMEVFS_CFLAGS
 GNOMEVFS_LIBS
 HILDON_CFLAGS
 HILDON_LIBS
+HILDON2_CFLAGS
+HILDON2_LIBS
 CAIRO_CFLAGS
 CAIRO_LIBS
 GST_CFLAGS
@@ -1925,7 +1929,7 @@ Optional Packages:
   --without-gtkprint      don't use GTK printing support
   --without-gnomeprint    don't use GNOME printing libraries
   --with-gnomevfs         use GNOME VFS for associating MIME types
-  --with-hildon           use Hildon framework for Nokia 770
+  --with-hildon           use Hildon framework for Nokia 770/800/810
   --with-opengl           use OpenGL (or Mesa)
   --with-dmalloc          use dmalloc library (http://dmalloc.com/)
   --with-sdl              use SDL for audio on Unix
@@ -1986,6 +1990,10 @@ Some influential environment variables:
   HILDON_CFLAGS
               C compiler flags for HILDON, overriding pkg-config
   HILDON_LIBS linker flags for HILDON, overriding pkg-config
+  HILDON2_CFLAGS
+              C compiler flags for HILDON2, overriding pkg-config
+  HILDON2_LIBS
+              linker flags for HILDON2, overriding pkg-config
   CAIRO_CFLAGS
               C compiler flags for CAIRO, overriding pkg-config
   CAIRO_LIBS  linker flags for CAIRO, overriding pkg-config
@@ -2917,6 +2925,7 @@ DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG
 DEFAULT_wxUSE_DMALLOC=no
 DEFAULT_wxUSE_LIBGNOMEVFS=no
 DEFAULT_wxUSE_LIBHILDON=no
+DEFAULT_wxUSE_LIBHILDON2=no
 DEFAULT_wxUSE_LIBMSPACK=no
 DEFAULT_wxUSE_LIBSDL=no
 
@@ -43252,6 +43261,7 @@ fi
                 { echo "$as_me:$LINENO: WARNING: libhildon_lgpl not found" >&5
 echo "$as_me: WARNING: libhildon_lgpl not found" >&2;}
                         wxUSE_LIBHILDON="no"
+                        ac_hildon_lgpl=0
 
 
 elif test $pkg_failed = untried; then
@@ -43259,6 +43269,7 @@ elif test $pkg_failed = untried; then
                 { echo "$as_me:$LINENO: WARNING: libhildon_lgpl not found" >&5
 echo "$as_me: WARNING: libhildon_lgpl not found" >&2;}
                         wxUSE_LIBHILDON="no"
+                        ac_hildon_lgpl=0
 
 
 else
@@ -43274,8 +43285,99 @@ echo "${ECHO_T}yes" >&6; }
 #define wxUSE_LIBHILDON 1
 _ACEOF
 
+                ac_hildon_lgpl=1
 
 fi
+
+        if test "$ac_hildon_lgpl" = 0 ; then
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for HILDON2" >&5
+echo $ECHO_N "checking for HILDON2... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$HILDON2_CFLAGS"; then
+        pkg_cv_HILDON2_CFLAGS="$HILDON2_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"hildon-1 >= 1.99\"") >&5
+  ($PKG_CONFIG --exists --print-errors "hildon-1 >= 1.99") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_HILDON2_CFLAGS=`$PKG_CONFIG --cflags "hildon-1 >= 1.99" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+       pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$HILDON2_LIBS"; then
+        pkg_cv_HILDON2_LIBS="$HILDON2_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"hildon-1 >= 1.99\"") >&5
+  ($PKG_CONFIG --exists --print-errors "hildon-1 >= 1.99") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_HILDON2_LIBS=`$PKG_CONFIG --libs "hildon-1 >= 1.99" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+       pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               HILDON2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "hildon-1 >= 1.99"`
+        else
+               HILDON2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "hildon-1 >= 1.99"`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$HILDON2_PKG_ERRORS" >&5
+
+
+                    { echo "$as_me:$LINENO: WARNING: libhildon_1 not found" >&5
+echo "$as_me: WARNING: libhildon_1 not found" >&2;}
+                            wxUSE_LIBHILDON2="no"
+
+
+elif test $pkg_failed = untried; then
+
+                    { echo "$as_me:$LINENO: WARNING: libhildon_1 not found" >&5
+echo "$as_me: WARNING: libhildon_1 not found" >&2;}
+                            wxUSE_LIBHILDON2="no"
+
+
+else
+       HILDON2_CFLAGS=$pkg_cv_HILDON2_CFLAGS
+       HILDON2_LIBS=$pkg_cv_HILDON2_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+                    EXTRALIBS_HILDON="$HILDON2_LIBS"
+                    CFLAGS="$CFLAGS $HILDON2_CFLAGS"
+                    CXXFLAGS="$CXXFLAGS $HILDON2_CFLAGS"
+                    cat >>confdefs.h <<\_ACEOF
+#define wxUSE_LIBHILDON2 1
+_ACEOF
+
+
+fi
+        fi
     fi
 fi
 
@@ -47457,6 +47559,9 @@ case "$TOOLKIT" in
             if test "$wxUSE_LIBHILDON" = "yes"; then
                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
             fi
+            if test "$wxUSE_LIBHILDON2" = "yes"; then
+                TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
+            fi
 
             if test "$TOOLKIT_EXTRA" != ""; then
                 TOOLKIT_DESC="$TOOLKIT_DESC with support for `echo $TOOLKIT_EXTRA | tr -s ' '`"
@@ -51885,10 +51990,10 @@ GNOMEVFS_CFLAGS!$GNOMEVFS_CFLAGS$ac_delim
 GNOMEVFS_LIBS!$GNOMEVFS_LIBS$ac_delim
 HILDON_CFLAGS!$HILDON_CFLAGS$ac_delim
 HILDON_LIBS!$HILDON_LIBS$ac_delim
+HILDON2_CFLAGS!$HILDON2_CFLAGS$ac_delim
+HILDON2_LIBS!$HILDON2_LIBS$ac_delim
 PYTHON!$PYTHON$ac_delim
 COND_PYTHON!$COND_PYTHON$ac_delim
-CAIRO_CFLAGS!$CAIRO_CFLAGS$ac_delim
-CAIRO_LIBS!$CAIRO_LIBS$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -51930,6 +52035,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+CAIRO_CFLAGS!$CAIRO_CFLAGS$ac_delim
+CAIRO_LIBS!$CAIRO_LIBS$ac_delim
 GST_CFLAGS!$GST_CFLAGS$ac_delim
 GST_LIBS!$GST_LIBS$ac_delim
 ALL_WX_LIBS!$ALL_WX_LIBS$ac_delim
@@ -52025,8 +52132,6 @@ REZ!$REZ$ac_delim
 SETFILE!$SETFILE$ac_delim
 OBJCXXFLAGS!$OBJCXXFLAGS$ac_delim
 GCC_PCH!$GCC_PCH$ac_delim
-ICC_PCH!$ICC_PCH$ac_delim
-ICC_PCH_CREATE_SWITCH!$ICC_PCH_CREATE_SWITCH$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -52068,6 +52173,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+ICC_PCH!$ICC_PCH$ac_delim
+ICC_PCH_CREATE_SWITCH!$ICC_PCH_CREATE_SWITCH$ac_delim
 ICC_PCH_USE_SWITCH!$ICC_PCH_USE_SWITCH$ac_delim
 BK_MAKE_PCH!$BK_MAKE_PCH$ac_delim
 COND_BUILD_DEBUG!$COND_BUILD_DEBUG$ac_delim
@@ -52163,8 +52270,6 @@ COND_PLATFORM_WIN32_1!$COND_PLATFORM_WIN32_1$ac_delim
 COND_SHARED_0!$COND_SHARED_0$ac_delim
 COND_SHARED_0_TOOLKIT_MAC_WXUNIV_0!$COND_SHARED_0_TOOLKIT_MAC_WXUNIV_0$ac_delim
 COND_SHARED_0_TOOLKIT_MSW_WXUNIV_0!$COND_SHARED_0_TOOLKIT_MSW_WXUNIV_0$ac_delim
-COND_SHARED_0_TOOLKIT_PM_WXUNIV_0!$COND_SHARED_0_TOOLKIT_PM_WXUNIV_0$ac_delim
-COND_SHARED_0_USE_GUI_1_USE_OPENGL_1!$COND_SHARED_0_USE_GUI_1_USE_OPENGL_1$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -52206,6 +52311,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+COND_SHARED_0_TOOLKIT_PM_WXUNIV_0!$COND_SHARED_0_TOOLKIT_PM_WXUNIV_0$ac_delim
+COND_SHARED_0_USE_GUI_1_USE_OPENGL_1!$COND_SHARED_0_USE_GUI_1_USE_OPENGL_1$ac_delim
 COND_SHARED_0_USE_GUI_1_wxUSE_LIBJPEG_builtin!$COND_SHARED_0_USE_GUI_1_wxUSE_LIBJPEG_builtin$ac_delim
 COND_SHARED_0_USE_GUI_1_wxUSE_LIBPNG_builtin!$COND_SHARED_0_USE_GUI_1_wxUSE_LIBPNG_builtin$ac_delim
 COND_SHARED_0_USE_GUI_1_wxUSE_LIBTIFF_builtin!$COND_SHARED_0_USE_GUI_1_wxUSE_LIBTIFF_builtin$ac_delim
@@ -52301,8 +52408,6 @@ DEREZ!$DEREZ$ac_delim
 SHARED!$SHARED$ac_delim
 WX_LIBRARY_BASENAME_NOGUI!$WX_LIBRARY_BASENAME_NOGUI$ac_delim
 WX_LIBRARY_BASENAME_GUI!$WX_LIBRARY_BASENAME_GUI$ac_delim
-USE_GUI!$USE_GUI$ac_delim
-AFMINSTALL!$AFMINSTALL$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -52344,6 +52449,8 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+USE_GUI!$USE_GUI$ac_delim
+AFMINSTALL!$AFMINSTALL$ac_delim
 WIN32INSTALL!$WIN32INSTALL$ac_delim
 TOOLKIT!$TOOLKIT$ac_delim
 TOOLKIT_DIR!$TOOLKIT_DIR$ac_delim
@@ -52384,7 +52491,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 38; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 40; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
index aff441405d5a731d28fe72b8ca82eb8467c6eb92..725ce14a8978102c35992bec082ccde501377ce8 100644 (file)
@@ -363,6 +363,7 @@ dnl libraries disabled by default
 DEFAULT_wxUSE_DMALLOC=no
 DEFAULT_wxUSE_LIBGNOMEVFS=no
 DEFAULT_wxUSE_LIBHILDON=no
+DEFAULT_wxUSE_LIBHILDON2=no
 DEFAULT_wxUSE_LIBMSPACK=no
 DEFAULT_wxUSE_LIBSDL=no
 
@@ -579,7 +580,7 @@ WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help fi
 WX_ARG_WITHOUT(gtkprint,   [  --without-gtkprint      don't use GTK printing support], wxUSE_GTKPRINT)
 WX_ARG_WITHOUT(gnomeprint, [  --without-gnomeprint    don't use GNOME printing libraries], wxUSE_LIBGNOMEPRINT)
 WX_ARG_WITH(gnomevfs,      [  --with-gnomevfs         use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
-WX_ARG_WITH(hildon,        [  --with-hildon           use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
+WX_ARG_WITH(hildon,        [  --with-hildon           use Hildon framework for Nokia 770/800/810], wxUSE_LIBHILDON)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
@@ -5623,12 +5624,30 @@ if test "$WXGTK2" = 1; then
                 CFLAGS="$CFLAGS $HILDON_CFLAGS"
                 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
                 AC_DEFINE(wxUSE_LIBHILDON)
+                ac_hildon_lgpl=1
             ],
             [
                 AC_MSG_WARN([libhildon_lgpl not found])
                         wxUSE_LIBHILDON="no"
+                        ac_hildon_lgpl=0
             ]
         )
+
+        if test "$ac_hildon_lgpl" = 0 ; then
+            PKG_CHECK_MODULES(HILDON2,
+                              [hildon-1 >= 1.99],
+                [
+                    EXTRALIBS_HILDON="$HILDON2_LIBS"
+                    CFLAGS="$CFLAGS $HILDON2_CFLAGS"
+                    CXXFLAGS="$CXXFLAGS $HILDON2_CFLAGS"
+                    AC_DEFINE(wxUSE_LIBHILDON2)
+                ],
+                [
+                    AC_MSG_WARN([libhildon_1 not found])
+                            wxUSE_LIBHILDON2="no"
+                ]
+            )
+        fi
     fi
 fi
 
@@ -7703,6 +7722,9 @@ case "$TOOLKIT" in
             if test "$wxUSE_LIBHILDON" = "yes"; then
                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
             fi
+            if test "$wxUSE_LIBHILDON2" = "yes"; then
+                TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
+            fi
 
             if test "$TOOLKIT_EXTRA" != ""; then
                 TOOLKIT_DESC="$TOOLKIT_DESC with support for `echo $TOOLKIT_EXTRA | tr -s ' '`"
index 0ded824a5fb870e941a4badaf42fab662c5b2754..4dbda35c8bff3160efa8e38c2d6a55211dac928e 100644 (file)
@@ -18,9 +18,9 @@
 class WXDLLIMPEXP_FWD_BASE wxMutex;
 #endif
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 typedef struct _HildonProgram HildonProgram;
-#endif // wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
 //-----------------------------------------------------------------------------
 // wxApp
@@ -60,10 +60,10 @@ public:
     // must return XVisualInfo pointer (it is not freed by caller)
     virtual void *GetXVisualInfo() { return NULL; }
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     // Maemo-specific method: get the main program object
-    HildonProgram *GetHildonProgram() const { return m_hildonProgram; }
-#endif // wxUSE_LIBHILDON
+    HildonProgram *GetHildonProgram();
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
     // implementation only from now on
     // -------------------------------
@@ -85,9 +85,9 @@ private:
 #endif
     guint m_idleSourceId;
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     HildonProgram *m_hildonProgram;
-#endif // wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
     DECLARE_DYNAMIC_CLASS(wxApp)
 };
index c24937ec95ea453df13c4c8ee83de41f88635a1e..9d97293d52b068e6a6c4c70366bf371720cd8c8b 100644 (file)
@@ -53,10 +53,10 @@ public:
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
     wxPoint GetClientAreaOrigin() const { return wxPoint(0, 0); }
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     // in Hildon environment all frames are always shown maximized
     virtual bool IsMaximized() const { return true; }
-#endif // wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
     // implementation from now on
     // --------------------------
index 63692e98b02d0db1e984cea8e94ac139c645cd53..ecbb311e619fc1a4b3ed2680cbfd9ce4da44e51d 100644 (file)
@@ -49,12 +49,12 @@ public:
     // implementation only from now on
     void SetInvokingWindow( wxWindow *win );
     void UnsetInvokingWindow( wxWindow *win );
+    GtkWidget       *m_menubar; // Public for hildon support
 
 private:
     // common part of Append and Insert
     bool GtkAppend(wxMenu *menu, const wxString& title, int pos=-1);
 
-    GtkWidget       *m_menubar;
     wxWindow        *m_invokingWindow;
 
     void Init(size_t n, wxMenu *menus[], const wxString titles[], long style);
index fa647209556c7f5e200ea9692aae1c2ff9e884c0..39a964ec238be9c039d99bce2d41e835db0d85c9 100644 (file)
@@ -127,7 +127,7 @@ private:
     wxDECLARE_NO_COPY_CLASS(wxNotificationMessageBase);
 };
 
-#if defined(__WXGTK__) && wxUSE_LIBHILDON
+#if defined(__WXGTK__) && (wxUSE_LIBHILDON || wxUSE_LIBHILDON2)
     #include "wx/gtk/hildon/notifmsg.h"
 /*
     TODO: provide support for
index 2ec082aec9888c4d22a5a564924037298c1ae6bb..0fc38e74c7c4b5c7aafb8cc4ae5c27b84b045efd 100644 (file)
  * Use the Hildon framework
  */
 #define wxUSE_LIBHILDON 0
+/*
+ * Use the Hildon 2.0 framework
+ */
+#define wxUSE_LIBHILDON2 0
 /*
  * Have glibc2
  */
index 670bef376327ff6afdc9cb26048d5a42cc2df6e2..ba23bd90db0776f4c906425ea024f38365e0bca2 100644 (file)
@@ -779,6 +779,10 @@ typedef pid_t GPid;
  * Use the Hildon framework
  */
 #define wxUSE_LIBHILDON 0
+/*
+ * Use the Hildon 2.0 framework
+ */
+#define wxUSE_LIBHILDON2 0
 /*
  * Have glibc2
  */
index f563d7a5b18b5f2f4cd8703e4b98f82d55f465ce..fe90a69f450a0ff95b04bb1b4811478800b476d5 100644 (file)
     #define wxUSE_LIBHILDON 0
 #endif
 
-#if wxUSE_NOTIFICATION_MESSAGE && !wxUSE_LIBHILDON
+#ifndef wxUSE_LIBHILDON2
+    #define wxUSE_LIBHILDON2 0
+#endif
+
+#if wxUSE_NOTIFICATION_MESSAGE && (!wxUSE_LIBHILDON || !wxUSE_LIBHILDON2)
 
 #ifndef WX_PRECOMP
     #include "wx/dialog.h"
@@ -238,4 +242,4 @@ bool wxGenericNotificationMessage::Close()
     return true;
 }
 
-#endif // wxUSE_NOTIFICATION_MESSAGE && !wxUSE_LIBHILDON
+#endif // wxUSE_NOTIFICATION_MESSAGE && (!wxUSE_LIBHILDON || !wxUSE_LIBHILDON2)
index a605152fbff5df3cfc1de8e6d4d64646baf2787d..5e88bc492d07ab7d6db07dcd58f88bc55385fda7 100644 (file)
     #include <hildon-widgets/hildon-program.h>
 #endif // wxUSE_LIBHILDON
 
+#if wxUSE_LIBHILDON2
+    #include <hildon/hildon.h>
+#endif // wxUSE_LIBHILDON2
+
 #include <gdk/gdkx.h>
 
 //-----------------------------------------------------------------------------
@@ -263,14 +267,13 @@ bool wxApp::OnInitGui()
         }
     }
 
-#if wxUSE_LIBHILDON
-    m_hildonProgram = hildon_program_get_instance();
-    if ( !m_hildonProgram )
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
+    if ( !GetHildonProgram() )
     {
         wxLogError(_("Unable to initialize Hildon program"));
         return false;
     }
-#endif // wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
     return true;
 }
@@ -533,3 +536,12 @@ void wxGUIAppTraits::MutexGuiLeave()
     gdk_threads_leave();
 }
 #endif // wxUSE_THREADS
+
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
+// Maemo-specific method: get the main program object
+HildonProgram *wxApp::GetHildonProgram()
+{ 
+    return hildon_program_get_instance(); 
+}
+    
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
index b61f34cf4a695a5cf072ddea6fdb1d7c5945a176..43ca4f09e327c0076672bbe9ab144918e75e8f6a 100644 (file)
@@ -88,7 +88,12 @@ void wxCheckListBox::DoCreateCheckList()
         gtk_tree_view_column_new_with_attributes( "", renderer,
                                                   "active", 0,
                                                   NULL );
+#if wxUSE_LIBHILDON2
+    gtk_tree_view_column_set_fixed_width(column, 40);
+#else
     gtk_tree_view_column_set_fixed_width(column, 22);
+#endif // wxUSE_LIBHILDON2/!wxUSE_LIBHILDON2
+
     gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
     gtk_tree_view_column_set_clickable(column, TRUE);
 
index 7ffd6045f2fd8ef909669afe969d3b697078b9b6..893311f989be2ef1b0f129de66da1e585c767640 100644 (file)
     #include <hildon-widgets/hildon-color-selector.h>
 #endif // wxUSE_LIBHILDON
 
+#if wxUSE_LIBHILDON2
+extern "C" {
+    #include <hildon/hildon.h>
+}
+#endif // wxUSE_LIBHILDON2
+
 IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)
 
 wxColourDialog::wxColourDialog(wxWindow *parent, wxColourData *data)
@@ -48,7 +54,9 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
 
 #if wxUSE_LIBHILDON
     m_widget = hildon_color_selector_new(parentGTK);
-#else // !wxUSE_LIBHILDON
+#elif wxUSE_LIBHILDON2 // !wxUSE_LIBHILDON 
+    m_widget = hildon_color_chooser_dialog_new();
+#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     wxString title(_("Choose colour"));
     m_widget = gtk_color_selection_dialog_new(wxGTK_CONV(title));
 #endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
@@ -60,9 +68,11 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
         gtk_window_set_transient_for(GTK_WINDOW(m_widget), parentGTK);
     }
 
+#if !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     GtkColorSelection *sel =
         GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
     gtk_color_selection_set_has_palette(sel, true);
+#endif // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
 
     return true;
 }
@@ -100,7 +110,19 @@ void wxColourDialog::ColourDataToDialog()
 #if wxUSE_LIBHILDON
     HildonColorSelector * const sel = HILDON_COLOR_SELECTOR(m_widget);
     hildon_color_selector_set_color(sel, const_cast<GdkColor *>(col));
-#else // !wxUSE_LIBHILDON
+#elif wxUSE_LIBHILDON2
+    GdkColor clr;
+    if (col)
+        clr = *col;
+    else {
+        clr.pixel = 0;
+        clr.red = 32768;
+        clr.green = 32768;
+        clr.blue = 32768;
+    }
+
+    hildon_color_chooser_dialog_set_color((HildonColorChooserDialog *)m_widget, &clr);
+#else // !wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     GtkColorSelection *sel =
         GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
 
@@ -125,7 +147,7 @@ void wxColourDialog::ColourDataToDialog()
 
     GtkSettings *settings = gtk_widget_get_settings(GTK_WIDGET(sel));
     g_object_set(settings, "gtk-color-palette", pal.c_str(), NULL);
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON / wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
 }
 
 void wxColourDialog::DialogToColourData()
@@ -135,7 +157,25 @@ void wxColourDialog::DialogToColourData()
     const GdkColor * const clr = hildon_color_selector_get_color(sel);
     if ( clr )
         m_data.SetColour(*clr);
-#else // !wxUSE_LIBHILDON
+#elif wxUSE_LIBHILDON2 // !wxUSE_LIBHILDON
+    const GdkColor * const
+    col = m_data.GetColour().Ok() ? m_data.GetColour().GetColor() : NULL;
+
+    GdkColor clr;
+    if (col)
+        clr = *col;
+    else {
+        clr.pixel = 0;
+        clr.red = 32768;
+        clr.green = 32768;
+        clr.blue = 32768;
+    }
+    GdkColor new_color = clr;
+    hildon_color_chooser_dialog_get_color((HildonColorChooserDialog *)m_widget, &new_color);
+
+    m_data.SetColour(new_color);
+#else // !wxUSE_LIBHILDON2
+
     GtkColorSelection *sel =
         GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(m_widget)->colorsel);
 
@@ -161,7 +201,7 @@ void wxColourDialog::DialogToColourData()
     }
 
     g_free(pal);
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON / wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
 }
 
 #endif // wxUSE_COLOURDLG
index 82c8f1ec54d85681c913fa47199ce51e52b1497d..159565870c77ca3402292030ad6cd0b5ef75af68 100644 (file)
     #include <hildon-widgets/hildon-window.h>
 #endif // wxUSE_LIBHILDON
 
+#if wxUSE_LIBHILDON2
+    #include <hildon/hildon.h>
+#endif // wxUSE_LIBHILDON2
+
 // ----------------------------------------------------------------------------
 // event tables
 // ----------------------------------------------------------------------------
@@ -272,15 +276,15 @@ void wxFrame::DetachMenuBar()
 
     if ( m_frameMenuBar )
     {
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
         hildon_window_set_menu(HILDON_WINDOW(m_widget), NULL);
-#else // !wxUSE_LIBHILDON
+#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
         m_frameMenuBar->UnsetInvokingWindow( this );
 
         gtk_widget_ref( m_frameMenuBar->m_widget );
 
         gtk_container_remove( GTK_CONTAINER(m_mainWidget), m_frameMenuBar->m_widget );
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     }
 
     wxFrameBase::DetachMenuBar();
@@ -295,10 +299,10 @@ void wxFrame::AttachMenuBar( wxMenuBar *menuBar )
 
     if (m_frameMenuBar)
     {
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
         hildon_window_set_menu(HILDON_WINDOW(m_widget),
                                GTK_MENU(m_frameMenuBar->m_menubar));
-#else // !wxUSE_LIBHILDON
+#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
         m_frameMenuBar->SetInvokingWindow( this );
 
         m_frameMenuBar->SetParent(this);
@@ -322,7 +326,7 @@ void wxFrame::AttachMenuBar( wxMenuBar *menuBar )
         gtk_widget_set_size_request(menuBar->m_widget, -1, -1);
 
         gtk_widget_show( m_frameMenuBar->m_widget );
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     }
     // make sure next size_allocate causes a wxSizeEvent
     m_oldClientWidth = 0;
index 3cad17868e6e9d5d3f24df9f7d045694fac1fe02..e3e85d37255ab39355b1ba906739f7468d0ef341 100644 (file)
@@ -23,7 +23,7 @@
     #pragma hdrstop
 #endif
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
 #ifndef WX_PRECOMP
 #endif //WX_PRECOMP
 #include "wx/notifmsg.h"
 #include "wx/toplevel.h"
 
-#include <hildon-widgets/hildon-banner.h>
+#if wxUSE_LIBHILDON
+    #include <hildon-widgets/hildon-banner.h>
+#endif // wxUSE_LIBHILDON
+
+#if wxUSE_LIBHILDON2
+    #include <hildon/hildon.h>
+#endif // wxUSE_LIBHILDON2
 
 // ============================================================================
 // wxNotificationMessage implementation
@@ -123,4 +129,4 @@ wxNotificationMessage::~wxNotificationMessage()
     Close();
 }
 
-#endif // wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
index 9d8c346e33d89ccbee8258d0ea12712dd89eaa88..2e4427ac194d1148e4d9c8e3126c818eda7c7cd3 100644 (file)
@@ -63,12 +63,12 @@ void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long st
 {
     m_invokingWindow = NULL;
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     // Hildon window uses a single menu instead of a menu bar, so wxMenuBar is
     // the same as menu in this case
     m_widget =
     m_menubar = gtk_menu_new();
-#else // !wxUSE_LIBHILDON
+#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     if (!PreCreation( NULL, wxDefaultPosition, wxDefaultSize ) ||
         !CreateBase( NULL, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("menubar") ))
     {
@@ -92,7 +92,7 @@ void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long st
     PostCreation();
 
     GTKApplyWidgetStyle();
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
 
     g_object_ref(m_widget);
 
@@ -249,7 +249,7 @@ bool wxMenuBar::GtkAppend(wxMenu *menu, const wxString& title, int pos)
 {
     menu->SetLayoutDirection(GetLayoutDirection());
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     // if the menu has only one item, append it directly to the top level menu
     // instead of inserting a useless submenu
     if ( menu->GetMenuItemCount() == 1 )
@@ -269,7 +269,7 @@ bool wxMenuBar::GtkAppend(wxMenu *menu, const wxString& title, int pos)
         item->SetMenuItem(menu->m_owner);
     }
     else
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     {
         const wxString str(wxConvertMnemonicsToGTK(title));
 
index 0b2b5f9bb20ed46ca864ca801b1404dce2221ee2..ca2fa78303076b01beb1346bebb78276f4496bff 100644 (file)
     #include <hildon-widgets/hildon-note.h>
 #endif // wxUSE_LIBHILDON
 
+#if wxUSE_LIBHILDON2
+    #include <hildon/hildon.h>
+#endif // wxUSE_LIBHILDON2
+
 IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
 
 wxMessageDialog::wxMessageDialog(wxWindow *parent,
@@ -84,7 +88,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
 {
     GtkWindow * const parent = m_parent ? GTK_WINDOW(m_parent->m_widget) : NULL;
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     const char *stockIcon;
     if ( m_dialogStyle & wxICON_NONE )
         stockIcon = "";
@@ -104,12 +108,16 @@ void wxMessageDialog::GTKCreateMsgDialog()
     m_widget = (GtkWidget *)g_object_new
                (
                 HILDON_TYPE_NOTE,
+#if wxUSE_LIBHILDON
                 "note_type", HILDON_NOTE_CONFIRMATION_BUTTON_TYPE,
+#else // wxUSE_LIBHILDON
+                "note_type", HILDON_NOTE_TYPE_CONFIRMATION_BUTTON,
+#endif // wxUSE_LIBHILDON /wxUSE_LIBHILDON2
                 "description", (const char *)GetFullMessage().utf8_str(),
                 "icon", stockIcon,
                 NULL
                );
-#else // !wxUSE_LIBHILDON
+#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
     GtkMessageType type = GTK_MESSAGE_ERROR;
     GtkButtonsType buttons = GTK_BUTTONS_NONE;
 
@@ -181,7 +189,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
         );
     }
 #endif // GTK+ 2.6+
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
 
     g_object_ref(m_widget);
 
@@ -199,7 +207,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
     // Yes/No/Cancel dialog as GTK+ doesn't support it natively and when using
     // Hildon we add all the buttons manually as it doesn't support too many of
     // the combinations we may have
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     static const bool addButtons = true;
 #else // !wxUSE_LIBHILDON
     const bool addButtons = buttons == GTK_BUTTONS_NONE;
index f6c6327d1248fe692b9de91db27a678eb6884e4c..637d1fef67d7b71e3eede6aedfeb094fa2a57bf7 100644 (file)
     #include <hildon-widgets/hildon-window.h>
 #endif // wxUSE_LIBHILDON
 
+#if wxUSE_LIBHILDON2
+    #include <hildon/hildon.h>
+#endif // wxUSE_LIBHILDON2
+
 // ----------------------------------------------------------------------------
 // data
 // ----------------------------------------------------------------------------
@@ -476,14 +480,14 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
     //     e.g. in wxTaskBarIconAreaGTK
     if (m_widget == NULL)
     {
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
         // we must create HildonWindow and not a normal GtkWindow as the latter
         // doesn't look correctly in Maemo environment and it must also be
         // registered with the main program object
         m_widget = hildon_window_new();
         hildon_program_add_window(wxTheApp->GetHildonProgram(),
                                   HILDON_WINDOW(m_widget));
-#else // !wxUSE_LIBHILDON
+#else // !wxUSE_LIBHILDON || !wxUSE_LIBHILDON2
         m_widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
         if (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG)
         {
@@ -510,7 +514,7 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
                 style |= wxFRAME_NO_TASKBAR;
             }
         }
-#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2/!wxUSE_LIBHILDON || !wxUSE_LIBHILDON2
 
         g_object_ref(m_widget);
     }
@@ -650,14 +654,14 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
 
 wxTopLevelWindowGTK::~wxTopLevelWindowGTK()
 {
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
     // it can also be a (standard) dialog
     if ( HILDON_IS_WINDOW(m_widget) )
     {
         hildon_program_remove_window(wxTheApp->GetHildonProgram(),
                                      HILDON_WINDOW(m_widget));
     }
-#endif // wxUSE_LIBHILDON
+#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
     if (m_grabbed)
     {
@@ -905,8 +909,25 @@ void wxTopLevelWindowGTK::GTKDoGetSize(int *width, int *height) const
     size -= m_decorSize;
     if (size.x < 0) size.x = 0;
     if (size.y < 0) size.y = 0;
+#if wxUSE_LIBHILDON2
+    if (width) {
+       if (size.x == 720)
+               *width = 696;
+       else
+               *width = size.x;
+    }
+    if (height) {
+       if (size.y == 420)
+               *height = 396;
+       else if (size.y == 270)
+               *height = 246;
+            else
+               *height = size.y;
+    }
+#else // wxUSE_LIBHILDON2
     if (width)  *width  = size.x;
     if (height) *height = size.y;
+#endif // wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON2
 }
 
 void wxTopLevelWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags )
index 7e0b469080a817de09325480ce98bdf8d0bdc6fb..db0f37b899e1ee09017abd1712c465e612ec51c3 100644 (file)
@@ -326,7 +326,7 @@ bool wxDisplayImplX11::ChangeMode(const wxVideoMode& WXUNUSED(mode))
 
 #include "wx/utils.h"
 
-#if wxUSE_LIBHILDON
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
 
 void wxClientDisplayRect(int *x, int *y, int *width, int *height)
 {
@@ -341,7 +341,7 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
         *height = 396;
 }
 
-#else // !wxUSE_LIBHILDON
+#else // !wxUSE_LIBHILDON || !wxUSE_LIBHILDON2
 
 #include "wx/log.h"