]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/private/gtk2-compat.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/private/compat.h
3 // Purpose: Compatibility code for older GTK+ versions
4 // Author: Vaclav Slavik
7 // Copyright: (c) 2011 Vaclav Slavik <vslavik@fastmail.fm>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_GTK_PRIVATE_COMPAT_H_
12 #define _WX_GTK_PRIVATE_COMPAT_H_
14 // ----------------------------------------------------------------------------
15 // Implementations of new accessors for older GTK+ versions
16 // ----------------------------------------------------------------------------
18 // GTK+ deprecated direct access to struct members and some other stuff,
19 // replacing them with simple accessor functions. These aren't available in
20 // older versions, though, so we have to provide them for compatibility.
22 // Note: wx_ prefix is used to avoid symbol conflicts at runtime
24 // Note 2: We support building against newer GTK+ version and using an older
25 // one at runtime, so we must provide our implementations of these
26 // functions even if GTK_CHECK_VERSION would indicate the function is
27 // already available in GTK+.
29 #if !GTK_CHECK_VERSION(3,0,0) && !defined(GTK_DISABLE_DEPRECATED)
31 inline gboolean
wx_gtk_widget_get_has_window(GtkWidget
*widget
)
33 return !GTK_WIDGET_NO_WINDOW(widget
);
35 #define gtk_widget_get_has_window wx_gtk_widget_get_has_window
38 inline gboolean
wx_gtk_widget_get_has_grab(GtkWidget
*widget
)
40 return GTK_WIDGET_HAS_GRAB(widget
);
42 #define gtk_widget_get_has_grab wx_gtk_widget_get_has_grab
45 inline gboolean
wx_gtk_widget_get_visible(GtkWidget
*widget
)
47 return GTK_WIDGET_VISIBLE(widget
);
49 #define gtk_widget_get_visible wx_gtk_widget_get_visible
52 inline gboolean
wx_gtk_widget_get_sensitive(GtkWidget
*widget
)
54 return GTK_WIDGET_VISIBLE(widget
);
56 #define gtk_widget_get_sensitive wx_gtk_widget_get_sensitive
59 inline gboolean
wx_gtk_widget_is_drawable(GtkWidget
*widget
)
61 return GTK_WIDGET_DRAWABLE(widget
);
63 #define gtk_widget_is_drawable wx_gtk_widget_is_drawable
66 inline gboolean
wx_gtk_widget_get_can_focus(GtkWidget
*widget
)
68 return GTK_WIDGET_CAN_FOCUS(widget
);
70 #define gtk_widget_get_can_focus wx_gtk_widget_get_can_focus
72 inline void wx_gtk_widset_set_can_focus(GtkWidget
*widget
, gboolean can
)
75 GTK_WIDGET_SET_FLAGS(widget
, GTK_CAN_FOCUS
);
77 GTK_WIDGET_UNSET_FLAGS(widget
, GTK_CAN_FOCUS
);
79 #define gtk_widset_set_can_focus wx_gtk_widset_set_can_focus
82 inline gboolean
wx_gtk_widget_get_can_default(GtkWidget
*widget
)
84 return GTK_WIDGET_CAN_DEFAULT(widget
);
86 #define gtk_widget_get_can_default wx_gtk_widget_get_can_default
88 inline void wx_gtk_widget_set_can_default(GtkWidget
*widget
, gboolean can
)
91 GTK_WIDGET_SET_FLAGS(widget
, GTK_CAN_DEFAULT
);
93 GTK_WIDGET_UNSET_FLAGS(widget
, GTK_CAN_DEFAULT
);
95 #define gtk_widget_set_can_default wx_gtk_widget_set_can_default
98 inline gboolean
wx_gtk_widget_has_default(GtkWidget
*widget
)
100 return GTK_WIDGET_HAS_DEFAULT(widget
);
102 #define gtk_widget_has_default wx_gtk_widget_has_default
105 inline GtkStateType
wx_gtk_widget_get_state(GtkWidget
*widget
)
107 return (GtkStateType
)GTK_WIDGET_STATE(widget
);
109 #define gtk_widget_get_state wx_gtk_widget_get_state
112 inline gboolean
wx_gtk_widget_get_double_buffered(GtkWidget
*widget
)
114 return GTK_WIDGET_DOUBLE_BUFFERED(widget
);
116 #define gtk_widget_get_double_buffered wx_gtk_widget_get_double_buffered
119 inline gboolean
wx_gtk_widget_get_realized(GtkWidget
*widget
)
121 return GTK_WIDGET_REALIZED(widget
);
123 #define gtk_widget_get_realized wx_gtk_widget_get_realized
126 inline gboolean
wx_gtk_widget_get_mapped(GtkWidget
*widget
)
128 return GTK_WIDGET_MAPPED(widget
);
130 #define gtk_widget_get_mapped wx_gtk_widget_get_mapped
132 #endif // !GTK_CHECK_VERSION(3,0,0) && !defined(GTK_DISABLE_DEPRECATED)
135 #endif // _WX_GTK_PRIVATE_COMPAT_H_