bool wxNativeFontInfo::FromString(const wxString& s)
{
- xFontName = s;
+ wxStringTokenizer tokenizer(s, _T(";"));
+
+ wxString token = tokenizer.GetNextToken();
+ //
+ // Ignore the version for now
+ //
+
+ xFontName = tokenizer.GetNextToken();
+ if(!xFontName)
+ return FALSE;
+
return TRUE;
}
wxString wxNativeFontInfo::ToString() const
{
- return xFontName;
+ wxString s;
+
+ s.Printf(_T("%d;%s"),
+ 0, // version
+ xFontName.c_str());
+
+ return s;
}
// ----------------------------------------------------------------------------
void wxFont::Init()
{
- if (wxTheFontList)
- wxTheFontList->Append( this );
}
wxFont::wxFont(const wxNativeFontInfo& info)
{
Init();
- Create(info.ToString());
+ Create(info.xFontName);
}
bool wxFont::Create(const wxNativeFontInfo& info)
bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
{
- Init();
-
if( !fontname )
{
*this = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT);
wxFont::~wxFont()
{
- if (wxTheFontList)
- wxTheFontList->DeleteObject( this );
}
// ----------------------------------------------------------------------------
}
gtk_widget_destroy( widget );
}
+ else
+ {
+ // already have it, but ref it once more before returning
+ gdk_font_ref(g_systemDefaultGuiFont);
+ }
+
return g_systemDefaultGuiFont;
}