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
This commit is contained in:
Mattia Barbon
2005-08-19 10:00:23 +00:00
parent cb542c35fa
commit 6ace5176f6
2 changed files with 35 additions and 4 deletions

View 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));

View 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);