Applied patch [ 795542 ] Unicode fixes in richedit sample

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2003-09-11 09:33:17 +00:00
parent 0a0be6d5a8
commit bd12a395ba
6 changed files with 179 additions and 139 deletions

View File

@@ -70,53 +70,53 @@ END_EVENT_TABLE()
MyFrame::MyFrame(void) :
wxFrame( (wxFrame *) NULL, -1, "wxLayout",
wxFrame( (wxFrame *) NULL, -1, _T("wxLayout"),
wxPoint(880,100), wxSize(256,256) )
{
CreateStatusBar( 2 );
SetStatusText( "wxLayout by Karsten Ball<6C>der." );
SetStatusText( _T("wxLayout by Karsten Ball<6C>der.") );
wxMenuBar *menu_bar = new wxMenuBar();
wxMenu *file_menu = new wxMenu;
file_menu->Append(ID_PRINT, "&Print...", "Print");
file_menu->Append(ID_PRINT_SETUP, "Print &Setup...","Setup printer properties");
file_menu->Append(ID_PAGE_SETUP, "Page Set&up...", "Page setup");
file_menu->Append(ID_PREVIEW, "Print Pre&view", "Preview");
file_menu->Append(ID_PRINT, _T("&Print..."), _T("Print"));
file_menu->Append(ID_PRINT_SETUP, _T("Print &Setup..."),_T("Setup printer properties"));
file_menu->Append(ID_PAGE_SETUP, _T("Page Set&up..."), _T("Page setup"));
file_menu->Append(ID_PREVIEW, _T("Print Pre&view"), _T("Preview"));
#ifdef __WXMSW__
file_menu->AppendSeparator();
file_menu->Append(ID_PRINT_PS, "Print PostScript...", "Print (PostScript)");
file_menu->Append(ID_PRINT_SETUP_PS, "Print Setup PostScript...", "Setup printer properties (PostScript)");
file_menu->Append(ID_PAGE_SETUP_PS, "Page Setup PostScript...", "Page setup (PostScript)");
file_menu->Append(ID_PREVIEW_PS, "Print Preview PostScript", "Preview (PostScript)");
file_menu->Append(ID_PRINT_PS, _T("Print PostScript..."), _T("Print (PostScript)"));
file_menu->Append(ID_PRINT_SETUP_PS, _T("Print Setup PostScript..."), _T("Setup printer properties (PostScript)"));
file_menu->Append(ID_PAGE_SETUP_PS, _T("Page Setup PostScript..."), _T("Page setup (PostScript)"));
file_menu->Append(ID_PREVIEW_PS, _T("Print Preview PostScript"), _T("Preview (PostScript)"));
#endif
file_menu->AppendSeparator();
file_menu->Append( ID_TEXT, "Export &Text");
file_menu->Append( ID_HTML, "Export &HTML");
file_menu->Append( ID_QUIT, "E&xit");
menu_bar->Append(file_menu, "&File" );
file_menu->Append( ID_TEXT, _T("Export &Text"));
file_menu->Append( ID_HTML, _T("Export &HTML"));
file_menu->Append( ID_QUIT, _T("E&xit"));
menu_bar->Append(file_menu, _T("&File"));
wxMenu *edit_menu = new wxMenu;
edit_menu->Append( ID_CLEAR, "C&lear");
edit_menu->Append( ID_ADD_SAMPLE, "&Example");
edit_menu->Append( ID_LONG_TEST, "Add &many lines");
edit_menu->Append( ID_CLEAR, _T("C&lear"));
edit_menu->Append( ID_ADD_SAMPLE, _T("&Example"));
edit_menu->Append( ID_LONG_TEST, _T("Add &many lines"));
edit_menu->AppendSeparator();
edit_menu->Append( ID_LINEBREAKS_TEST, "Add &several lines");
edit_menu->Append( ID_URL_TEST, "Insert an &URL");
edit_menu->Append( ID_LINEBREAKS_TEST, _T("Add &several lines"));
edit_menu->Append( ID_URL_TEST, _T("Insert an &URL"));
edit_menu->AppendSeparator();
edit_menu->Append(ID_WRAP, "&Wrap mode", "Activate wrapping at pixel 200.");
edit_menu->Append(ID_NOWRAP, "&No-wrap mode", "Deactivate wrapping.");
edit_menu->Append(ID_WRAP, _T("&Wrap mode"), _T("Activate wrapping at pixel 200."));
edit_menu->Append(ID_NOWRAP, _T("&No-wrap mode"), _T("Deactivate wrapping."));
edit_menu->AppendSeparator();
edit_menu->Append(ID_COPY, "&Copy", "Copy text to clipboard.");
edit_menu->Append(ID_CUT, "Cu&t", "Cut text to clipboard.");
edit_menu->Append(ID_PASTE,"&Paste", "Paste text from clipboard.");
edit_menu->Append(ID_COPY, _T("&Copy"), _T("Copy text to clipboard."));
edit_menu->Append(ID_CUT, _T("Cu&t"), _T("Cut text to clipboard."));
edit_menu->Append(ID_PASTE,_T("&Paste"), _T("Paste text from clipboard."));
#ifdef __WXGTK__
edit_menu->Append(ID_COPY_PRIMARY, "C&opy primary", "Copy text to primary selecton.");
edit_menu->Append(ID_PASTE_PRIMARY,"&Paste primary", "Paste text from primary selection.");
edit_menu->Append(ID_COPY_PRIMARY, _T("C&opy primary"), _T("Copy text to primary selecton."));
edit_menu->Append(ID_PASTE_PRIMARY, _T("&Paste primary"), _T("Paste text from primary selection."));
#endif
edit_menu->Append(ID_FIND, "&Find", "Find text.");
menu_bar->Append(edit_menu, "&Edit" );
edit_menu->Append(ID_FIND, _T("&Find"), _T("Find text."));
menu_bar->Append(edit_menu, _T("&Edit") );
#ifndef __WXMSW__
menu_bar->Show( TRUE );
@@ -161,90 +161,89 @@ void
MyFrame::AddSampleText(wxLayoutList *llist)
{
llist->Clear(wxSWISS,16,wxNORMAL,wxNORMAL, false);
llist->SetFont(-1,-1,-1,-1,-1,"blue");
llist->Insert("blue");
llist->SetFont(-1,-1,-1,-1,-1,"black");
llist->Insert("The quick brown fox jumps over the lazy dog.");
llist->SetFont(-1,-1,-1,-1,-1,_T("blue"));
llist->Insert(_T("blue"));
llist->SetFont(-1,-1,-1,-1,-1,_T("black"));
llist->Insert(_T("The quick brown fox jumps over the lazy dog."));
llist->LineBreak();
llist->SetFont(wxROMAN,16,wxNORMAL,wxNORMAL, false);
llist->Insert("--");
llist->Insert(_T("--"));
llist->LineBreak();
llist->SetFont(wxROMAN);
llist->Insert("The quick brown fox jumps over the lazy dog.");
llist->Insert(_T("The quick brown fox jumps over the lazy dog."));
llist->LineBreak();
llist->Insert("Hello ");
llist->Insert(_T("Hello "));
#if wxICON_IS_BITMAP
llist->Insert(new wxLayoutObjectIcon(new wxICON(Micon)));
#else
llist->Insert(new wxLayoutObjectIcon(new wxBitmap (wxICON(Micon))));
#endif
llist->SetFontWeight(wxBOLD);
llist->Insert("World! ");
llist->Insert(_T("World! "));
llist->SetFontWeight(wxNORMAL);
llist->Insert("The quick brown fox jumps...");
llist->Insert(_T("The quick brown fox jumps..."));
llist->LineBreak();
llist->Insert("over the lazy dog.");
llist->Insert(_T("over the lazy dog."));
llist->SetFont(-1,-1,-1,-1,true);
llist->Insert("underlined");
llist->Insert(_T("underlined"));
llist->SetFont(-1,-1,-1,-1,false);
llist->SetFont(wxROMAN);
llist->Insert("This is ");
llist->SetFont(-1,-1,-1,wxBOLD); llist->Insert("BOLD "); llist->SetFont(-1,-1,-1,wxNORMAL);
llist->Insert("and ");
llist->Insert(_T("This is "));
llist->SetFont(-1,-1,-1,wxBOLD); llist->Insert(_T("BOLD ")); llist->SetFont(-1,-1,-1,wxNORMAL);
llist->Insert(_T("and "));
llist->SetFont(-1,-1,wxITALIC);
llist->Insert("italics ");
llist->Insert(_T("italics "));
llist->SetFont(-1,-1,wxNORMAL);
llist->LineBreak();
llist->Insert("and ");
llist->Insert(_T("and "));
llist->SetFont(-1,-1,wxSLANT);
llist->Insert("slanted");
llist->Insert(_T("slanted"));
llist->SetFont(-1,-1,wxNORMAL);
llist->Insert(" text.");
llist->Insert(_T(" text."));
llist->LineBreak();
llist->Insert("and ");
llist->SetFont(-1,-1,-1,-1,-1,"blue");
llist->Insert("blue");
llist->SetFont(-1,-1,-1,-1,-1,"black");
llist->Insert(" and ");
llist->SetFont(-1,-1,-1,-1,-1,"green","black");
llist->Insert("green on black");
llist->SetFont(-1,-1,-1,-1,-1,"black","white");
llist->Insert(" text.");
llist->Insert(_T("and "));
llist->SetFont(-1,-1,-1,-1,-1,_T("blue"));
llist->Insert(_T("blue"));
llist->SetFont(-1,-1,-1,-1,-1,_T("black"));
llist->Insert(_T(" and "));
llist->SetFont(-1,-1,-1,-1,-1,_T("green"),_T("black"));
llist->Insert(_T("green on black"));
llist->SetFont(-1,-1,-1,-1,-1,_T("black"),_T("white"));
llist->Insert(_T(" text."));
llist->LineBreak();
llist->SetFont(-1,-1,wxSLANT);
llist->Insert("Slanted");
llist->Insert(_T("Slanted"));
llist->SetFont(-1,-1,wxNORMAL);
llist->Insert(" and normal text and ");
llist->Insert(_T(" and normal text and "));
llist->SetFont(-1,-1,wxSLANT);
llist->Insert("slanted");
llist->Insert(_T("slanted"));
llist->SetFont(-1,-1,wxNORMAL);
llist->Insert(" again.");
llist->Insert(_T(" again."));
llist->LineBreak();
// add some more text for testing:
llist->Insert("And here the source for the test program:");
llist->Insert(_T("And here the source for the test program:"));
llist->LineBreak();
llist->SetFont(wxTELETYPE,16);
llist->Insert("And here the source for the test program:");
llist->Insert(_T("And here the source for the test program:"));
llist->LineBreak();
llist->Insert("And here the source for the test program:");
llist->Insert(_T("And here the source for the test program:"));
llist->LineBreak();
llist->Insert("And here the source for the test program:");
llist->Insert(_T("And here the source for the test program:"));
char buffer[1024];
FILE *in = fopen("wxLayout.cpp","r");
if(in)
wxFile file( _T("wxLayout.cpp") );
if ( file.IsOpened() )
{
for(;;)
off_t len = file.Length();
wxChar *data = (wxChar *)malloc(2*len);
if ( file.Read(data, len) == len )
{
fgets(buffer,1024,in);
if(feof(in))
break;
wxLayoutImportText(llist, buffer);
wxLayoutImportText(llist, data);
}
free(data);
}
llist->MoveCursorTo(wxPoint(0,0));
@@ -400,7 +399,7 @@ void MyFrame::OnCommand( wxCommandEvent &event )
// VZ: this doesn't work, of course, but I think it should -
// wxLayoutWindow should have a flag m_highlightUrls and do it itself
// (instead of doing it manually like M does now)
m_lwin->GetLayoutList()->Insert("http://www.wxwindows.org/");
m_lwin->GetLayoutList()->Insert(_T("http://www.wxwindows.org/"));
}
};
@@ -412,11 +411,11 @@ void MyFrame::OnPrint(wxCommandEvent& WXUNUSED(event))
wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT);
#endif
wxPrinter printer;
wxLayoutPrintout printout( m_lwin->GetLayoutList(),"Printout from wxLayout");
wxLayoutPrintout printout( m_lwin->GetLayoutList(), _T("Printout from wxLayout"));
if (! printer.Print(this, &printout, TRUE))
wxMessageBox(
"There was a problem printing.\nPerhaps your current printer is not set correctly?",
"Printing", wxOK);
_T("There was a problem printing.\nPerhaps your current printer is not set correctly?"),
_T("Printing"), wxOK);
}
void MyFrame::OnPrintPS(wxCommandEvent& WXUNUSED(event))
@@ -446,11 +445,11 @@ void MyFrame::OnPrintPreview(wxCommandEvent& WXUNUSED(event))
if (!preview->Ok())
{
delete preview;
wxMessageBox("There was a problem previewing.\nPerhaps your current printer is not set correctly?", "Previewing", wxOK);
wxMessageBox(_T("There was a problem previewing.\nPerhaps your current printer is not set correctly?"), _T("Previewing"), wxOK);
return;
}
wxPreviewFrame *frame = new wxPreviewFrame(preview, this, "Demo Print Preview", wxPoint(100, 100), wxSize(600, 650));
wxPreviewFrame *frame = new wxPreviewFrame(preview, this, _T("Demo Print Preview"), wxPoint(100, 100), wxSize(600, 650));
frame->Centre(wxBOTH);
frame->Initialize();
frame->Show(TRUE);
@@ -464,7 +463,7 @@ void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event))
// Pass two printout objects: for preview, and possible printing.
wxPrintPreview *preview = new wxPrintPreview(new wxLayoutPrintout( m_lwin->GetLayoutList()), new wxLayoutPrintout( m_lwin->GetLayoutList()), & printData);
wxPreviewFrame *frame = new wxPreviewFrame(preview, this, "Demo Print Preview", wxPoint(100, 100), wxSize(600, 650));
wxPreviewFrame *frame = new wxPreviewFrame(preview, this, _T("Demo Print Preview"), wxPoint(100, 100), wxSize(600, 650));
frame->Centre(wxBOTH);
frame->Initialize();
frame->Show(TRUE);

View File

@@ -73,9 +73,9 @@
# define TypeString(t) g_aTypeStrings[t]
# define WXLO_DEBUG(x) wxLogDebug x
static const char *g_aTypeStrings[] =
static const wxChar *g_aTypeStrings[] =
{
"invalid", "text", "cmd", "icon"
_T("invalid"), _T("text"), _T("cmd"), _T("icon")
};
wxString
wxLayoutObject::DebugDump(void) const
@@ -333,7 +333,7 @@ wxLayoutObjectText::GetOffsetScreen(wxDC &dc, CoordType xpos) const
}
void
wxLayoutObjectText::Layout(wxDC &dc, class wxLayoutList *llist)
wxLayoutObjectText::Layout(wxDC &dc, class wxLayoutList *WXUNUSED(llist))
{
long descent = 0l;
@@ -346,12 +346,12 @@ wxLayoutObjectText::Layout(wxDC &dc, class wxLayoutList *llist)
#ifdef __WXDEBUG__
CoordType a,b,c,d,e,f;
dc.GetTextExtent("test ", &a, &b, &c);
dc.GetTextExtent("test", &d, &e, &f);
dc.GetTextExtent(_T("test "), &a, &b, &c);
dc.GetTextExtent(_T("test"), &d, &e, &f);
wxASSERT(a != d);
wxASSERT(b == e);
wxASSERT(c == f);
dc.GetTextExtent(" ", &d, &e, &f);
dc.GetTextExtent(_T(" "), &d, &e, &f);
wxASSERT(a > 0);
#endif
dc.GetTextExtent(m_Text, &m_Width, &m_Height, &descent);
@@ -428,7 +428,7 @@ wxLayoutObjectIcon::Write(wxString &ostr)
{
/* Exports icon through a temporary file. */
wxString file = wxGetTempFileName("wxloexport");
wxString file = wxGetTempFileName(_T("wxloexport"));
ostr << (int) WXLO_TYPE_ICON << '\n'
<< file << '\n';
@@ -472,8 +472,8 @@ wxLayoutObjectIcon::wxLayoutObjectIcon(wxBitmap *icon)
void
wxLayoutObjectIcon::Draw(wxDC &dc, wxPoint const &coords,
wxLayoutList *wxllist,
CoordType begin, CoordType /* len */)
wxLayoutList *WXUNUSED(wxllist),
CoordType WXUNUSED(begin), CoordType WXUNUSED(len) )
{
dc.DrawBitmap(*m_Icon, coords.x, coords.y-m_Icon->GetHeight(),
(m_Icon->GetMask() == NULL) ? FALSE : TRUE);
@@ -681,9 +681,9 @@ wxLayoutObjectCmd::GetStyle(void) const
}
void
wxLayoutObjectCmd::Draw(wxDC &dc, wxPoint const & /* coords */,
wxLayoutObjectCmd::Draw(wxDC &dc, wxPoint const & WXUNUSED(coords),
wxLayoutList *wxllist,
CoordType begin, CoordType /* len */)
CoordType WXUNUSED(begin), CoordType WXUNUSED(len))
{
wxASSERT(m_StyleInfo);
wxllist->ApplyStyle(*m_StyleInfo, dc);
@@ -1061,7 +1061,9 @@ wxLayoutLine::DeleteWord(CoordType xpos)
}
}
#if 0
wxFAIL_MSG(wxT("unreachable"));
#endif
}
wxLayoutLine *
@@ -1102,7 +1104,7 @@ wxLayoutLine::Draw(wxDC &dc,
CoordType xpos = 0; // cursorpos, lenght of line
CoordType from, to, tempto;
CoordType from, to;
int highlight = llist->IsSelected(this, &from, &to);
// WXLO_DEBUG(("highlight=%d", highlight ));
@@ -1116,7 +1118,7 @@ wxLayoutLine::Draw(wxDC &dc,
if(highlight == -1) // partially highlight line
{
// parts of the line need highlighting
tempto = xpos+(**i).GetLength();
xpos+(**i).GetLength();
(**i).Draw(dc, pos, llist, from-xpos, to-xpos);
}
else
@@ -1138,7 +1140,7 @@ wxLayoutLine::Layout(wxDC &dc,
wxPoint *cursorSize,
wxLayoutStyleInfo *cursorStyle,
int cx,
bool suppressSIupdate)
bool WXUNUSED(suppressSIupdate))
{
wxLayoutObjectList::iterator i;
@@ -1199,7 +1201,7 @@ wxLayoutLine::Layout(wxDC &dc,
if(len < obj->GetLength())
str = (*(wxLayoutObjectText*)*i).GetText().substr(len,1);
else
str = WXLO_CURSORCHAR;
str = _T(WXLO_CURSORCHAR);
dc.GetTextExtent(str, &width, &height, &descent);
if(cursorStyle) // set style info
@@ -1272,7 +1274,7 @@ wxLayoutLine::Layout(wxDC &dc,
if(m_Height == 0)
{
CoordType width, height, descent;
dc.GetTextExtent(WXLO_CURSORCHAR, &width, &height, &descent);
dc.GetTextExtent(_T(WXLO_CURSORCHAR), &width, &height, &descent);
m_Height = height;
m_BaseLine = m_Height - descent;
}
@@ -1291,7 +1293,7 @@ wxLayoutLine::Layout(wxDC &dc,
if(cursorSize->x < WXLO_MINIMUM_CURSOR_WIDTH)
{
CoordType width, height, descent;
dc.GetTextExtent(WXLO_CURSORCHAR, &width, &height, &descent);
dc.GetTextExtent(_T(WXLO_CURSORCHAR), &width, &height, &descent);
cursorSize->x = width;
cursorSize->y = height;
}
@@ -1368,7 +1370,7 @@ wxLayoutLine::Wrap(CoordType wrapmargin, wxLayoutList *llist)
wxLOiterator copyObject = NULLIT;
// if we split a text-object, we must pre-pend some text to the
// next line later on, remember it here:
wxString prependText = "";
wxString prependText = _T("");
// we might need to adjust the cursor position later, so remember it
size_t xpos = llist->GetCursorPos().x;
// by how much did we shorten the current line:
@@ -1470,7 +1472,10 @@ wxLayoutLine::Wrap(CoordType wrapmargin, wxLayoutList *llist)
{
xpos = objectCursorPos + (xpos - objectCursorPos - breakpos -
((xpos > breakpos) ? 1 : 0 ));
#if 0
// this assert is useless when xpos has unsigned type
wxASSERT(xpos >= 0);
#endif
llist->MoveCursorTo( wxPoint( xpos, m_Next->GetLineNumber()) );
}
return TRUE; // we wrapped the line
@@ -1813,7 +1818,7 @@ wxLayoutList::SetFont(int family, int size, int style, int weight,
void
wxLayoutList::SetFont(int family, int size, int style, int weight,
int underline, char const *fg, char const *bg)
int underline, wxChar const *fg, wxChar const *bg)
{
wxColour
@@ -2684,7 +2689,19 @@ wxLayoutList::GetSize(void) const
void
wxLayoutList::DrawCursor(wxDC &dc, bool active, wxPoint const &translate)
wxLayoutList::DrawCursor(wxDC &
#ifdef WXLAYOUT_USE_CARET
WXUNUSED(dc)
#else
dc
#endif
, bool
#ifdef WXLAYOUT_USE_CARET
WXUNUSED(active)
#else
active
#endif
, wxPoint const &translate)
{
if ( m_movedCursor )
m_movedCursor = false;
@@ -3244,7 +3261,7 @@ void wxLayoutPrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom,
determine the correct paper size and scaling. We don't actually
print anything on it. */
#if defined(__WXMSW__)
wxPrinterDC *psdc = new wxPrinterDC("","",WXLLIST_TEMPFILE,false);
wxPrinterDC *psdc = new wxPrinterDC(wxEmptyString,wxEmptyString,_T(WXLLIST_TEMPFILE),false);
#else
wxPostScriptDC *psdc = new wxPostScriptDC(WXLLIST_TEMPFILE,false);
#endif
@@ -3275,7 +3292,7 @@ void wxLayoutPrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom,
*selPageTo = m_NumOfPages;
psdc->EndDoc();
delete psdc;
wxRemoveFile(WXLLIST_TEMPFILE);
wxRemoveFile(_T(WXLLIST_TEMPFILE));
}
bool wxLayoutPrintout::HasPage(int pageNum)

View File

@@ -261,7 +261,7 @@ typedef wxLayoutObjectList::iterator wxLOiterator;
class wxLayoutObjectText : public wxLayoutObject
{
public:
wxLayoutObjectText(const wxString &txt = "");
wxLayoutObjectText(const wxString &txt = wxEmptyString);
virtual wxLayoutObjectType GetType(void) const { return WXLO_TYPE_TEXT; }
virtual void Layout(wxDC &dc, wxLayoutList *llist);
@@ -948,8 +948,8 @@ public:
/// sets font parameters, colours by name
void SetFont(int family=-1, int size = -1, int style=-1,
int weight=-1, int underline = -1,
char const *fg = NULL,
char const *bg = NULL);
wxChar const *fg = NULL,
wxChar const *bg = NULL);
/// changes to the next larger font size
inline void SetFontLarger(void)
{ SetFont(-1,(12*m_CurrentStyleInfo.size)/10); }
@@ -968,7 +968,7 @@ public:
/// toggle underline flag
inline void SetFontUnderline(bool ul) { SetFont(-1,-1,-1,-1,(int)ul); }
/// set font colours by name
inline void SetFontColour(char const *fg, char const *bg = NULL)
inline void SetFontColour(wxChar const *fg, wxChar const *bg = NULL)
{ SetFont(-1,-1,-1,-1,-1,fg,bg); }
/// set font colours by colour
inline void SetFontColour(wxColour *fg, wxColour *bg = NULL)
@@ -1279,7 +1279,7 @@ public:
// type safe wrappers
void SetLayoutData(const wxString& text)
{ SetData(text.length() + 1, text.c_str()); }
const char *GetLayoutData() const { return (const char *)GetData(); }
const wxChar *GetLayoutData() const { return (const wxChar *)GetData(); }
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -1300,7 +1300,7 @@ public:
*/
wxLayoutPrintout(wxLayoutList *llist,
wxString const & title =
"wxLayout Printout");
_T("wxLayout Printout"));
/// Destructor.
~wxLayoutPrintout();

View File

@@ -28,7 +28,7 @@
#define BASE_SIZE 12
inline static bool IsEndOfLine(const char *p)
inline static bool IsEndOfLine(const wxChar *p)
{
// the end of line is either just '\n' or "\r\n" - we understand both (even
// though the second is used only under DOS/Windows) to be able to import
@@ -43,9 +43,9 @@ void wxLayoutImportText(wxLayoutList *list, wxString const &str)
// we change the string only temporarily inside this function
// VZ: I still don't like it... the string data may be shared...
char * cptr = (char *)str.c_str(); // const_cast
const char * begin = cptr;
char backup;
wxChar * cptr = (wxChar *)str.c_str(); // const_cast
const wxChar * begin = cptr;
wxChar backup;
for(;;)
{
@@ -76,26 +76,26 @@ wxString wxLayoutExportCmdAsHTML(wxLayoutObjectCmd const & cmd,
wxLayoutStyleInfo *styleInfo,
bool firstTime)
{
static char buffer[20];
static wxChar buffer[20];
wxString html;
wxLayoutStyleInfo *si = cmd.GetStyle();
int size, sizecount;
html += "<font ";
html += _T("<font ");
if(si->m_fg_valid)
{
html +="color=";
sprintf(buffer,"\"#%02X%02X%02X\"", si->m_fg.Red(),si->m_fg.Green(),si->m_fg.Blue());
html += _T("color=");
wxSprintf(buffer,_T("\"#%02X%02X%02X\""), si->m_fg.Red(),si->m_fg.Green(),si->m_fg.Blue());
html += buffer;
}
if(si->m_bg_valid)
{
html += " bgcolor=";
sprintf(buffer,"\"#%02X%02X%02X\"", si->m_bg.Red(),si->m_bg.Green(),si->m_bg.Blue());
html += _T(" bgcolor=");
wxSprintf(buffer,_T("\"#%02X%02X%02X\""), si->m_bg.Red(),si->m_bg.Green(),si->m_bg.Blue());
html += buffer;
}
@@ -103,11 +103,11 @@ wxString wxLayoutExportCmdAsHTML(wxLayoutObjectCmd const & cmd,
{
case wxSWISS:
case wxMODERN:
html += " face=\"Arial,Helvetica\""; break;
html += _T(" face=\"Arial,Helvetica\""); break;
case wxROMAN:
html += " face=\"Times New Roman, Times\""; break;
html += _T(" face=\"Times New Roman, Times\""); break;
case wxTELETYPE:
html += " face=\"Courier New, Courier\""; break;
html += _T(" face=\"Courier New, Courier\""); break;
default:
;
}
@@ -123,34 +123,34 @@ wxString wxLayoutExportCmdAsHTML(wxLayoutObjectCmd const & cmd,
sizecount --;
size = (size*10)/12;
}
html += "size=";
sprintf(buffer,"%+1d", sizecount);
html += _T("size=");
wxSprintf(buffer,_T("%+1d"), sizecount);
html += buffer;
html +=">";
html += _T(">");
if(styleInfo != NULL && ! firstTime)
html ="</font>"+html; // terminate any previous font command
html = _T("</font>")+html; // terminate any previous font command
if((si->weight == wxBOLD) && ( (!styleInfo) || (styleInfo->weight != wxBOLD)))
html += "<b>";
html += _T("<b>");
else
if(si->weight != wxBOLD && ( styleInfo && (styleInfo->weight == wxBOLD)))
html += "</b>";
html += _T("</b>");
if(si->style == wxSLANT)
si->style = wxITALIC; // the same for html
if((si->style == wxITALIC) && ( (!styleInfo) || (styleInfo->style != wxITALIC)))
html += "<i>";
html += _T("<i>");
else
if(si->style != wxITALIC && ( styleInfo && (styleInfo->style == wxITALIC)))
html += "</i>";
html += _T("</i>");
if(si->underline && ( (!styleInfo) || ! styleInfo->underline))
html += "<u>";
html += _T("<u>");
else if(si->underline == false && ( styleInfo && styleInfo->underline))
html += "</u>";
html += _T("</u>");
*styleInfo = *si; // update last style info
@@ -223,9 +223,9 @@ wxLayoutExportObject *wxLayoutExport(wxLayoutExportStatus *status,
while(status->m_iterator == NULLIT)
{
if(mode & WXLO_EXPORT_AS_HTML)
*str += "<br>";
*str += _T("<br>");
if(flags & WXLO_EXPORT_WITH_CRLF)
*str += "\r\n";
*str += _T("\r\n");
else
*str += '\n';

View File

@@ -334,7 +334,7 @@ wxLayoutWindow::OnMouse(int eventId, wxMouseEvent& event)
if( m_StatusBar && m_StatusFieldLabel != -1 &&
s_hasPutMessageInStatusBar )
{
m_StatusBar->SetStatusText("", m_StatusFieldLabel);
m_StatusBar->SetStatusText(wxEmptyString, m_StatusFieldLabel);
}
}
}
@@ -576,7 +576,7 @@ wxLayoutWindow::OnChar(wxKeyEvent& event)
Copy(TRUE, TRUE);
break;
case 's': // search
Find("");
Find(wxEmptyString);
break;
case 't': // search again
FindAgain();
@@ -624,7 +624,7 @@ wxLayoutWindow::OnChar(wxKeyEvent& event)
}
break;
case 's': // search
Find("");
Find(wxEmptyString);
break;
case 't': // search again
FindAgain();
@@ -846,7 +846,13 @@ wxLayoutWindow::OnPaint( wxPaintEvent &WXUNUSED(event))
}
void
wxLayoutWindow::RequestUpdate(const wxRect *updateRect)
wxLayoutWindow::RequestUpdate(const wxRect *
#ifdef __WXGTK__
updateRect
#else
WXUNUSED(updateRect)
#endif
)
{
#ifdef __WXGTK__
// Calling Refresh() causes bad flicker under wxGTK!!!
@@ -1263,9 +1269,27 @@ wxLayoutWindow::Cut(bool privateFormat, bool usePrimary)
// ----------------------------------------------------------------------------
bool
wxLayoutWindow::Find(const wxString &needle,
wxPoint * fromWhere,
const wxString &configPath)
wxLayoutWindow::Find(const wxString &
#ifdef M_BASEDIR
needle
#else
WXUNUSED(needle)
#endif
,
wxPoint *
#ifdef M_BASEDIR
fromWhere
#else
WXUNUSED(fromWhere)
#endif
,
const wxString &
#ifdef M_BASEDIR
configPath
#else
WXUNUSED(configPath)
#endif
)
{
#ifdef M_BASEDIR
wxPoint found;

View File

@@ -107,7 +107,7 @@ public:
/// find string in buffer
bool Find(const wxString &needle,
wxPoint * fromWhere = NULL,
const wxString &configPath = "MsgViewFindString");
const wxString &configPath = _T("MsgViewFindString"));
/// find the same string again
bool FindAgain(void);