From 6ace5176f6f3f0c841ff29294a517f3c862b8ddc Mon Sep 17 00:00:00 2001 From: Mattia Barbon Date: Fri, 19 Aug 2005 10:00:23 +0000 Subject: [PATCH] Use default GUI font for wxMessageDialog and wxFileDialog. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/motif/filedlg.cpp | 18 ++++++++++++++++-- src/motif/msgdlg.cpp | 21 +++++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/motif/filedlg.cpp b/src/motif/filedlg.cpp index 1945cadf3a..5d03f20804 100644 --- a/src/motif/filedlg.cpp +++ b/src/motif/filedlg.cpp @@ -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)); diff --git a/src/motif/msgdlg.cpp b/src/motif/msgdlg.cpp index 4d08240bc2..8cb73db371 100644 --- a/src/motif/msgdlg.cpp +++ b/src/motif/msgdlg.cpp @@ -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); -- 2.45.2