/////////////////////////////////////////////////////////////////////////////
-// Name: button.cpp
+// Name: src/gtk/button.cpp
// Purpose:
// Author: Robert Roebling
// Id: $Id$
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#include "wx/defs.h"
-
#if wxUSE_BUTTON
#include "wx/button.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/toplevel.h"
+#endif
+
#include "wx/stockitem.h"
#include "wx/gtk/private.h"
class wxButton;
-//-----------------------------------------------------------------------------
-// idle system
-//-----------------------------------------------------------------------------
-
-extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
-
//-----------------------------------------------------------------------------
// data
//-----------------------------------------------------------------------------
bottom_border += default_border->bottom;
g_free( default_border );
}
- win->DoMoveWindow( win->m_x-top_border,
- win->m_y-left_border,
- win->m_width+left_border+right_border,
- win->m_height+top_border+bottom_border );
+ win->MoveWindow(
+ win->m_x - top_border,
+ win->m_y - left_border,
+ win->m_width + left_border + right_border,
+ win->m_height + top_border + bottom_border);
}
return FALSE;
const wxPoint &pos, const wxSize &size,
long style, const wxValidator& validator, const wxString &name )
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
+ m_needParent = true;
+ m_acceptsFocus = true;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG( wxT("wxButton creation failed") );
- return FALSE;
+ return false;
}
m_widget = gtk_button_new_with_mnemonic("");
else
#endif
{
- if (GTK_IS_MISC(BUTTON_CHILD(m_widget)))
- gtk_misc_set_alignment (GTK_MISC (BUTTON_CHILD (m_widget)),
+ if (GTK_IS_MISC(GTK_BIN(m_widget)->child))
+ gtk_misc_set_alignment(GTK_MISC(GTK_BIN(m_widget)->child),
x_alignment, y_alignment);
}
if (style & wxNO_BORDER)
gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
- gtk_signal_connect_after( GTK_OBJECT(m_widget), "clicked",
- GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this );
+ g_signal_connect_after (m_widget, "clicked",
+ G_CALLBACK (gtk_button_clicked_callback),
+ this);
- gtk_signal_connect_after( GTK_OBJECT(m_widget), "style_set",
- GTK_SIGNAL_FUNC(gtk_button_style_set_callback), (gpointer*) this );
+ g_signal_connect_after (m_widget, "style_set",
+ G_CALLBACK (gtk_button_style_set_callback),
+ this);
m_parent->DoAddChild( this );
void wxButton::SetDefault()
{
- wxWindow *parent = GetParent();
- wxCHECK_RET( parent, _T("button without parent?") );
+ wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+ wxCHECK_RET( tlw, _T("button without top level window?") );
- parent->SetDefaultItem(this);
+ tlw->SetDefaultItem(this);
GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
gtk_widget_grab_default( m_widget );
bool wxButton::Enable( bool enable )
{
if ( !wxControl::Enable( enable ) )
- return FALSE;
+ return false;
- gtk_widget_set_sensitive( BUTTON_CHILD(m_widget), enable );
+ gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable);
- return TRUE;
+ return true;
}
-bool wxButton::IsOwnGtkWindow( GdkWindow *window )
+GdkWindow *wxButton::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const
{
return GTK_BUTTON(m_widget)->event_window;
}
void wxButton::DoApplyWidgetStyle(GtkRcStyle *style)
{
gtk_widget_modify_style(m_widget, style);
- gtk_widget_modify_style(BUTTON_CHILD(m_widget), style);
+ gtk_widget_modify_style(GTK_BIN(m_widget)->child, style);
}
wxSize wxButton::DoGetBestSize() const
}
#endif // wxUSE_BUTTON
-