Use accessor functions instead of deprecated GTK+ macros.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
8337ae1e40
commit
fc9ab22a76
@ -15,6 +15,7 @@
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "wx/gtk/private/string.h"
|
||||
#include "wx/gtk/private/compat.h"
|
||||
|
||||
// pango_version_check symbol is quite recent ATM (4/2007)... so we
|
||||
// use our own wrapper which implements a smart trick.
|
||||
|
152
include/wx/gtk/private/compat.h
Normal file
152
include/wx/gtk/private/compat.h
Normal file
@ -0,0 +1,152 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/private/compat.h
|
||||
// Purpose: Compatibility code for older GTK+ versions
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2011-03-25
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2011 Vaclav Slavik <vslavik@fastmail.fm>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GTK_PRIVATE_COMPAT_H_
|
||||
#define _WX_GTK_PRIVATE_COMPAT_H_
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Implementations of new accessors for older GTK+ versions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// GTK+ deprecated direct access to struct members and some other stuff,
|
||||
// replacing them with simple accessor functions. These aren't available in
|
||||
// older versions, though, so we have to provide them for compatibility.
|
||||
//
|
||||
// Note: wx_ prefix is used to avoid symbol conflicts at runtime
|
||||
|
||||
|
||||
#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 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 // _WX_GTK_PRIVATE_COMPAT_H_
|
||||
|
@ -410,7 +410,7 @@ void wxAuiDefaultDockArt::DrawSash(wxDC& dc, wxWindow *window, int orientation,
|
||||
|
||||
if (!window) return;
|
||||
if (!window->m_wxwindow) return;
|
||||
if (!GTK_WIDGET_DRAWABLE(window->m_wxwindow)) return;
|
||||
if (!gtk_widget_is_drawable(window->m_wxwindow)) return;
|
||||
|
||||
gtk_paint_handle
|
||||
(
|
||||
|
@ -416,7 +416,7 @@ void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) )
|
||||
GDK_WINDOW_EDGE_SOUTH_EAST;
|
||||
gtk_paint_resize_grip( m_widget->style,
|
||||
GTKGetDrawingWindow(),
|
||||
(GtkStateType) GTK_WIDGET_STATE (m_widget),
|
||||
gtk_widget_get_state(m_widget),
|
||||
NULL,
|
||||
m_widget,
|
||||
"statusbar",
|
||||
|
@ -83,7 +83,7 @@ wxgtk_button_style_set_callback(GtkWidget* widget, GtkStyle*, wxButton* win)
|
||||
{
|
||||
/* the default button has a border around it */
|
||||
wxWindow* parent = win->GetParent();
|
||||
if (parent && parent->m_wxwindow && GTK_WIDGET_CAN_DEFAULT(widget))
|
||||
if (parent && parent->m_wxwindow && gtk_widget_get_can_default(widget))
|
||||
{
|
||||
GtkBorder* border = NULL;
|
||||
gtk_widget_style_get(widget, "default_border", &border, NULL);
|
||||
@ -181,7 +181,7 @@ wxWindow *wxButton::SetDefault()
|
||||
{
|
||||
wxWindow *oldDefault = wxButtonBase::SetDefault();
|
||||
|
||||
GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
|
||||
gtk_widget_set_can_default(m_widget, TRUE);
|
||||
gtk_widget_grab_default( m_widget );
|
||||
|
||||
// resize for default border
|
||||
@ -349,11 +349,11 @@ wxSize wxButton::DoGetBestSize() const
|
||||
// extra border around it, but we don't want to take it into account in
|
||||
// our size calculations (otherwise the result is visually ugly), so
|
||||
// always return the size of non default button from here
|
||||
const bool isDefault = GTK_WIDGET_HAS_DEFAULT(m_widget);
|
||||
const bool isDefault = gtk_widget_has_default(m_widget);
|
||||
if ( isDefault )
|
||||
{
|
||||
// temporarily unset default flag
|
||||
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_DEFAULT );
|
||||
gtk_widget_set_can_default(m_widget, FALSE);
|
||||
}
|
||||
|
||||
wxSize ret( wxControl::DoGetBestSize() );
|
||||
@ -361,7 +361,7 @@ wxSize wxButton::DoGetBestSize() const
|
||||
if ( isDefault )
|
||||
{
|
||||
// set it back again
|
||||
GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
|
||||
gtk_widget_set_can_default(m_widget, TRUE);
|
||||
}
|
||||
|
||||
if (!HasFlag(wxBU_EXACTFIT))
|
||||
|
@ -3028,7 +3028,7 @@ void wxDataViewColumn::OnInternalIdle()
|
||||
if (m_isConnected)
|
||||
return;
|
||||
|
||||
if (GTK_WIDGET_REALIZED(GetOwner()->m_treeview))
|
||||
if (gtk_widget_get_realized(GetOwner()->m_treeview))
|
||||
{
|
||||
GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN(m_column);
|
||||
if (column->button)
|
||||
@ -4244,7 +4244,7 @@ wxGtkTreeModelNode *wxDataViewCtrlInternal::FindParentNode( const wxDataViewItem
|
||||
static void
|
||||
wxdataview_selection_changed_callback( GtkTreeSelection* WXUNUSED(selection), wxDataViewCtrl *dv )
|
||||
{
|
||||
if (!GTK_WIDGET_REALIZED(dv->m_widget))
|
||||
if (!gtk_widget_get_realized(dv->m_widget))
|
||||
return;
|
||||
|
||||
wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, dv->GetId() );
|
||||
@ -4326,7 +4326,7 @@ void wxDataViewCtrl::AddChildGTK(wxWindowGTK* child)
|
||||
GtkWidget* treeview = GtkGetTreeView();
|
||||
|
||||
// Insert widget in GtkTreeView
|
||||
if (GTK_WIDGET_REALIZED(treeview))
|
||||
if (gtk_widget_get_realized(treeview))
|
||||
gtk_widget_set_parent_window( child->m_widget,
|
||||
gtk_tree_view_get_bin_window( GTK_TREE_VIEW(treeview) ) );
|
||||
gtk_widget_set_parent( child->m_widget, treeview );
|
||||
|
@ -295,7 +295,7 @@ wxWindowDCImpl::wxWindowDCImpl( wxDC *owner, wxWindow *window ) :
|
||||
wxCHECK_RET(widget, "DC needs a widget");
|
||||
|
||||
m_gdkwindow = widget->window;
|
||||
if (GTK_WIDGET_NO_WINDOW(widget))
|
||||
if (!gtk_widget_get_has_window(widget))
|
||||
SetDeviceLocalOrigin(widget->allocation.x, widget->allocation.y);
|
||||
}
|
||||
|
||||
|
@ -231,11 +231,11 @@ bool wxGLCanvas::Create(wxWindow *parent,
|
||||
// if our parent window is already visible, we had been realized before we
|
||||
// connected to the "realize" signal and hence our m_glContext hasn't been
|
||||
// initialized yet and we have to do it now
|
||||
if (GTK_WIDGET_REALIZED(m_wxwindow))
|
||||
if (gtk_widget_get_realized(m_wxwindow))
|
||||
gtk_glwindow_realized_callback( m_wxwindow, this );
|
||||
#endif // WXWIN_COMPATIBILITY_2_8
|
||||
|
||||
if (GTK_WIDGET_MAPPED(m_wxwindow))
|
||||
if (gtk_widget_get_mapped(m_wxwindow))
|
||||
gtk_glwindow_map_callback( m_wxwindow, this );
|
||||
|
||||
return true;
|
||||
|
@ -773,7 +773,7 @@ void wxListBox::DoScrollToCell(int n, float alignY, float alignX)
|
||||
wxCHECK_RET( IsValid(n), wxT("invalid index"));
|
||||
|
||||
//RN: I have no idea why this line is needed...
|
||||
if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (m_treeview))
|
||||
if (gdk_pointer_is_grabbed () && gtk_widget_has_grab(GTK_WIDGET(m_treeview)))
|
||||
return;
|
||||
|
||||
GtkTreeIter iter;
|
||||
|
@ -475,7 +475,7 @@ bool wxRadioBox::IsItemEnabled(unsigned int item) const
|
||||
|
||||
// don't use GTK_WIDGET_IS_SENSITIVE() here, we want to return true even if
|
||||
// the parent radiobox is disabled
|
||||
return GTK_WIDGET_SENSITIVE(GTK_WIDGET(button));
|
||||
return gtk_widget_is_sensitive(GTK_WIDGET(button));
|
||||
}
|
||||
|
||||
bool wxRadioBox::Show(unsigned int item, bool show)
|
||||
@ -506,7 +506,7 @@ bool wxRadioBox::IsItemShown(unsigned int item) const
|
||||
|
||||
GtkButton *button = GTK_BUTTON( node->GetData()->button );
|
||||
|
||||
return GTK_WIDGET_VISIBLE(GTK_WIDGET(button));
|
||||
return gtk_widget_get_visible(GTK_WIDGET(button));
|
||||
}
|
||||
|
||||
unsigned int wxRadioBox::GetCount() const
|
||||
|
@ -316,7 +316,7 @@ static int GetBorderWidth(wxSystemMetric index, wxWindow* win)
|
||||
int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win )
|
||||
{
|
||||
GdkWindow *window = NULL;
|
||||
if(win && GTK_WIDGET_REALIZED(win->GetHandle()))
|
||||
if(win && gtk_widget_get_realized(win->GetHandle()))
|
||||
window = win->GetHandle()->window;
|
||||
|
||||
switch (index)
|
||||
|
@ -689,7 +689,7 @@ bool wxTextCtrl::Create( wxWindow *parent,
|
||||
|
||||
gtk_widget_add_events( GTK_WIDGET(m_text), GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK );
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
|
||||
gtk_widget_set_can_focus(m_widget, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -80,7 +80,8 @@ extern "C" {
|
||||
static void wxgtk_window_set_urgency_hint (GtkWindow *win,
|
||||
gboolean setting)
|
||||
{
|
||||
wxASSERT_MSG( GTK_WIDGET_REALIZED(win), wxT("wxgtk_window_set_urgency_hint: GdkWindow not realized") );
|
||||
wxASSERT_MSG( gtk_widget_get_realized(GTK_WIDGET(win)),
|
||||
wxT("wxgtk_window_set_urgency_hint: GdkWindow not realized") );
|
||||
GdkWindow *window = GTK_WIDGET(win)->window;
|
||||
XWMHints *wm_hints;
|
||||
|
||||
@ -713,7 +714,7 @@ bool wxTopLevelWindowGTK::EnableCloseButton( bool enable )
|
||||
else
|
||||
m_gdkFunc &= ~GDK_FUNC_CLOSE;
|
||||
|
||||
if (GTK_WIDGET_REALIZED(m_widget) && (m_widget->window))
|
||||
if (gtk_widget_get_realized(m_widget) && (m_widget->window))
|
||||
gdk_window_set_functions( m_widget->window, (GdkWMFunction)m_gdkFunc );
|
||||
|
||||
return true;
|
||||
@ -820,7 +821,7 @@ bool wxTopLevelWindowGTK::Show( bool show )
|
||||
bool deferShow = show && !m_isShown && m_deferShow;
|
||||
if (deferShow)
|
||||
{
|
||||
deferShow = m_deferShowAllowed && !GTK_WIDGET_REALIZED(m_widget);
|
||||
deferShow = m_deferShowAllowed && !gtk_widget_get_realized(m_widget);
|
||||
if (deferShow)
|
||||
{
|
||||
deferShow = g_signal_handler_find(m_widget,
|
||||
@ -889,7 +890,7 @@ bool wxTopLevelWindowGTK::Show( bool show )
|
||||
return true;
|
||||
}
|
||||
|
||||
if (show && !GTK_WIDGET_REALIZED(m_widget))
|
||||
if (show && !gtk_widget_get_realized(m_widget))
|
||||
{
|
||||
// size_allocate signals occur in reverse order (bottom to top).
|
||||
// Things work better if the initial wxSizeEvents are sent (from the
|
||||
@ -1194,7 +1195,7 @@ void wxTopLevelWindowGTK::SetIcons( const wxIconBundle &icons )
|
||||
// Setting icons before window is realized can cause a GTK assertion if
|
||||
// another TLW is realized before this one, and it has this one as it's
|
||||
// transient parent. The life demo exibits this problem.
|
||||
if (GTK_WIDGET_REALIZED(m_widget))
|
||||
if (gtk_widget_get_realized(m_widget))
|
||||
{
|
||||
GList* list = NULL;
|
||||
for (size_t i = icons.GetIconCount(); i--;)
|
||||
@ -1295,7 +1296,7 @@ bool wxTopLevelWindowGTK::SetShape(const wxRegion& region)
|
||||
wxCHECK_MSG( HasFlag(wxFRAME_SHAPED), false,
|
||||
wxT("Shaped windows must be created with the wxFRAME_SHAPED style."));
|
||||
|
||||
if ( GTK_WIDGET_REALIZED(m_widget) )
|
||||
if ( gtk_widget_get_realized(m_widget) )
|
||||
{
|
||||
if ( m_wxwindow )
|
||||
do_shape_combine_region(m_wxwindow->window, region);
|
||||
@ -1334,7 +1335,7 @@ void wxTopLevelWindowGTK::RequestUserAttention(int flags)
|
||||
|
||||
m_urgency_hint = -2;
|
||||
|
||||
if( GTK_WIDGET_REALIZED(m_widget) && !IsActive() )
|
||||
if( gtk_widget_get_realized(m_widget) && !IsActive() )
|
||||
{
|
||||
new_hint_value = true;
|
||||
|
||||
|
@ -52,7 +52,7 @@ static void size_allocate(GtkWidget* widget, GtkAllocation* alloc)
|
||||
int w = alloc->width - 2 * border_x;
|
||||
if (w < 0) w = 0;
|
||||
|
||||
if (GTK_WIDGET_REALIZED(widget) && (is_move || is_resize))
|
||||
if (gtk_widget_get_realized(widget) && (is_move || is_resize))
|
||||
{
|
||||
int h = alloc->height - 2 * border_y;
|
||||
if (h < 0) h = 0;
|
||||
@ -76,7 +76,7 @@ static void size_allocate(GtkWidget* widget, GtkAllocation* alloc)
|
||||
for (const GList* list = pizza->m_fixed.children; list; list = list->next)
|
||||
{
|
||||
const GtkFixedChild* child = static_cast<GtkFixedChild*>(list->data);
|
||||
if (GTK_WIDGET_VISIBLE(child->widget))
|
||||
if (gtk_widget_get_visible(child->widget))
|
||||
{
|
||||
GtkAllocation child_alloc;
|
||||
// note that child positions do not take border into
|
||||
@ -236,7 +236,11 @@ GtkWidget* wxPizza::New(long windowStyle)
|
||||
pizza->m_is_scrollable = (windowStyle & (wxHSCROLL | wxVSCROLL)) != 0;
|
||||
// mask off border styles not useable with wxPizza
|
||||
pizza->m_border_style = int(windowStyle & BORDER_STYLES);
|
||||
#if GTK_CHECK_VERSION(2,20,0)
|
||||
gtk_widget_set_has_window(widget, true);
|
||||
#else
|
||||
gtk_fixed_set_has_window(GTK_FIXED(widget), true);
|
||||
#endif
|
||||
gtk_widget_add_events(widget,
|
||||
GDK_EXPOSURE_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
|
@ -1618,7 +1618,7 @@ window_scroll_event_hscrollbar(GtkWidget*, GdkEventScroll* gdk_event, wxWindow*
|
||||
GtkRange *range = win->m_scrollBar[wxWindow::ScrollDir_Horz];
|
||||
if (!range) return FALSE;
|
||||
|
||||
if (range && GTK_WIDGET_VISIBLE (range))
|
||||
if (range && gtk_widget_get_visible(GTK_WIDGET(range)))
|
||||
{
|
||||
GtkAdjustment *adj = range->adjustment;
|
||||
gdouble delta = adj->step_increment * 3;
|
||||
@ -1661,7 +1661,7 @@ window_scroll_event(GtkWidget*, GdkEventScroll* gdk_event, wxWindow* win)
|
||||
GtkRange *range = win->m_scrollBar[wxWindow::ScrollDir_Vert];
|
||||
if (!range) return FALSE;
|
||||
|
||||
if (range && GTK_WIDGET_VISIBLE (range))
|
||||
if (range && gtk_widget_get_visible(GTK_WIDGET(range)))
|
||||
{
|
||||
GtkAdjustment *adj = range->adjustment;
|
||||
gdouble delta = adj->step_increment * 3;
|
||||
@ -2539,7 +2539,7 @@ void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags
|
||||
int bottom_border = 0;
|
||||
|
||||
/* the default button has a border around it */
|
||||
if (GTK_WIDGET_CAN_DEFAULT(m_widget))
|
||||
if (gtk_widget_get_can_default(m_widget))
|
||||
{
|
||||
GtkBorder *default_border = NULL;
|
||||
gtk_widget_style_get( m_widget, "default_border", &default_border, NULL );
|
||||
@ -2583,7 +2583,7 @@ void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags
|
||||
|
||||
bool wxWindowGTK::GTKShowFromOnIdle()
|
||||
{
|
||||
if (IsShown() && m_showOnIdle && !GTK_WIDGET_VISIBLE (m_widget))
|
||||
if (IsShown() && m_showOnIdle && !gtk_widget_get_visible (m_widget))
|
||||
{
|
||||
GtkAllocation alloc;
|
||||
alloc.x = m_x;
|
||||
@ -2780,7 +2780,7 @@ void wxWindowGTK::DoClientToScreen( int *x, int *y ) const
|
||||
|
||||
if (!m_wxwindow)
|
||||
{
|
||||
if (GTK_WIDGET_NO_WINDOW (m_widget))
|
||||
if (!gtk_widget_get_has_window(m_widget))
|
||||
{
|
||||
org_x += m_widget->allocation.x;
|
||||
org_y += m_widget->allocation.y;
|
||||
@ -2817,7 +2817,7 @@ void wxWindowGTK::DoScreenToClient( int *x, int *y ) const
|
||||
|
||||
if (!m_wxwindow)
|
||||
{
|
||||
if (GTK_WIDGET_NO_WINDOW (m_widget))
|
||||
if (!gtk_widget_get_has_window(m_widget))
|
||||
{
|
||||
org_x += m_widget->allocation.x;
|
||||
org_y += m_widget->allocation.y;
|
||||
@ -3174,7 +3174,7 @@ void wxWindowGTK::SetFocus()
|
||||
GtkWidget *widget = m_wxwindow ? m_wxwindow : m_focusWidget;
|
||||
|
||||
if ( GTK_IS_CONTAINER(widget) &&
|
||||
!GTK_WIDGET_CAN_FOCUS(widget) )
|
||||
!gtk_widget_get_can_focus(widget) )
|
||||
{
|
||||
wxLogTrace(TRACE_FOCUS,
|
||||
wxT("Setting focus to a child of %s(%p, %s)"),
|
||||
@ -3192,17 +3192,11 @@ void wxWindowGTK::SetFocus()
|
||||
|
||||
void wxWindowGTK::SetCanFocus(bool canFocus)
|
||||
{
|
||||
if ( canFocus )
|
||||
GTK_WIDGET_SET_FLAGS(m_widget, GTK_CAN_FOCUS);
|
||||
else
|
||||
GTK_WIDGET_UNSET_FLAGS(m_widget, GTK_CAN_FOCUS);
|
||||
gtk_widget_set_can_focus(m_widget, canFocus);
|
||||
|
||||
if ( m_wxwindow && (m_widget != m_wxwindow) )
|
||||
{
|
||||
if ( canFocus )
|
||||
GTK_WIDGET_SET_FLAGS(m_wxwindow, GTK_CAN_FOCUS);
|
||||
else
|
||||
GTK_WIDGET_UNSET_FLAGS(m_wxwindow, GTK_CAN_FOCUS);
|
||||
gtk_widget_set_can_focus(m_wxwindow, canFocus);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3227,7 +3221,7 @@ bool wxWindowGTK::Reparent( wxWindowBase *newParentBase )
|
||||
|
||||
if (newParent)
|
||||
{
|
||||
if (GTK_WIDGET_VISIBLE (newParent->m_widget))
|
||||
if (gtk_widget_get_visible (newParent->m_widget))
|
||||
{
|
||||
m_showOnIdle = true;
|
||||
gtk_widget_hide( m_widget );
|
||||
@ -3393,10 +3387,10 @@ void wxWindowGTK::RealizeTabOrder()
|
||||
// widget than m_widget, so if the main widget isn't
|
||||
// focusable try the connect widget
|
||||
GtkWidget* w = win->m_widget;
|
||||
if ( !GTK_WIDGET_CAN_FOCUS(w) )
|
||||
if ( !gtk_widget_get_can_focus(w) )
|
||||
{
|
||||
w = win->GetConnectWidget();
|
||||
if ( !GTK_WIDGET_CAN_FOCUS(w) )
|
||||
if ( !gtk_widget_get_can_focus(w) )
|
||||
w = NULL;
|
||||
}
|
||||
|
||||
@ -3583,7 +3577,7 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground),
|
||||
// Just return if the widget or one of its ancestors isn't mapped
|
||||
GtkWidget *w;
|
||||
for (w = m_wxwindow; w != NULL; w = w->parent)
|
||||
if (!GTK_WIDGET_MAPPED (w))
|
||||
if (!gtk_widget_get_mapped (w))
|
||||
return;
|
||||
|
||||
GdkWindow* window = GTKGetDrawingWindow();
|
||||
@ -3606,7 +3600,7 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground),
|
||||
|
||||
void wxWindowGTK::Update()
|
||||
{
|
||||
if (m_widget && GTK_WIDGET_MAPPED(m_widget))
|
||||
if (m_widget && gtk_widget_get_mapped(m_widget))
|
||||
{
|
||||
GdkDisplay* display = gtk_widget_get_display(m_widget);
|
||||
// Flush everything out to the server, and wait for it to finish.
|
||||
@ -3709,7 +3703,7 @@ void wxWindowGTK::GtkSendPaintEvents()
|
||||
if (!parent)
|
||||
parent = (wxWindow*)this;
|
||||
|
||||
if (GTK_WIDGET_MAPPED(parent->m_widget))
|
||||
if (gtk_widget_get_mapped(parent->m_widget))
|
||||
{
|
||||
wxRegionIterator upd( m_nativeUpdateRegion );
|
||||
while (upd)
|
||||
@ -3722,7 +3716,7 @@ void wxWindowGTK::GtkSendPaintEvents()
|
||||
|
||||
gtk_paint_flat_box( parent->m_widget->style,
|
||||
GTKGetDrawingWindow(),
|
||||
(GtkStateType)GTK_WIDGET_STATE(m_wxwindow),
|
||||
(GtkStateType)gtk_widget_get_state(m_wxwindow),
|
||||
GTK_SHADOW_NONE,
|
||||
&rect,
|
||||
parent->m_widget,
|
||||
@ -3767,7 +3761,7 @@ void wxWindowGTK::SetDoubleBuffered( bool on )
|
||||
|
||||
bool wxWindowGTK::IsDoubleBuffered() const
|
||||
{
|
||||
return GTK_WIDGET_DOUBLE_BUFFERED( m_wxwindow );
|
||||
return gtk_widget_get_double_buffered( m_wxwindow );
|
||||
}
|
||||
|
||||
void wxWindowGTK::ClearBackground()
|
||||
@ -4449,8 +4443,8 @@ extern "C"
|
||||
// is realized (and so can be frozen):
|
||||
static void wx_frozen_widget_realize(GtkWidget* w, wxWindowGTK* win)
|
||||
{
|
||||
wxASSERT( w && !GTK_WIDGET_NO_WINDOW(w) );
|
||||
wxASSERT( GTK_WIDGET_REALIZED(w) );
|
||||
wxASSERT( w && gtk_widget_get_has_window(w) );
|
||||
wxASSERT( gtk_widget_get_realized(w) );
|
||||
|
||||
g_signal_handlers_disconnect_by_func
|
||||
(
|
||||
@ -4469,10 +4463,10 @@ static void wx_frozen_widget_realize(GtkWidget* w, wxWindowGTK* win)
|
||||
|
||||
void wxWindowGTK::GTKFreezeWidget(GtkWidget *w)
|
||||
{
|
||||
if ( !w || GTK_WIDGET_NO_WINDOW(w) )
|
||||
if ( !w || !gtk_widget_get_has_window(w) )
|
||||
return; // window-less widget, cannot be frozen
|
||||
|
||||
if ( !GTK_WIDGET_REALIZED(w) )
|
||||
if ( !gtk_widget_get_realized(w) )
|
||||
{
|
||||
// we can't thaw unrealized widgets because they don't have GdkWindow,
|
||||
// so set it up to be done immediately after realization:
|
||||
@ -4494,10 +4488,10 @@ void wxWindowGTK::GTKFreezeWidget(GtkWidget *w)
|
||||
|
||||
void wxWindowGTK::GTKThawWidget(GtkWidget *w)
|
||||
{
|
||||
if ( !w || GTK_WIDGET_NO_WINDOW(w) )
|
||||
if ( !w || !gtk_widget_get_has_window(w) )
|
||||
return; // window-less widget, cannot be frozen
|
||||
|
||||
if ( !GTK_WIDGET_REALIZED(w) )
|
||||
if ( !gtk_widget_get_realized(w) )
|
||||
{
|
||||
// the widget wasn't realized yet, no need to thaw
|
||||
g_signal_handlers_disconnect_by_func
|
||||
|
Loading…
Reference in New Issue
Block a user