]> git.saurik.com Git - wxWidgets.git/commitdiff
added DoSetNativeFontInfo() to avoid virtual function hiding
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 12 Feb 2003 15:42:27 +0000 (15:42 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 12 Feb 2003 15:42:27 +0000 (15:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 files changed:
include/wx/font.h
include/wx/gtk/font.h
include/wx/gtk1/font.h
include/wx/motif/font.h
include/wx/msw/font.h
include/wx/os2/font.h
include/wx/x11/font.h
src/common/fontcmn.cpp
src/gtk/font.cpp
src/gtk1/font.cpp
src/motif/font.cpp
src/msw/font.cpp
src/os2/font.cpp
src/x11/font.cpp

index 68799b2c5be2fc4fd3f2da01506b0b6175ad7e67..44758313e018f968ce8b7daff4ec1533d02eea23 100644 (file)
@@ -171,7 +171,8 @@ public:
     virtual void SetFaceName( const wxString& faceName ) = 0;
     virtual void SetUnderlined( bool underlined ) = 0;
     virtual void SetEncoding(wxFontEncoding encoding) = 0;
-    virtual void SetNativeFontInfo(const wxNativeFontInfo& info);
+    void SetNativeFontInfo(const wxNativeFontInfo& info)
+        { DoSetNativeFontInfo(info); }
 
     void SetNativeFontInfo(const wxString& info);
     void SetNativeFontInfoUserDesc(const wxString& info);
@@ -195,7 +196,10 @@ protected:
     // get the internal data
     wxFontRefData *GetFontData() const
         { return (wxFontRefData *)m_refData; }
-    
+
+    // the function called by both overloads of SetNativeFontInfo()
+    virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info);
+
 private:
     // the currently default encoding: by default, it's the default system
     // encoding, but may be changed by the application using
index d66fbe1c1c97222377a609dcba549ea5961cacf1..04f48613d806ef97591882c2decd1997db766036 100644 (file)
@@ -94,11 +94,10 @@ public:
     virtual void SetFaceName( const wxString& faceName );
     virtual void SetUnderlined( bool underlined );
     virtual void SetEncoding(wxFontEncoding encoding);
-    virtual void SetNativeFontInfo( const wxNativeFontInfo& info );
 
     virtual void SetNoAntiAliasing( bool no = TRUE );
     virtual bool GetNoAntiAliasing();
-    
+
     // implementation from now on
     void Unshare();
 
@@ -109,6 +108,8 @@ public:
     // no data :-)
 
 protected:
+    virtual void DoSetNativeFontInfo( const wxNativeFontInfo& info );
+
     // common part of all ctors
     void Init();
 
index d66fbe1c1c97222377a609dcba549ea5961cacf1..04f48613d806ef97591882c2decd1997db766036 100644 (file)
@@ -94,11 +94,10 @@ public:
     virtual void SetFaceName( const wxString& faceName );
     virtual void SetUnderlined( bool underlined );
     virtual void SetEncoding(wxFontEncoding encoding);
-    virtual void SetNativeFontInfo( const wxNativeFontInfo& info );
 
     virtual void SetNoAntiAliasing( bool no = TRUE );
     virtual bool GetNoAntiAliasing();
-    
+
     // implementation from now on
     void Unshare();
 
@@ -109,6 +108,8 @@ public:
     // no data :-)
 
 protected:
+    virtual void DoSetNativeFontInfo( const wxNativeFontInfo& info );
+
     // common part of all ctors
     void Init();
 
index f75bf6c423b566c9b1910f65190c8e2385fa1bfb..04bf7c63cb888fe15eca27b7672c9486cf426c0e 100644 (file)
@@ -25,7 +25,7 @@ public:
     // ctors and such
     wxFont() { Init(); }
     wxFont(const wxFont& font) { Init(); Ref(font); }
-    
+
     wxFont(int size,
         int family,
         int style,
@@ -35,12 +35,12 @@ public:
         wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
     {
         Init();
-        
+
         (void)Create(size, family, style, weight, underlined, face, encoding);
     }
-    
+
     wxFont(const wxNativeFontInfo& info);
-    
+
     bool Create(int size,
         int family,
         int style,
@@ -48,17 +48,17 @@ public:
         bool underlined = FALSE,
         const wxString& face = wxEmptyString,
         wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
-    
+
     // wxMOTIF-specific
     bool Create(const wxString& fontname,
         wxFontEncoding fontenc = wxFONTENCODING_DEFAULT);
     bool Create(const wxNativeFontInfo& fontinfo);
-    
+
     virtual ~wxFont();
-    
+
     // assignment
     wxFont& operator=(const wxFont& font);
-    
+
     // implement base class pure virtuals
     virtual int GetPointSize() const;
     virtual int GetFamily() const;
@@ -68,7 +68,7 @@ public:
     virtual wxString GetFaceName() const;
     virtual wxFontEncoding GetEncoding() const;
     virtual wxNativeFontInfo *GetNativeFontInfo() const;
-    
+
     virtual void SetPointSize(int pointSize);
     virtual void SetFamily(int family);
     virtual void SetStyle(int style);
@@ -76,39 +76,40 @@ public:
     virtual void SetFaceName(const wxString& faceName);
     virtual void SetUnderlined(bool underlined);
     virtual void SetEncoding(wxFontEncoding encoding);
-    virtual void SetNativeFontInfo( const wxNativeFontInfo& info );
-    
+
     // Implementation
-    
+
     // Find an existing, or create a new, XFontStruct
     // based on this wxFont and the given scale. Append the
     // font to list in the private data for future reference.
-    
+
     // TODO This is a fairly basic implementation, that doesn't
     // allow for different facenames, and also doesn't do a mapping
     // between 'standard' facenames (e.g. Arial, Helvetica, Times Roman etc.)
     // and the fonts that are available on a particular system.
     // Maybe we need to scan the user's machine to build up a profile
     // of the fonts and a mapping file.
-    
+
     // Return font struct, and optionally the Motif font list
     wxXFont *GetInternalFont(double scale = 1.0,
         WXDisplay* display = NULL) const;
-    
+
     // These two are helper functions for convenient access of the above.
     WXFontStructPtr GetFontStruct(double scale = 1.0,
         WXDisplay* display = NULL) const;
     WXFontList GetFontList(double scale = 1.0,
         WXDisplay* display = NULL) const;
-    
+
 protected:
+    virtual void DoSetNativeFontInfo( const wxNativeFontInfo& info );
+
     // common part of all ctors
     void Init();
-    
+
     // VZ: IMHO, we don't need it at all...
     bool RealizeResource() { return TRUE; }
     void Unshare();
-    
+
 private:
     DECLARE_DYNAMIC_CLASS(wxFont)
 };
index 505e9970b953ccbcae2034f0c763fa967143ae30..b1d31e2fb1406572fc81dd3d646171c7136565fe 100644 (file)
@@ -81,7 +81,6 @@ public:
     virtual void SetFaceName(const wxString& faceName);
     virtual void SetUnderlined(bool underlined);
     virtual void SetEncoding(wxFontEncoding encoding);
-    virtual void SetNativeFontInfo(const wxNativeFontInfo& info);
 
     virtual bool IsFixedWidth() const;
 
@@ -102,6 +101,8 @@ public:
      */
 
 protected:
+    virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info);
+
     // common part of all ctors
     void Init();
 
index a306601251fd6a24aa8b9d57a4cdd1eab4cc6c5e..53dcf28490837a5090b5ecbe6b1c07229914b6cf 100644 (file)
@@ -102,7 +102,6 @@ public:
     virtual void SetFaceName(const wxString& rsFaceName);
     virtual void SetUnderlined(bool bUnderlined);
     virtual void SetEncoding(wxFontEncoding vEncoding);
-    virtual void SetNativeFontInfo(const wxNativeFontInfo& rInfo);
 
     //
     // For internal use only!
@@ -121,7 +120,10 @@ public:
     virtual bool     FreeResource(bool bForce = FALSE);
 
     WXHFONT GetHFONT(void) const;
+
 protected:
+    virtual void DoSetNativeFontInfo(const wxNativeFontInfo& rInfo);
+
     //
     // Common part of all ctors
     //
index 83bf79c4120ded27e6c506c1561d339695ce9c25..a0850cd38fdd7ba49845ee6b5c30b07a1c9860e5 100644 (file)
@@ -25,7 +25,7 @@ public:
     // ctors and such
     wxFont() { Init(); }
     wxFont(const wxFont& font) { Init(); Ref(font); }
-    
+
     wxFont(int size,
         int family,
         int style,
@@ -35,12 +35,12 @@ public:
         wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
     {
         Init();
-        
+
         (void)Create(size, family, style, weight, underlined, face, encoding);
     }
-    
+
     wxFont(const wxNativeFontInfo& info);
-    
+
     bool Create(int size,
         int family,
         int style,
@@ -51,18 +51,18 @@ public:
 
     // FIXME: I added the ! to make it compile;
     // is this right? - JACS
-#if !wxUSE_UNICODE    
+#if !wxUSE_UNICODE
     bool Create(const wxString& fontname,
         wxFontEncoding fontenc = wxFONTENCODING_DEFAULT);
 #endif
     // DELETEME: no longer seems to be implemented.
     // bool Create(const wxNativeFontInfo& fontinfo);
-    
+
     virtual ~wxFont();
-    
+
     // assignment
     wxFont& operator=(const wxFont& font);
-    
+
     // implement base class pure virtuals
     virtual int GetPointSize() const;
     virtual int GetFamily() const;
@@ -72,9 +72,9 @@ public:
     virtual wxString GetFaceName() const;
     virtual wxFontEncoding GetEncoding() const;
     virtual wxNativeFontInfo *GetNativeFontInfo() const;
-    
+
     virtual bool IsFixedWidth() const;
-    
+
     virtual void SetPointSize(int pointSize);
     virtual void SetFamily(int family);
     virtual void SetStyle(int style);
@@ -82,11 +82,10 @@ public:
     virtual void SetFaceName(const wxString& faceName);
     virtual void SetUnderlined(bool underlined);
     virtual void SetEncoding(wxFontEncoding encoding);
-    virtual void SetNativeFontInfo( const wxNativeFontInfo& info );
-    
+
     virtual void SetNoAntiAliasing( bool no = TRUE );
     virtual bool GetNoAntiAliasing();
-    
+
     // Implementation
 
 #if wxUSE_PANGO
@@ -94,29 +93,31 @@ public:
     // Find an existing, or create a new, XFontStruct
     // based on this wxFont and the given scale. Append the
     // font to list in the private data for future reference.
-    
+
     // TODO This is a fairly basic implementation, that doesn't
     // allow for different facenames, and also doesn't do a mapping
     // between 'standard' facenames (e.g. Arial, Helvetica, Times Roman etc.)
     // and the fonts that are available on a particular system.
     // Maybe we need to scan the user's machine to build up a profile
     // of the fonts and a mapping file.
-    
+
     // Return font struct, and optionally the Motif font list
     wxXFont *GetInternalFont(double scale = 1.0,
         WXDisplay* display = NULL) const;
-    
+
     // Helper function for convenient access of the above.
     WXFontStructPtr GetFontStruct(double scale = 1.0,
         WXDisplay* display = NULL) const;
 #endif
-    
+
 protected:
+    virtual void DoSetNativeFontInfo( const wxNativeFontInfo& info );
+
     // common part of all ctors
     void Init();
-    
+
     void Unshare();
-    
+
 private:
     DECLARE_DYNAMIC_CLASS(wxFont)
 };
index 467b7476586b351c4729a9c2d0a91f7c08c9014d..d173a4dfdc2b6c05874495fff529f009c79929d5 100644 (file)
@@ -144,7 +144,7 @@ wxNativeFontInfo *wxFontBase::GetNativeFontInfo() const
 #endif
 }
 
-void wxFontBase::SetNativeFontInfo(const wxNativeFontInfo& info)
+void wxFontBase::DoSetNativeFontInfo(const wxNativeFontInfo& info)
 {
 #ifdef wxNO_NATIVE_FONTINFO
     SetPointSize(info.pointSize);
index 0ad6019e388d04592c747c5e30051fdad0480447..8735f843f7a2c0571a87a100dda62d2bac96150f 100644 (file)
@@ -856,7 +856,7 @@ void wxFont::SetEncoding(wxFontEncoding encoding)
     M_FONTDATA->SetEncoding(encoding);
 }
 
-void wxFont::SetNativeFontInfo( const wxNativeFontInfo& info )
+void wxFont::DoSetNativeFontInfo( const wxNativeFontInfo& info )
 {
     Unshare();
 
index 0ad6019e388d04592c747c5e30051fdad0480447..8735f843f7a2c0571a87a100dda62d2bac96150f 100644 (file)
@@ -856,7 +856,7 @@ void wxFont::SetEncoding(wxFontEncoding encoding)
     M_FONTDATA->SetEncoding(encoding);
 }
 
-void wxFont::SetNativeFontInfo( const wxNativeFontInfo& info )
+void wxFont::DoSetNativeFontInfo( const wxNativeFontInfo& info )
 {
     Unshare();
 
index c6e1b6dd2cb4c259993e2f8ae510c965d6f1f392..2b70d9dd0c463f2a5969cdf67faac2a8834234e2 100644 (file)
@@ -104,7 +104,7 @@ protected:
     wxFontEncoding m_encoding;
 
     wxNativeFontInfo m_nativeFontInfo;
-    
+
     // A list of wxXFonts
     wxList        m_fonts;
 };
@@ -319,7 +319,7 @@ bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
         else
             return FALSE;
     }
-    return TRUE;    
+    return TRUE;
 }
 
 wxFont::~wxFont()
@@ -351,7 +351,7 @@ void wxFont::SetPointSize(int pointSize)
 
     M_FONTDATA->m_pointSize = pointSize;
     M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
-    
+
     RealizeResource();
 }
 
@@ -361,7 +361,7 @@ void wxFont::SetFamily(int family)
 
     M_FONTDATA->m_family = family;
     M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
-    
+
     RealizeResource();
 }
 
@@ -371,7 +371,7 @@ void wxFont::SetStyle(int style)
 
     M_FONTDATA->m_style = style;
     M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
-    
+
     RealizeResource();
 }
 
@@ -381,7 +381,7 @@ void wxFont::SetWeight(int weight)
 
     M_FONTDATA->m_weight = weight;
     M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
-    
+
     RealizeResource();
 }
 
@@ -391,7 +391,7 @@ void wxFont::SetFaceName(const wxString& faceName)
 
     M_FONTDATA->m_faceName = faceName;
     M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
-    
+
     RealizeResource();
 }
 
@@ -400,7 +400,7 @@ void wxFont::SetUnderlined(bool underlined)
     Unshare();
 
     M_FONTDATA->m_underlined = underlined;
-    
+
     RealizeResource();
 }
 
@@ -410,11 +410,11 @@ void wxFont::SetEncoding(wxFontEncoding encoding)
 
     M_FONTDATA->m_encoding = encoding;
     M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
-    
+
     RealizeResource();
 }
 
-void wxFont::SetNativeFontInfo(const wxNativeFontInfo& info)
+void wxFont::DoSetNativeFontInfo(const wxNativeFontInfo& info)
 {
     Unshare();
 
@@ -428,7 +428,7 @@ void wxFont::SetNativeFontInfo(const wxNativeFontInfo& info)
 int wxFont::GetPointSize() const
 {
     wxCHECK_MSG( Ok(), 0, wxT("invalid font") );
-    
+
     return M_FONTDATA->m_pointSize;
 }
 
index dc601f5af85218116222cb28a35a474234982742..f29b9a4aeafd5c067b639d2fd72ea24befa78e89 100644 (file)
@@ -839,7 +839,7 @@ void wxFont::SetEncoding(wxFontEncoding encoding)
     RealizeResource();
 }
 
-void wxFont::SetNativeFontInfo(const wxNativeFontInfo& info)
+void wxFont::DoSetNativeFontInfo(const wxNativeFontInfo& info)
 {
     Unshare();
 
index 4937df9fd1cd1719e533c0ef2879b93e9cd6e6fb..7b9f1890e68822d97c6f9fd8d8b371901a6d8503 100644 (file)
@@ -1073,7 +1073,7 @@ void wxFont::SetEncoding(
     RealizeResource();
 } // end of wxFont::SetEncoding
 
-void wxFont::SetNativeFontInfo(
+void wxFont::DoSetNativeFontInfo(
   const wxNativeFontInfo&           rInfo
 )
 {
index 8cd3bba65cd5af50140d5012fc25963124d1dd35..0e2d09b1ff94c3a31168db559787e8ad85b1fe22 100644 (file)
@@ -105,10 +105,10 @@ public:
 
     // copy cstr
     wxFontRefData(const wxFontRefData& data);
-    
+
     // from XFLD
     wxFontRefData(const wxString& fontname);
-    
+
     // dstr
     virtual ~wxFontRefData();
 
@@ -124,10 +124,10 @@ public:
 
     void SetNoAntiAliasing( bool no = TRUE ) { m_noAA = no; }
     bool GetNoAntiAliasing() { return m_noAA; }
-    
+
     // and this one also modifies all the other font data fields
     void SetNativeFontInfo(const wxNativeFontInfo& info);
-    
+
 protected:
     // common part of all ctors
     void Init(int size,
@@ -140,7 +140,7 @@ protected:
 
     // set all fields from (already initialized and valid) m_nativeFontInfo
     void InitFromNative();
-    
+
     // font attributes
     int           m_pointSize;
     int           m_family;
@@ -152,7 +152,7 @@ protected:
     bool            m_noAA;      // No anti-aliasing
 
     wxNativeFontInfo m_nativeFontInfo;
-    
+
     void ClearX11Fonts();
 
 #if wxUSE_UNICODE
@@ -190,7 +190,7 @@ void wxFontRefData::Init(int pointSize,
 
     m_underlined = underlined;
     m_encoding = encoding;
-    
+
 #if wxUSE_UNICODE
     // Create native font info
     m_nativeFontInfo.description = pango_font_description_new();
@@ -396,7 +396,7 @@ wxFontRefData::wxFontRefData( const wxFontRefData& data )
     m_encoding = data.m_encoding;
 
     m_noAA = data.m_noAA;
-    
+
     m_nativeFontInfo = data.m_nativeFontInfo;
 }
 
@@ -556,15 +556,15 @@ bool wxFont::Create(int pointSize,
                     wxFontEncoding encoding)
 {
     UnRef();
-    
+
     m_refData = new wxFontRefData(pointSize, family, style, weight,
                                   underlined, faceName, encoding);
 
     return TRUE;
 }
 
-#if wxUSE_UNICODE
-#else
+#if !wxUSE_UNICODE
+
 bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
 {
     if( !fontname )
@@ -665,9 +665,9 @@ bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
         else
             return FALSE;
     }
-    return TRUE;    
+    return TRUE;
 }
-#endif
+#endif // !wxUSE_UNICODE
 
 wxFont::~wxFont()
 {
@@ -839,7 +839,7 @@ void wxFont::SetEncoding(wxFontEncoding encoding)
     M_FONTDATA->SetEncoding(encoding);
 }
 
-void wxFont::SetNativeFontInfo( const wxNativeFontInfo& info )
+void wxFont::DoSetNativeFontInfo( const wxNativeFontInfo& info )
 {
     Unshare();