From 435151d7f2eac93bf85552820eefa356bf809b6c Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 6 Nov 1999 15:38:23 +0000 Subject: [PATCH] added wxFontEnumerator::GetFacenames and GetEncodings that return array of facenames/encodings found by EnumerateXXXX git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/fontenum.tex | 20 ++++++++++++++++++++ include/wx/fontenum.h | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/docs/latex/wx/fontenum.tex b/docs/latex/wx/fontenum.tex index 2c3a12cc95..54ca070cd3 100644 --- a/docs/latex/wx/fontenum.tex +++ b/docs/latex/wx/fontenum.tex @@ -72,6 +72,26 @@ Call \helpref{OnFontEncoding}{wxfontenumeratoronfontencoding} for each encoding supported by the given font - or for each encoding supported by at least some font if {\it font} is not specified. + +\membersection{wxFontEnumerator::GetEncodings}\label{wxfontenumeratorgetencodings} + +\func{wxArrayString*}{GetEncodings}{\void} + +Return array of strings containing all encodings found by +\helpref{EnumerateEncodings}{wxfontenumeratorenumerateencodings}. This is convenience function. It is +based on default implementation of \helpref{OnFontEncoding}{wxfontenumeratoronfontencoding} so don't expect +it to work if you overwrite that method. + +\membersection{wxFontEnumerator::GetFacenames}\label{wxfontenumeratorgetfacenames} + +\func{wxArrayString*}{GetFacenames}{\void} + +Return array of strings containing all facenames found by +\helpref{EnumerateFacenames}{wxfontenumeratorenumeratefacenames}. This is convenience function. It is +based on default implementation of \helpref{OnFacename}{wxfontenumeratoronfacename} so don't expect +it to work if you overwrite that method. + + \membersection{wxFontEnumerator::OnFacename}\label{wxfontenumeratoronfacename} \func{virtual bool}{OnFacename}{\param{const wxString\& }{font}} diff --git a/include/wx/fontenum.h b/include/wx/fontenum.h index 5b82956ddd..9c56ec51cd 100644 --- a/include/wx/fontenum.h +++ b/include/wx/fontenum.h @@ -27,6 +27,8 @@ class WXDLLEXPORT wxFontEnumerator { public: + wxFontEnumerator() : m_Facenames(NULL), m_Encodings(NULL) { } + // start enumerating font facenames (either all of them or those which // support the given encoding) - will result in OnFacename() being // called for each available facename (until they are exhausted or @@ -47,16 +49,41 @@ public: // TRUE to continue with it // called by EnumerateFacenames - virtual bool OnFacename(const wxString& WXUNUSED(facename)) - { return FALSE; } + virtual bool OnFacename(const wxString& facename) + { + if (m_Facenames == NULL) m_Facenames = new wxArrayString; + m_Facenames -> Add(facename); + return TRUE; + } // called by EnumerateEncodings virtual bool OnFontEncoding(const wxString& WXUNUSED(facename), - const wxString& WXUNUSED(encoding)) - { return FALSE; } + const wxString& encoding) + { + if (m_Encodings == NULL) m_Encodings = new wxArrayString; + m_Encodings -> Add(encoding); + return TRUE; + } + + // convenience function that returns array of facenames. Cannot be called + // before EnumerateFacenames. + wxArrayString *GetFacenames() + { return m_Facenames; } + // convenience function that returns array of encodings. + // Cannot be called before EnumerateEncodings. + wxArrayString *GetEncodings() + { return m_Encodings; } + // virtual dtor for the base class - virtual ~wxFontEnumerator() { } + virtual ~wxFontEnumerator() + { + if (m_Facenames) delete m_Facenames; + if (m_Encodings) delete m_Encodings; + } + +private: + wxArrayString *m_Facenames, *m_Encodings; }; #endif // _WX_FONTENUM_H_ -- 2.45.2