]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_tables.cpp
don't use strlen() to verify the length of the string as it can contain embedded...
[wxWidgets.git] / src / html / m_tables.cpp
index 6c9d5062d54b212b2954adeebe9aee1d0463ccf0..7f965d7e0c1c3dd5cf1c741a21fc617c0a2fe3be 100644 (file)
@@ -1,24 +1,20 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        m_tables.cpp
+// Name:        src/html/m_tables.cpp
 // Purpose:     wxHtml module for tables
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vaclav Slavik
-// Licence:     wxWindows Licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation
-#endif
-
 #include "wx/wxprec.h"
 
-#include "wx/defs.h"
-#if wxUSE_HTML && wxUSE_STREAMS
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
+#if wxUSE_HTML && wxUSE_STREAMS
+
 #ifndef WXPRECOMP
 #endif
 
@@ -102,7 +98,10 @@ private:
 
 public:
     wxHtmlTableCell(wxHtmlContainerCell *parent, const wxHtmlTag& tag, double pixel_scale = 1.0);
-    ~wxHtmlTableCell();
+    virtual ~wxHtmlTableCell();
+
+    virtual void RemoveExtraSpacing(bool top, bool bottom);
+
     virtual void Layout(int w);
 
     void AddRow(const wxHtmlTag& tag);
@@ -167,6 +166,15 @@ wxHtmlTableCell::~wxHtmlTableCell()
 }
 
 
+void wxHtmlTableCell::RemoveExtraSpacing(bool WXUNUSED(top),
+                                         bool WXUNUSED(bottom))
+{
+    // Don't remove any spacing in the table -- it's always desirable,
+    // because it's part of table's definition.
+    // (If wxHtmlContainerCell::RemoveExtraSpacing() was applied to tables,
+    // then upper left cell of a table would be positioned above other cells
+    // if the table was the first element on the page.)
+}
 
 void wxHtmlTableCell::ReallocCols(int cols)
 {
@@ -267,7 +275,7 @@ void wxHtmlTableCell::AddCell(wxHtmlContainerCell *cell, const wxHtmlTag& tag)
         {
             wxString wd = tag.GetParam(wxT("WIDTH"));
 
-            if (wd[wd.Length()-1] == wxT('%'))
+            if (wd[wd.length()-1] == wxT('%'))
             {
                 wxSscanf(wd.c_str(), wxT("%i%%"), &m_ColsInfo[c].width);
                 m_ColsInfo[c].units = wxHTML_UNITS_PERCENT;
@@ -350,7 +358,7 @@ void wxHtmlTableCell::AddCell(wxHtmlContainerCell *cell, const wxHtmlTag& tag)
 
 void wxHtmlTableCell::ComputeMinMaxWidths()
 {
-    if (m_NumCols == 0 || m_ColsInfo[0].minWidth != -1) return;
+    if (m_NumCols == 0 || m_ColsInfo[0].minWidth != wxDefaultCoord) return;
 
     m_MaxTotalWidth = 0;
     int percentage = 0;
@@ -672,7 +680,7 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
                 {
                     wxString wd = tag.GetParam(wxT("WIDTH"));
 
-                    if (wd[wd.Length()-1] == wxT('%'))
+                    if (wd[wd.length()-1] == wxT('%'))
                     {
                         int width = 0;
                         wxSscanf(wd.c_str(), wxT("%i%%"), &width);
@@ -700,7 +708,7 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
             m_WParser->CloseContainer();
 
             m_Table = oldt;
-            return TRUE;
+            return true;
         }
 
 
@@ -744,7 +752,7 @@ TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
                 m_WParser->OpenContainer();
             }
         }
-        return FALSE;
+        return false;
     }
 
 TAG_HANDLER_END(TABLE)