]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/winpars.cpp
fix for assert when setting tooltip for a readonly combo
[wxWidgets.git] / src / html / winpars.cpp
index a37d1ae3465e414b08f775dea079ece3ee7ef2a7..ca7afc5fd560d35702de2ded7037b8be13e88a0e 100644 (file)
@@ -15,7 +15,7 @@
 #include "wx/wxprec.h"
 
 #include "wx/defs.h"
-#if wxUSE_HTML
+#if wxUSE_HTML && wxUSE_STREAMS
 
 #ifdef __BORDLANDC__
 #pragma hdrstop
@@ -29,6 +29,7 @@
 #include "wx/html/winpars.h"
 #include "wx/html/htmlwin.h"
 #include "wx/fontmap.h"
+#include "wx/log.h"
 
 
 //-----------------------------------------------------------------------------
@@ -61,6 +62,8 @@ wxHtmlWinParser::wxHtmlWinParser(wxWindow *wnd) : wxHtmlParser()
                         }
 #ifdef __WXMSW__
         static int default_sizes[7] = {7, 8, 10, 12, 16, 22, 30};
+#elif defined(__WXMAC__)
+        static int default_sizes[7] = {9, 12, 14, 18, 24, 30, 36};
 #else
         static int default_sizes[7] = {10, 12, 14, 16, 19, 24, 32};
 #endif
@@ -100,6 +103,13 @@ void wxHtmlWinParser::AddModule(wxHtmlTagsModule *module)
 
 
 
+void wxHtmlWinParser::RemoveModule(wxHtmlTagsModule *module)
+{
+    m_Modules.DeleteObject(module);
+}
+
+
+
 void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face, const int *sizes)
 {
     int i, j, k, l, m;
@@ -127,14 +137,14 @@ void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face, const
 void wxHtmlWinParser::InitParser(const wxString& source)
 {
     wxHtmlParser::InitParser(source);
-    wxASSERT_MSG(m_DC != NULL, _("no DC assigned to wxHtmlWinParser!!"));
+    wxASSERT_MSG(m_DC != NULL, _T("no DC assigned to wxHtmlWinParser!!"));
 
     m_FontBold = m_FontItalic = m_FontUnderlined = m_FontFixed = FALSE;
     m_FontSize = 3; //default one
     CreateCurrentFont();           // we're selecting default font into
     m_DC -> GetTextExtent("H", &m_CharWidth, &m_CharHeight);
                 /* NOTE : we're not using GetCharWidth/Height() because
-                   of differences under X and win 
+                   of differences under X and win
                  */
 
     m_UseLink = FALSE;
@@ -351,6 +361,8 @@ void wxHtmlWinParser::SetInputEncoding(wxFontEncoding enc)
                                       wxFONTENCODING_ISO8859_1 : m_OutputEnc,
                            wxCONVERT_SUBSTITUTE))  
     { // total failture :-(
+        wxLogError(_("Failed to display HTML document in %s encoding"), 
+                  wxFontMapper::GetEncodingName(enc).c_str());
         m_InputEnc = m_OutputEnc = wxFONTENCODING_DEFAULT;
         delete m_EncConv;
         m_EncConv = NULL;
@@ -387,6 +399,7 @@ bool wxHtmlTagsModule::OnInit()
 
 void wxHtmlTagsModule::OnExit()
 {
+    wxHtmlWinParser::RemoveModule(this);
 }
 #endif