added convenience accessors to wxHtmlTag and modified wxHTML code to use them; improved colours parsing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -45,13 +45,9 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
|
||||
|
||||
if (tag.HasParam(wxT("COLOR")))
|
||||
{
|
||||
unsigned long tmp = 0;
|
||||
wxColour clr;
|
||||
if (tag.ScanParam(wxT("COLOR"), wxT("#%lX"), &tmp) == 1)
|
||||
if (tag.GetParamAsColour(wxT("COLOR"), &clr))
|
||||
{
|
||||
clr = wxColour((unsigned char)((tmp & 0xFF0000) >> 16),
|
||||
(unsigned char)((tmp & 0x00FF00) >> 8),
|
||||
(unsigned char)(tmp & 0x0000FF));
|
||||
m_WParser->SetActualColor(clr);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(clr));
|
||||
}
|
||||
@@ -59,15 +55,16 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
|
||||
|
||||
if (tag.HasParam(wxT("SIZE")))
|
||||
{
|
||||
long tmp = 0;
|
||||
wxChar c = tag.GetParam(wxT("SIZE"))[(unsigned int) 0];
|
||||
if (tag.ScanParam(wxT("SIZE"), wxT("%li"), &tmp) == 1)
|
||||
int tmp = 0;
|
||||
wxChar c = tag.GetParam(wxT("SIZE")).GetChar(0);
|
||||
if (tag.GetParamAsInt(wxT("SIZE"), &tmp))
|
||||
{
|
||||
if (c == '+' || c == '-')
|
||||
if (c == wxT('+') || c == wxT('-'))
|
||||
m_WParser->SetFontSize(oldsize+tmp);
|
||||
else
|
||||
m_WParser->SetFontSize(tmp);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +76,7 @@ TAG_HANDLER_BEGIN(FONT, "FONT")
|
||||
enu.EnumerateFacenames();
|
||||
m_Faces = *enu.GetFacenames();
|
||||
}
|
||||
wxStringTokenizer tk(tag.GetParam(wxT("FACE")), ",");
|
||||
wxStringTokenizer tk(tag.GetParam(wxT("FACE")), wxT(","));
|
||||
int index;
|
||||
|
||||
while (tk.HasMoreTokens())
|
||||
@@ -123,12 +120,14 @@ TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE")
|
||||
int underlined = m_WParser->GetFontUnderlined();
|
||||
|
||||
m_WParser->SetFontUnderlined(TRUE);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
|
||||
ParseInner(tag);
|
||||
|
||||
m_WParser->SetFontUnderlined(underlined);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -144,12 +143,14 @@ TAG_HANDLER_BEGIN(FACES_B, "B,STRONG")
|
||||
int bold = m_WParser->GetFontBold();
|
||||
|
||||
m_WParser->SetFontBold(TRUE);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
|
||||
ParseInner(tag);
|
||||
|
||||
m_WParser->SetFontBold(bold);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -165,12 +166,14 @@ TAG_HANDLER_BEGIN(FACES_I, "I,EM,CITE,ADDRESS")
|
||||
int italic = m_WParser->GetFontItalic();
|
||||
|
||||
m_WParser->SetFontItalic(TRUE);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
|
||||
ParseInner(tag);
|
||||
|
||||
m_WParser->SetFontItalic(italic);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -186,12 +189,14 @@ TAG_HANDLER_BEGIN(FACES_TT, "TT,CODE,KBD,SAMP")
|
||||
int fixed = m_WParser->GetFontFixed();
|
||||
|
||||
m_WParser->SetFontFixed(TRUE);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
|
||||
ParseInner(tag);
|
||||
|
||||
m_WParser->SetFontFixed(fixed);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -264,7 +269,8 @@ TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
|
||||
m_WParser->SetFontFixed(old_f);
|
||||
m_WParser->SetAlign(old_al);
|
||||
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->CloseContainer();
|
||||
m_WParser->OpenContainer();
|
||||
c = m_WParser->GetContainer();
|
||||
@@ -284,12 +290,14 @@ TAG_HANDLER_BEGIN(BIGSMALL, "BIG,SMALL")
|
||||
int sz = (tag.GetName() == wxT("BIG")) ? +1 : -1;
|
||||
|
||||
m_WParser->SetFontSize(sz);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
|
||||
ParseInner(tag);
|
||||
|
||||
m_WParser->SetFontSize(oldsize);
|
||||
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
m_WParser->GetContainer()->InsertCell(
|
||||
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user