]> git.saurik.com Git - wxWidgets.git/commitdiff
Use default GUI font for wxMessageDialog and wxFileDialog.
authorMattia Barbon <mbarbon@cpan.org>
Fri, 19 Aug 2005 10:00:23 +0000 (10:00 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Fri, 19 Aug 2005 10:00:23 +0000 (10:00 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/motif/filedlg.cpp
src/motif/msgdlg.cpp

index 1945cadf3a7ed8c557bd64a23c4a631bad756729..5d03f208041fca3347033de5b79f2bb9dc5b1534 100644 (file)
@@ -168,17 +168,31 @@ int wxFileDialog::ShowModal()
     else
         parentWidget = (Widget) wxTheApp->GetTopLevelWidget();
     // prepare the arg list
+    Display* dpy = XtDisplay(parentWidget);
     Arg args[10];
     int ac = 0;
 
-    wxComputeColours (XtDisplay(parentWidget), & m_backgroundColour,
-        (wxColour*) NULL);
+    wxComputeColours (dpy, & m_backgroundColour, (wxColour*) NULL);
 
     XtSetArg(args[ac], XmNbackground, g_itemColors[wxBACK_INDEX].pixel); ac++;
     XtSetArg(args[ac], XmNtopShadowColor, g_itemColors[wxTOPS_INDEX].pixel); ac++;
     XtSetArg(args[ac], XmNbottomShadowColor, g_itemColors[wxBOTS_INDEX].pixel); ac++;
     XtSetArg(args[ac], XmNforeground, g_itemColors[wxFORE_INDEX].pixel); ac++;
 
+    wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+
+    if ( wxFont::GetFontTag() == (WXString) XmNfontList )
+    {
+        XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++;
+    }
+    else
+    {
+        XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++;
+    }
 
     Widget fileSel = XmCreateFileSelectionDialog(parentWidget, "file_selector", args, ac);
     XtUnmanageChild(XmFileSelectionBoxGetChild(fileSel, XmDIALOG_HELP_BUTTON));
index 4d08240bc24dd1b0863cdcc1397e84e10a3a8a79..8cb73db371300bdb3d3688c6bdfdd3fcea74f52f 100644 (file)
@@ -43,6 +43,7 @@
 #include "wx/intl.h"
 #include "wx/msgdlg.h"
 #include "wx/motif/private.h"
+#include "wx/settings.h"
 
 // ----------------------------------------------------------------------------
 // macros
@@ -161,14 +162,30 @@ int wxMessageDialog::ShowModal()
     XtSetArg(args[ac], XmNmessageString, text()); ac++;
     XtSetArg(args[ac], XmNdialogTitle, title()); ac++;
 
-    wxComputeColours (XtDisplay(wParent), & m_backgroundColour,
-        (wxColour*) NULL);
+    Display* dpy = XtDisplay(wParent);
+
+    wxComputeColours (dpy, & m_backgroundColour, (wxColour*) NULL);
 
     XtSetArg(args[ac], XmNbackground, g_itemColors[wxBACK_INDEX].pixel); ac++;
     XtSetArg(args[ac], XmNtopShadowColor, g_itemColors[wxTOPS_INDEX].pixel); ac++;
     XtSetArg(args[ac], XmNbottomShadowColor, g_itemColors[wxBOTS_INDEX].pixel); ac++;
     XtSetArg(args[ac], XmNforeground, g_itemColors[wxFORE_INDEX].pixel); ac++;
 
+    wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+
+    if ( wxFont::GetFontTag() == (WXString) XmNfontList )
+    {
+        XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++;
+    }
+    else
+    {
+        XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++;
+        XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++;
+    }
+
     // do create message box
 
     Widget wMsgBox = (*dialogCreateFunction)(wParent, "", args, ac);