From 0b669520c208f4d3e614ed97feacf91ab903c32f Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sun, 27 Mar 2011 17:23:43 +0000 Subject: [PATCH] Always use gtk2-compat.h definitions. We support building against newer GTK+ version and using an older one at runtime, so we must provide our implementations of these functions even if GTK_CHECK_VERSION would indicate the function is already available in GTK+. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/gtk/private/gtk2-compat.h | 232 +++++++++++++-------------- 1 file changed, 108 insertions(+), 124 deletions(-) diff --git a/include/wx/gtk/private/gtk2-compat.h b/include/wx/gtk/private/gtk2-compat.h index 9e1db828f3..32e51e207f 100644 --- a/include/wx/gtk/private/gtk2-compat.h +++ b/include/wx/gtk/private/gtk2-compat.h @@ -20,132 +20,116 @@ // older versions, though, so we have to provide them for compatibility. // // Note: wx_ prefix is used to avoid symbol conflicts at runtime +// +// Note 2: We support building against newer GTK+ version and using an older +// one at runtime, so we must provide our implementations of these +// functions even if GTK_CHECK_VERSION would indicate the function is +// already available in GTK+. + +#if !GTK_CHECK_VERSION(3,0,0) && !defined(GTK_DISABLE_DEPRECATED) + +inline gboolean wx_gtk_widget_get_has_window(GtkWidget *widget) +{ + return !GTK_WIDGET_NO_WINDOW(widget); +} +#define gtk_widget_get_has_window wx_gtk_widget_get_has_window + + +inline gboolean wx_gtk_widget_get_has_grab(GtkWidget *widget) +{ + return GTK_WIDGET_HAS_GRAB(widget); +} +#define gtk_widget_get_has_grab wx_gtk_widget_get_has_grab + + +inline gboolean wx_gtk_widget_get_visible(GtkWidget *widget) +{ + return GTK_WIDGET_VISIBLE(widget); +} +#define gtk_widget_get_visible wx_gtk_widget_get_visible + + +inline gboolean wx_gtk_widget_get_sensitive(GtkWidget *widget) +{ + return GTK_WIDGET_VISIBLE(widget); +} +#define gtk_widget_get_sensitive wx_gtk_widget_get_sensitive + + +inline gboolean wx_gtk_widget_is_drawable(GtkWidget *widget) +{ + return GTK_WIDGET_DRAWABLE(widget); +} +#define gtk_widget_is_drawable wx_gtk_widget_is_drawable + + +inline gboolean wx_gtk_widget_get_can_focus(GtkWidget *widget) +{ + return GTK_WIDGET_CAN_FOCUS(widget); +} +#define gtk_widget_get_can_focus wx_gtk_widget_get_can_focus + +inline void wx_gtk_widset_set_can_focus(GtkWidget *widget, gboolean can) +{ + if ( can ) + GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_FOCUS); + else + GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS); +} +#define gtk_widset_set_can_focus wx_gtk_widset_set_can_focus + + +inline gboolean wx_gtk_widget_get_can_default(GtkWidget *widget) +{ + return GTK_WIDGET_CAN_DEFAULT(widget); +} +#define gtk_widget_get_can_default wx_gtk_widget_get_can_default + +inline void wx_gtk_widget_set_can_default(GtkWidget *widget, gboolean can) +{ + if ( can ) + GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_DEFAULT); + else + GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_DEFAULT); +} +#define gtk_widget_set_can_default wx_gtk_widget_set_can_default + + +inline gboolean wx_gtk_widget_has_default(GtkWidget *widget) +{ + return GTK_WIDGET_HAS_DEFAULT(widget); +} +#define gtk_widget_has_default wx_gtk_widget_has_default + + +inline GtkStateType wx_gtk_widget_get_state(GtkWidget *widget) +{ + return (GtkStateType)GTK_WIDGET_STATE(widget); +} +#define gtk_widget_get_state wx_gtk_widget_get_state + + +inline gboolean wx_gtk_widget_get_double_buffered(GtkWidget *widget) +{ + return GTK_WIDGET_DOUBLE_BUFFERED(widget); +} +#define gtk_widget_get_double_buffered wx_gtk_widget_get_double_buffered + + +inline gboolean wx_gtk_widget_get_realized(GtkWidget *widget) +{ + return GTK_WIDGET_REALIZED(widget); +} +#define gtk_widget_get_realized wx_gtk_widget_get_realized + +inline gboolean wx_gtk_widget_get_mapped(GtkWidget *widget) +{ + return GTK_WIDGET_MAPPED(widget); +} +#define gtk_widget_get_mapped wx_gtk_widget_get_mapped -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_has_window(GtkWidget *widget) - { - return !GTK_WIDGET_NO_WINDOW(widget); - } - #define gtk_widget_get_has_window wx_gtk_widget_get_has_window -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_has_grab(GtkWidget *widget) - { - return GTK_WIDGET_HAS_GRAB(widget); - } - #define gtk_widget_get_has_grab wx_gtk_widget_get_has_grab -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_visible(GtkWidget *widget) - { - return GTK_WIDGET_VISIBLE(widget); - } - #define gtk_widget_get_visible wx_gtk_widget_get_visible -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_sensitive(GtkWidget *widget) - { - return GTK_WIDGET_VISIBLE(widget); - } - #define gtk_widget_get_sensitive wx_gtk_widget_get_sensitive -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_is_drawable(GtkWidget *widget) - { - return GTK_WIDGET_DRAWABLE(widget); - } - #define gtk_widget_is_drawable wx_gtk_widget_is_drawable -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_can_focus(GtkWidget *widget) - { - return GTK_WIDGET_CAN_FOCUS(widget); - } - #define gtk_widget_get_can_focus wx_gtk_widget_get_can_focus - - inline void wx_gtk_widset_set_can_focus(GtkWidget *widget, gboolean can) - { - if ( can ) - GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_FOCUS); - else - GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS); - } - #define gtk_widset_set_can_focus wx_gtk_widset_set_can_focus -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_can_default(GtkWidget *widget) - { - return GTK_WIDGET_CAN_DEFAULT(widget); - } - #define gtk_widget_get_can_default wx_gtk_widget_get_can_default - - inline void wx_gtk_widget_set_can_default(GtkWidget *widget, gboolean can) - { - if ( can ) - GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_DEFAULT); - else - GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_DEFAULT); - } - #define gtk_widget_set_can_default wx_gtk_widget_set_can_default -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_has_default(GtkWidget *widget) - { - return GTK_WIDGET_HAS_DEFAULT(widget); - } - #define gtk_widget_has_default wx_gtk_widget_has_default -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline GtkStateType wx_gtk_widget_get_state(GtkWidget *widget) - { - return (GtkStateType)GTK_WIDGET_STATE(widget); - } - #define gtk_widget_get_state wx_gtk_widget_get_state -#endif - - -#if !GTK_CHECK_VERSION(2,18,0) - inline gboolean wx_gtk_widget_get_double_buffered(GtkWidget *widget) - { - return GTK_WIDGET_DOUBLE_BUFFERED(widget); - } - #define gtk_widget_get_double_buffered wx_gtk_widget_get_double_buffered -#endif - - -#if !GTK_CHECK_VERSION(2,20,0) - inline gboolean wx_gtk_widget_get_realized(GtkWidget *widget) - { - return GTK_WIDGET_REALIZED(widget); - } - #define gtk_widget_get_realized wx_gtk_widget_get_realized -#endif - - -#if !GTK_CHECK_VERSION(2,20,0) - inline gboolean wx_gtk_widget_get_mapped(GtkWidget *widget) - { - return GTK_WIDGET_MAPPED(widget); - } - #define gtk_widget_get_mapped wx_gtk_widget_get_mapped -#endif +#endif // !GTK_CHECK_VERSION(3,0,0) && !defined(GTK_DISABLE_DEPRECATED) #endif // _WX_GTK_PRIVATE_COMPAT_H_ -- 2.47.2