/////////////////////////////////////////////////////////////////////////////
-// 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: wxWidgets 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
-#ifndef WXPRECOMP
+#if wxUSE_HTML && wxUSE_STREAMS
+
+#ifndef WX_PRECOMP
+ #include "wx/wxcrtvararg.h"
#endif
#include "wx/html/forcelnk.h"
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);
/* scan params: */
if (tag.HasParam(wxT("BGCOLOR")))
+ {
tag.GetParamAsColour(wxT("BGCOLOR"), &m_tBkg);
+ if (m_tBkg.Ok())
+ SetBackgroundColour(m_tBkg);
+ }
if (tag.HasParam(wxT("VALIGN")))
m_tValign = tag.GetParam(wxT("VALIGN"));
else
}
+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)
{
{
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;
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;
{
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);
m_WParser->CloseContainer();
m_Table = oldt;
- return TRUE;
+ return true;
}
m_WParser->OpenContainer();
}
}
- return FALSE;
+ return false;
}
TAG_HANDLER_END(TABLE)