wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "")
- wxCtime() and wxAsctime() return char*; this is incompatible with Unicode
- build in wxWidgets 2.8 that returned wchar_t*.
+ build in wxWidgets 2.8 that returned wchar_t*.
- DigitalMars compiler has a bug that prevents it from using
wxUniChar::operator bool in conditions and it erroneously reports type
This can be worked around by explicitly casting to bool:
for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p )
+- virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now.
+
Deprecated methods and their replacements
-----------------------------------------
\membersection{wxHtmlParser::AddText}\label{wxhtmlparseraddword}
-\func{virtual void}{AddWord}{\param{const char* }{txt}}
+\func{virtual void}{AddWord}{\param{const wxString\& }{txt}}
Must be overwritten in derived class.
// Adds text to the output.
// This is called from Parse() and must be overriden in derived classes.
- // txt is not guaranteed to be only one word. It is largest continuous part of text
- // (= not broken by tags)
- // NOTE : using char* because of speed improvements
- virtual void AddText(const wxChar* txt) = 0;
+ // txt is not guaranteed to be only one word. It is largest continuous part
+ // of text (= not broken by tags)
+ virtual void AddText(const wxString& txt) = 0;
// Adds tag and proceeds it. Parse() may (and usually is) called from this method.
// This is called from Parse() and may be overriden.
virtual wxFont* CreateCurrentFont();
protected:
- virtual void AddText(const wxChar* txt);
+ virtual void AddText(const wxString& txt);
private:
void DoAddText(wxChar *temp, int& templen, wxChar nbsp);
wxObject* GetProduct() { return NULL; }
protected:
- virtual void AddText(const wxChar* WXUNUSED(txt)) {}
+ virtual void AddText(const wxString& WXUNUSED(txt)) {}
DECLARE_NO_COPY_CLASS(HP_Parser)
};
wxObject* GetProduct() { return NULL; }
protected:
- virtual void AddText(const wxChar* WXUNUSED(txt)) {}
+ virtual void AddText(const wxString& WXUNUSED(txt)) {}
DECLARE_NO_COPY_CLASS(wxMetaTagParser)
};
return GetFS()->OpenFile(myurl, flags);
}
-void wxHtmlWinParser::AddText(const wxChar* txt)
+void wxHtmlWinParser::AddText(const wxString& txt)
{
- size_t i = 0,
- x,
- lng = wxStrlen(txt);
register wxChar d;
int templen = 0;
wxChar nbsp = GetEntitiesParser()->GetCharForCode(160 /* nbsp */);
+ size_t lng = txt.length();
if (lng+1 > m_tmpStrBufSize)
{
delete[] m_tmpStrBuf;
}
wxChar *temp = m_tmpStrBuf;
+ wxString::const_iterator i = txt.begin();
+ wxString::const_iterator end = txt.end();
+
if (m_tmpLastWasSpace)
{
- while ((i < lng) &&
- ((txt[i] == wxT('\n')) || (txt[i] == wxT('\r')) || (txt[i] == wxT(' ')) ||
- (txt[i] == wxT('\t')))) i++;
+ while ( (i < end) &&
+ (*i == wxT('\n') || *i == wxT('\r') || *i == wxT(' ') ||
+ *i == wxT('\t')) )
+ {
+ ++i;
+ }
}
- while (i < lng)
+ while (i < end)
{
- x = 0;
- d = temp[templen++] = txt[i];
+ size_t x = 0;
+ d = temp[templen++] = *i;
if ((d == wxT('\n')) || (d == wxT('\r')) || (d == wxT(' ')) || (d == wxT('\t')))
{
- i++, x++;
- while ((i < lng) && ((txt[i] == wxT('\n')) || (txt[i] == wxT('\r')) ||
- (txt[i] == wxT(' ')) || (txt[i] == wxT('\t')))) i++, x++;
+ ++i, ++x;
+ while ( (i < end) &&
+ (*i == wxT('\n') || *i == wxT('\r') ||
+ *i == wxT(' ')) || *i == wxT('\t') )
+ {
+ ++i;
+ ++x;
+ }
}
- else i++;
+ else
+ ++i;
if (x)
{