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

View File

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

View File

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

View File

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

View File

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

View File

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