]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/button.cpp
added an error message if a bitmap can't be addedto the image list
[wxWidgets.git] / src / motif / button.cpp
index c3f5be3ec4287d530eb782280b58d8fffa739b27..814d1a2a515b99fab4ceb6042f3a50fae0af502d 100644 (file)
@@ -40,6 +40,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
     m_windowStyle = style;
     m_backgroundColour = parent->GetBackgroundColour();
     m_foregroundColour = parent->GetForegroundColour();
+    m_windowFont = parent->GetFont();
 
     parent->AddChild((wxButton *)this);
 
@@ -53,6 +54,8 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
     XmString text = XmStringCreateSimple ((char*) (const char*) label1);
     Widget parentWidget = (Widget) parent->GetClientWidget();
 
+    XmFontList fontList = (XmFontList) m_windowFont.GetFontList(1.0, XtDisplay(parentWidget));
+
     /*
      * Patch Note (important)
      * There is no major reason to put a defaultButtonThickness here.
@@ -65,6 +68,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
     m_mainWidget = (WXWidget) XtVaCreateManagedWidget ("button",
                                         xmPushButtonWidgetClass,
                                                 parentWidget,
+                                                 XmNfontList, fontList,
                                                 XmNlabelString, text,
 //                  XmNdefaultButtonShadowThickness, 1, // See comment for wxButton::SetDefault
                                                 NULL);
@@ -74,9 +78,6 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
     XtAddCallback ((Widget) m_mainWidget, XmNactivateCallback, (XtCallbackProc) wxButtonCallback,
             (XtPointer) this);
 
-    m_windowFont = parent->GetFont();
-    ChangeFont(FALSE);
-
     SetCanAddEventHandler(TRUE);
     AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, size.x, size.y);
 
@@ -97,7 +98,7 @@ void wxButton::SetDefault()
   // Because it's very hard to find wxButton in the same row,
   // correction is straighforward: we set resource for all wxButton
   // in this parent (but not sub panels)
-  for (wxNode * node = parent->GetChildren ()->First (); node; node = node->Next ())
+  for (wxNode * node = parent->GetChildren().First (); node; node = node->Next ())
     {
       wxButton *item = (wxButton *) node->Data ();
       if (item->IsKindOf(CLASSINFO(wxButton)))
@@ -124,7 +125,7 @@ void wxButton::Command (wxCommandEvent & event)
     ProcessCommand (event);
 }
 
-void wxButtonCallback (Widget w, XtPointer clientData, XtPointer ptr)
+void wxButtonCallback (Widget w, XtPointer clientData, XtPointer WXUNUSED(ptr))
 {
   if (!wxGetWindowFromTable(w))
     // Widget has been deleted!