/////////////////////////////////////////////////////////////////////////////
-// Name: button.cpp
+// Name: src/motif/button.cpp
// Purpose: wxButton
// Author: Julian Smart
// Modified by:
#define XtDisplay XTDISPLAY
#endif
-#include "wx/defs.h"
-
#include "wx/button.h"
#ifdef __VMS__
#pragma message enable nosimpint
#endif
+
+#ifndef WX_PRECOMP
+ #include "wx/toplevel.h"
+#endif
+
#include "wx/stockitem.h"
#include "wx/motif/private.h"
#include "wx/sysopt.h"
wxString label(lbl);
if (label.empty() && wxIsStockID(id))
label = wxGetStockLabel(id);
-
+
if( !CreateControl( parent, id, pos, size, style, validator, name ) )
return false;
- wxString label1(wxStripMenuCodes(label));
- wxXmString text( label1 );
+ wxXmString text( GetLabelText(label) );
Widget parentWidget = (Widget) parent->GetClientWidget();
XmNlabelString, text(),
XmNrecomputeSize, False,
// See comment for wxButton::SetDefault
- // XmNdefaultButtonShadowThickness, 1,
+ // XmNdefaultButtonShadowThickness, 1,
NULL);
XtAddCallback ((Widget) m_mainWidget,
void wxButton::SetDefault()
{
- wxWindow *parent = GetParent();
- if ( parent )
- parent->SetDefaultItem(this);
+ wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+ if ( tlw )
+ tlw->SetDefaultItem(this);
// We initially do not set XmNdefaultShadowThickness, to have
// small buttons. Unfortunately, buttons are now mis-aligned. We
// wxButton in the same row, correction is straighforward: we set
// resource for all wxButton in this parent (but not sub panels)
+ wxWindow *parent = GetParent();
for (wxWindowList::compatibility_iterator node = parent->GetChildren().GetFirst ();
node; node = node->GetNext ())
{