]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_fonts.cpp
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / src / html / m_fonts.cpp
index 61e59f86c3c9c9339da99c3dc0c0e86076345e3c..117f8faca9d9fac1e90550ca055f689a9de880d4 100644 (file)
@@ -1,26 +1,20 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        m_fonts.cpp
+// Name:        src/html/m_fonts.cpp
 // Purpose:     wxHtml module for fonts & colors of fonts
 // Author:      Vaclav Slavik
-// RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vaclav Slavik
-// Licence:     wxWindows Licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "wx/wxprec.h"
 
-#include "wx/defs.h"
-#if wxUSE_HTML && wxUSE_STREAMS
-
-#ifdef __BORDLANDC__
-#pragma hdrstop
+#ifdef __BORLANDC__
+    #pragma hdrstop
 #endif
 
-#ifndef WXPRECOMP
+#if wxUSE_HTML && wxUSE_STREAMS
+
+#ifndef WX_PRECOMP
 #endif
 
 #include "wx/html/forcelnk.h"
 FORCE_LINK_ME(m_fonts)
 
 
-TAG_HANDLER_BEGIN(FONT, "FONT")
+TAG_HANDLER_BEGIN(FONT, "FONT" )
 
     TAG_HANDLER_VARS
-        wxSortedArrayString m_Faces;
+        wxArrayString m_Faces;
+
+    TAG_HANDLER_CONSTR(FONT) { }
 
     TAG_HANDLER_PROC(tag)
     {
@@ -42,7 +38,6 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
         int oldsize = m_WParser->GetFontSize();
         wxString oldface = m_WParser->GetFontFace();
 
-        if (tag.HasParam(wxT("COLOR")))
         {
             wxColour clr;
             if (tag.GetParamAsColour(wxT("COLOR"), &clr))
@@ -52,12 +47,12 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
             }
         }
 
-        if (tag.HasParam(wxT("SIZE")))
         {
-            int tmp = 0;
-            wxChar c = tag.GetParam(wxT("SIZE")).GetChar(0);
-            if (tag.GetParamAsInt(wxT("SIZE"), &tmp))
+            long tmp = 0;
+            wxString sizeStr;
+            if (tag.GetParamAsString(wxT("SIZE"), &sizeStr) && sizeStr.ToLong(&tmp))
             {
+                wxChar c = sizeStr[0];
                 if (c == wxT('+') || c == wxT('-'))
                     m_WParser->SetFontSize(oldsize+tmp);
                 else
@@ -67,20 +62,18 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
             }
         }
 
-        if (tag.HasParam(wxT("FACE")))
+        wxString faces;
+        if (tag.GetParamAsString(wxT("FACE"), &faces))
         {
             if (m_Faces.GetCount() == 0)
-            {
-                wxFontEnumerator enu;
-                enu.EnumerateFacenames();
-                m_Faces = *enu.GetFacenames();
-            }
-            wxStringTokenizer tk(tag.GetParam(wxT("FACE")), wxT(","));
+                m_Faces = wxFontEnumerator::GetFacenames();
+
+            wxStringTokenizer tk(faces, wxT(","));
             int index;
 
             while (tk.HasMoreTokens())
             {
-                if ((index = m_Faces.Index(tk.GetNextToken())) != wxNOT_FOUND)
+                if ((index = m_Faces.Index(tk.GetNextToken(), false)) != wxNOT_FOUND)
                 {
                     m_WParser->SetFontFace(m_Faces[index]);
                     m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
@@ -106,19 +99,21 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
             m_WParser->SetActualColor(oldclr);
             m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(oldclr));
         }
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(FONT)
 
 
-TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE")
+TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE,DEL")
+
+    TAG_HANDLER_CONSTR(FACES_U) { }
 
     TAG_HANDLER_PROC(tag)
     {
         int underlined = m_WParser->GetFontUnderlined();
 
-        m_WParser->SetFontUnderlined(TRUE);
+        m_WParser->SetFontUnderlined(true);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
 
@@ -127,7 +122,7 @@ TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE")
         m_WParser->SetFontUnderlined(underlined);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(FACES_U)
@@ -136,12 +131,13 @@ TAG_HANDLER_END(FACES_U)
 
 
 TAG_HANDLER_BEGIN(FACES_B, "B,STRONG")
+    TAG_HANDLER_CONSTR(FACES_B) { }
 
     TAG_HANDLER_PROC(tag)
     {
         int bold = m_WParser->GetFontBold();
 
-        m_WParser->SetFontBold(TRUE);
+        m_WParser->SetFontBold(true);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
 
@@ -150,7 +146,7 @@ TAG_HANDLER_BEGIN(FACES_B, "B,STRONG")
         m_WParser->SetFontBold(bold);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(FACES_B)
@@ -159,12 +155,13 @@ TAG_HANDLER_END(FACES_B)
 
 
 TAG_HANDLER_BEGIN(FACES_I, "I,EM,CITE,ADDRESS")
+    TAG_HANDLER_CONSTR(FACES_I) { }
 
     TAG_HANDLER_PROC(tag)
     {
         int italic = m_WParser->GetFontItalic();
 
-        m_WParser->SetFontItalic(TRUE);
+        m_WParser->SetFontItalic(true);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
 
@@ -173,7 +170,7 @@ TAG_HANDLER_BEGIN(FACES_I, "I,EM,CITE,ADDRESS")
         m_WParser->SetFontItalic(italic);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(FACES_I)
@@ -182,12 +179,13 @@ TAG_HANDLER_END(FACES_I)
 
 
 TAG_HANDLER_BEGIN(FACES_TT, "TT,CODE,KBD,SAMP")
+    TAG_HANDLER_CONSTR(FACES_TT) { }
 
     TAG_HANDLER_PROC(tag)
     {
         int fixed = m_WParser->GetFontFixed();
 
-        m_WParser->SetFontFixed(TRUE);
+        m_WParser->SetFontFixed(true);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
 
@@ -196,7 +194,7 @@ TAG_HANDLER_BEGIN(FACES_TT, "TT,CODE,KBD,SAMP")
         m_WParser->SetFontFixed(fixed);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(FACES_TT)
@@ -206,6 +204,7 @@ TAG_HANDLER_END(FACES_TT)
 
 
 TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
+    TAG_HANDLER_CONSTR(Hx) { }
 
     TAG_HANDLER_PROC(tag)
     {
@@ -219,10 +218,10 @@ TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
         old_f = m_WParser->GetFontFixed();
         old_al = m_WParser->GetAlign();
 
-        m_WParser->SetFontBold(TRUE);
-        m_WParser->SetFontItalic(FALSE);
-        m_WParser->SetFontUnderlined(FALSE);
-        m_WParser->SetFontFixed(FALSE);
+        m_WParser->SetFontBold(true);
+        m_WParser->SetFontItalic(false);
+        m_WParser->SetFontUnderlined(false);
+        m_WParser->SetFontFixed(false);
 
         if (tag.GetName() == wxT("H1"))
                 m_WParser->SetFontSize(7);
@@ -233,20 +232,20 @@ TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
         else if (tag.GetName() == wxT("H4"))
         {
                 m_WParser->SetFontSize(5);
-                m_WParser->SetFontItalic(TRUE);
-                m_WParser->SetFontBold(FALSE);
+                m_WParser->SetFontItalic(true);
+                m_WParser->SetFontBold(false);
         }
         else if (tag.GetName() == wxT("H5"))
                 m_WParser->SetFontSize(4);
         else if (tag.GetName() == wxT("H6"))
         {
                 m_WParser->SetFontSize(4);
-                m_WParser->SetFontItalic(TRUE);
-                m_WParser->SetFontBold(FALSE);
+                m_WParser->SetFontItalic(true);
+                m_WParser->SetFontBold(false);
         }
 
         c = m_WParser->GetContainer();
-        if (c->GetFirstCell())
+        if (c->GetFirstChild())
         {
             m_WParser->CloseContainer();
             m_WParser->OpenContainer();
@@ -275,13 +274,14 @@ TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
         c = m_WParser->GetContainer();
         c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
 
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(Hx)
 
 
 TAG_HANDLER_BEGIN(BIGSMALL, "BIG,SMALL")
+    TAG_HANDLER_CONSTR(BIGSMALL) { }
 
     TAG_HANDLER_PROC(tag)
     {
@@ -297,7 +297,7 @@ TAG_HANDLER_BEGIN(BIGSMALL, "BIG,SMALL")
         m_WParser->SetFontSize(oldsize);
         m_WParser->GetContainer()->InsertCell(
             new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
-        return TRUE;
+        return true;
     }
 
 TAG_HANDLER_END(BIGSMALL)