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:
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user