Correct way of modyfing stc.cpp. Thanks Robin for quick guide :-)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2004-12-07 19:49:27 +00:00
parent 1823fbb47a
commit a5b274d7fc
4 changed files with 86 additions and 60 deletions

View File

@@ -520,6 +520,7 @@ void wxStyledTextCtrl::MarkerDefineBitmap(int markerNumber, const wxBitmap& bmp)
buff[len] = 0; buff[len] = 0;
SendMsg(2049, markerNumber, (long)buff); SendMsg(2049, markerNumber, (long)buff);
delete [] buff; delete [] buff;
} }
// Set a margin to be either numeric or symbolic. // Set a margin to be either numeric or symbolic.
@@ -903,6 +904,7 @@ void wxStyledTextCtrl::RegisterImage(int type, const wxBitmap& bmp) {
buff[len] = 0; buff[len] = 0;
SendMsg(2405, type, (long)buff); SendMsg(2405, type, (long)buff);
delete [] buff; delete [] buff;
} }
// Clear all the registered images. // Clear all the registered images.
@@ -1073,34 +1075,34 @@ int wxStyledTextCtrl::FindText(int minPos, int maxPos,
} }
// On Windows, will draw the document into a display context such as a printer. // On Windows, will draw the document into a display context such as a printer.
int wxStyledTextCtrl::FormatRange(bool doDraw, int wxStyledTextCtrl::FormatRange(bool doDraw,
int startPos, int startPos,
int endPos, int endPos,
wxDC* draw, wxDC* draw,
wxDC* target, wxDC* target,
wxRect renderRect, wxRect renderRect,
wxRect pageRect) { wxRect pageRect) {
RangeToFormat fr; RangeToFormat fr;
if (endPos < startPos) { if (endPos < startPos) {
int temp = startPos; int temp = startPos;
startPos = endPos; startPos = endPos;
endPos = temp; endPos = temp;
} }
fr.hdc = draw; fr.hdc = draw;
fr.hdcTarget = target; fr.hdcTarget = target;
fr.rc.top = renderRect.GetTop(); fr.rc.top = renderRect.GetTop();
fr.rc.left = renderRect.GetLeft(); fr.rc.left = renderRect.GetLeft();
fr.rc.right = renderRect.GetRight(); fr.rc.right = renderRect.GetRight();
fr.rc.bottom = renderRect.GetBottom(); fr.rc.bottom = renderRect.GetBottom();
fr.rcPage.top = pageRect.GetTop(); fr.rcPage.top = pageRect.GetTop();
fr.rcPage.left = pageRect.GetLeft(); fr.rcPage.left = pageRect.GetLeft();
fr.rcPage.right = pageRect.GetRight(); fr.rcPage.right = pageRect.GetRight();
fr.rcPage.bottom = pageRect.GetBottom(); fr.rcPage.bottom = pageRect.GetBottom();
fr.chrg.cpMin = startPos; fr.chrg.cpMin = startPos;
fr.chrg.cpMax = endPos; fr.chrg.cpMax = endPos;
return SendMsg(2151, doDraw, (long)&fr); return SendMsg(2151, doDraw, (long)&fr);
} }
// Retrieve the display line at the top of the display. // Retrieve the display line at the top of the display.

View File

@@ -46,7 +46,9 @@ static long wxColourAsLong(const wxColour& co) {
static wxColour wxColourFromLong(long c) { static wxColour wxColourFromLong(long c) {
wxColour clr; wxColour clr;
clr.Set(c & 0xff, (c >> 8) & 0xff, (c >> 16) & 0xff); clr.Set((unsigned char)(c & 0xff),
(unsigned char)((c >> 8) & 0xff),
(unsigned char)((c >> 16) & 0xff));
return clr; return clr;
} }
@@ -60,7 +62,9 @@ static wxColour wxColourFromSpec(const wxString& spec) {
spec.Mid(1,2).ToLong(&red, 16); spec.Mid(1,2).ToLong(&red, 16);
spec.Mid(3,2).ToLong(&green, 16); spec.Mid(3,2).ToLong(&green, 16);
spec.Mid(5,2).ToLong(&blue, 16); spec.Mid(5,2).ToLong(&blue, 16);
return wxColour(red, green, blue); return wxColour((unsigned char)red,
(unsigned char)green,
(unsigned char)blue);
} }
else else
return wxColour(spec); return wxColour(spec);
@@ -377,7 +381,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
if (file.IsOpened()) if (file.IsOpened())
{ {
wxString contents; wxString contents;
size_t len = (size_t)file.Length(); // get the file size (assume it is not huge file...)
ssize_t len = (ssize_t)file.Length();
if (len > 0) if (len > 0)
{ {
#if wxUSE_UNICODE #if wxUSE_UNICODE
@@ -394,7 +400,12 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
#endif #endif
} }
else else
success = true; // empty file is ok {
if (len == 0)
success = true; // empty file is ok
else
success = false; // len == wxInvalidOffset
}
if (success) if (success)
{ {

View File

@@ -520,6 +520,7 @@ void wxStyledTextCtrl::MarkerDefineBitmap(int markerNumber, const wxBitmap& bmp)
buff[len] = 0; buff[len] = 0;
SendMsg(2049, markerNumber, (long)buff); SendMsg(2049, markerNumber, (long)buff);
delete [] buff; delete [] buff;
} }
// Set a margin to be either numeric or symbolic. // Set a margin to be either numeric or symbolic.
@@ -903,6 +904,7 @@ void wxStyledTextCtrl::RegisterImage(int type, const wxBitmap& bmp) {
buff[len] = 0; buff[len] = 0;
SendMsg(2405, type, (long)buff); SendMsg(2405, type, (long)buff);
delete [] buff; delete [] buff;
} }
// Clear all the registered images. // Clear all the registered images.
@@ -1073,34 +1075,34 @@ int wxStyledTextCtrl::FindText(int minPos, int maxPos,
} }
// On Windows, will draw the document into a display context such as a printer. // On Windows, will draw the document into a display context such as a printer.
int wxStyledTextCtrl::FormatRange(bool doDraw, int wxStyledTextCtrl::FormatRange(bool doDraw,
int startPos, int startPos,
int endPos, int endPos,
wxDC* draw, wxDC* draw,
wxDC* target, wxDC* target,
wxRect renderRect, wxRect renderRect,
wxRect pageRect) { wxRect pageRect) {
RangeToFormat fr; RangeToFormat fr;
if (endPos < startPos) { if (endPos < startPos) {
int temp = startPos; int temp = startPos;
startPos = endPos; startPos = endPos;
endPos = temp; endPos = temp;
} }
fr.hdc = draw; fr.hdc = draw;
fr.hdcTarget = target; fr.hdcTarget = target;
fr.rc.top = renderRect.GetTop(); fr.rc.top = renderRect.GetTop();
fr.rc.left = renderRect.GetLeft(); fr.rc.left = renderRect.GetLeft();
fr.rc.right = renderRect.GetRight(); fr.rc.right = renderRect.GetRight();
fr.rc.bottom = renderRect.GetBottom(); fr.rc.bottom = renderRect.GetBottom();
fr.rcPage.top = pageRect.GetTop(); fr.rcPage.top = pageRect.GetTop();
fr.rcPage.left = pageRect.GetLeft(); fr.rcPage.left = pageRect.GetLeft();
fr.rcPage.right = pageRect.GetRight(); fr.rcPage.right = pageRect.GetRight();
fr.rcPage.bottom = pageRect.GetBottom(); fr.rcPage.bottom = pageRect.GetBottom();
fr.chrg.cpMin = startPos; fr.chrg.cpMin = startPos;
fr.chrg.cpMax = endPos; fr.chrg.cpMax = endPos;
return SendMsg(2151, doDraw, (long)&fr); return SendMsg(2151, doDraw, (long)&fr);
} }
// Retrieve the display line at the top of the display. // Retrieve the display line at the top of the display.

View File

@@ -46,7 +46,9 @@ static long wxColourAsLong(const wxColour& co) {
static wxColour wxColourFromLong(long c) { static wxColour wxColourFromLong(long c) {
wxColour clr; wxColour clr;
clr.Set(c & 0xff, (c >> 8) & 0xff, (c >> 16) & 0xff); clr.Set((unsigned char)(c & 0xff),
(unsigned char)((c >> 8) & 0xff),
(unsigned char)((c >> 16) & 0xff));
return clr; return clr;
} }
@@ -60,7 +62,9 @@ static wxColour wxColourFromSpec(const wxString& spec) {
spec.Mid(1,2).ToLong(&red, 16); spec.Mid(1,2).ToLong(&red, 16);
spec.Mid(3,2).ToLong(&green, 16); spec.Mid(3,2).ToLong(&green, 16);
spec.Mid(5,2).ToLong(&blue, 16); spec.Mid(5,2).ToLong(&blue, 16);
return wxColour(red, green, blue); return wxColour((unsigned char)red,
(unsigned char)green,
(unsigned char)blue);
} }
else else
return wxColour(spec); return wxColour(spec);
@@ -377,7 +381,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
if (file.IsOpened()) if (file.IsOpened())
{ {
wxString contents; wxString contents;
size_t len = (size_t)file.Length(); // get the file size (assume it is not huge file...)
ssize_t len = (ssize_t)file.Length();
if (len > 0) if (len > 0)
{ {
#if wxUSE_UNICODE #if wxUSE_UNICODE
@@ -394,7 +400,12 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
#endif #endif
} }
else else
success = true; // empty file is ok {
if (len == 0)
success = true; // empty file is ok
else
success = false; // len == wxInvalidOffset
}
if (success) if (success)
{ {