1. wxFontMapper almost finished

2. font helper functions are now in separate files, not utilsunx.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-11-05 19:03:19 +00:00
parent feef75abca
commit 7beba2fc73
32 changed files with 1331 additions and 679 deletions

View File

@@ -69,15 +69,53 @@ void gtk_fontdialog_ok_callback( GtkWidget *WXUNUSED(widget), wxFontDialog *dial
}
gchar *fontname = gtk_font_selection_dialog_get_font_name(fontdlg);
wxFont font( gfont, fontname );
// extract the relevant bits from it
wxString xregistry, xencoding;
char *dash = strrchr(fontname, '-'); // find the last dash
if ( dash )
{
xencoding = dash + 1;
*dash = '\0';
dash = strrchr(fontname, '-'); // the last before one
if ( dash )
{
xregistry = dash + 1;
}
else
{
wxFAIL_MSG(_T("no registry in X font spec?"));
}
// restore the dash we changed to NUL above
*(fontname + strlen(fontname)) = '-';
}
else
{
wxFAIL_MSG(_T("no encoding in X font spec?"));
}
// transfer the X registry/encoding to wxFontData - they are used by
// wxFontMapper after wxFontDialog returns
wxFontData& fontdata = dialog->m_fontData;
// we ignore the facename here - should be enough to choose an arbitrary
// one if the registry/encoding are specified
// dialog->m_fontData.EncodingInfo().facename = xfamily;
fontdata.EncodingInfo().xregistry = xregistry;
fontdata.EncodingInfo().xencoding = xencoding;
// pass fontdata to wxFont ctor so that it can get the encoding from there
// if it is already known (otherwise it will try to deduce it itself)
dialog->m_fontData.SetChosenFont( wxFont(fontname, fontdata) );
g_free( fontname );
dialog->m_fontData.SetChosenFont( font );
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
event.SetEventObject( dialog );
dialog->GetEventHandler()->ProcessEvent( event );
}
#endif // GTK+ 1.2 andlater only
#endif // GTK+ 1.2 and later only
//-----------------------------------------------------------------------------
// "clicked" for Cancel-button
@@ -100,7 +138,8 @@ void gtk_fontdialog_cancel_callback( GtkWidget *WXUNUSED(w), wxFontDialog *dialo
IMPLEMENT_DYNAMIC_CLASS(wxFontDialog,wxDialog)
wxFontDialog::wxFontDialog( wxWindow *parent, wxFontData *WXUNUSED(data) )
wxFontDialog::wxFontDialog( wxWindow *parent, wxFontData *fontdata )
: m_fontData(*fontdata)
{
m_needParent = FALSE;