Added DoDragOver and DoDropText from Angelo Mandato, and ensured that
my unicode LoadFile/SaveFile changes were in the .in file this time. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2275,6 +2275,13 @@ public:
|
|||||||
// Load the contents of filename into the editor
|
// Load the contents of filename into the editor
|
||||||
bool LoadFile(const wxString& filename);
|
bool LoadFile(const wxString& filename);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DragOver
|
||||||
|
wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DropText
|
||||||
|
bool DoDropText(long x, long y, const wxString& data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -2117,9 +2117,9 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename)
|
|||||||
|
|
||||||
bool success = file.Write(GetText(), *wxConvCurrent);
|
bool success = file.Write(GetText(), *wxConvCurrent);
|
||||||
|
|
||||||
if (success) {
|
if (success)
|
||||||
SetSavePoint();
|
SetSavePoint();
|
||||||
}
|
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2136,14 +2136,13 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
#else
|
#else
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
off_t len = file.Length();
|
off_t len = file.Length();
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
void *bufptr = buffer.GetWriteBuf(len);
|
void *bufptr = buffer.GetWriteBuf(len);
|
||||||
success = (file.Read(bufptr, len) == len);
|
success = (file.Read(bufptr, len) == len);
|
||||||
buffer.UngetWriteBuf(len);
|
buffer.UngetWriteBuf(len);
|
||||||
#if wxUSE_UNICODE
|
#if #wxUSE_UNICODE
|
||||||
contents = wxString(buffer, *wxConvCurrent);
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
#else
|
#else
|
||||||
contents = buffer;
|
contents = buffer;
|
||||||
@@ -2164,6 +2163,16 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxDragResult wxStyledTextCtrl::DoDragOver(wxCoord x, wxCoord y, wxDragResult def) {
|
||||||
|
return m_swx->DoDragOver(x, y, def);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool wxStyledTextCtrl::DoDropText(long x, long y, const wxString& data) {
|
||||||
|
return m_swx->DoDropText(x, y, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// Event handlers
|
// Event handlers
|
||||||
|
|
||||||
|
@@ -320,7 +320,7 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename)
|
|||||||
if (!file.IsOpened())
|
if (!file.IsOpened())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
bool success = file.Write(GetText());
|
bool success = file.Write(GetText(), *wxConvCurrent);
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
SetSavePoint();
|
SetSavePoint();
|
||||||
@@ -336,13 +336,22 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
if (file.IsOpened())
|
if (file.IsOpened())
|
||||||
{
|
{
|
||||||
wxString contents;
|
wxString contents;
|
||||||
|
#if wxUSE_UNICODE
|
||||||
|
wxMemoryBuffer buffer;
|
||||||
|
#else
|
||||||
|
wxString buffer;
|
||||||
|
#endif
|
||||||
off_t len = file.Length();
|
off_t len = file.Length();
|
||||||
|
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
wxChar *buf = contents.GetWriteBuf(len);
|
void *bufptr = buffer.GetWriteBuf(len);
|
||||||
success = (file.Read(buf, len) == len);
|
success = (file.Read(bufptr, len) == len);
|
||||||
contents.UngetWriteBuf();
|
buffer.UngetWriteBuf(len);
|
||||||
|
#if #wxUSE_UNICODE
|
||||||
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
|
#else
|
||||||
|
contents = buffer;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
success = true; // empty file is ok
|
success = true; // empty file is ok
|
||||||
@@ -359,6 +368,16 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxDragResult wxStyledTextCtrl::DoDragOver(wxCoord x, wxCoord y, wxDragResult def) {
|
||||||
|
return m_swx->DoDragOver(x, y, def);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool wxStyledTextCtrl::DoDropText(long x, long y, const wxString& data) {
|
||||||
|
return m_swx->DoDropText(x, y, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// Event handlers
|
// Event handlers
|
||||||
|
|
||||||
|
@@ -191,6 +191,13 @@ public:
|
|||||||
// Load the contents of filename into the editor
|
// Load the contents of filename into the editor
|
||||||
bool LoadFile(const wxString& filename);
|
bool LoadFile(const wxString& filename);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DragOver
|
||||||
|
wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DropText
|
||||||
|
bool DoDropText(long x, long y, const wxString& data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -2275,6 +2275,13 @@ public:
|
|||||||
// Load the contents of filename into the editor
|
// Load the contents of filename into the editor
|
||||||
bool LoadFile(const wxString& filename);
|
bool LoadFile(const wxString& filename);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DragOver
|
||||||
|
wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DropText
|
||||||
|
bool DoDropText(long x, long y, const wxString& data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -2117,9 +2117,9 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename)
|
|||||||
|
|
||||||
bool success = file.Write(GetText(), *wxConvCurrent);
|
bool success = file.Write(GetText(), *wxConvCurrent);
|
||||||
|
|
||||||
if (success) {
|
if (success)
|
||||||
SetSavePoint();
|
SetSavePoint();
|
||||||
}
|
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2136,14 +2136,13 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
#else
|
#else
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
off_t len = file.Length();
|
off_t len = file.Length();
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
void *bufptr = buffer.GetWriteBuf(len);
|
void *bufptr = buffer.GetWriteBuf(len);
|
||||||
success = (file.Read(bufptr, len) == len);
|
success = (file.Read(bufptr, len) == len);
|
||||||
buffer.UngetWriteBuf(len);
|
buffer.UngetWriteBuf(len);
|
||||||
#if wxUSE_UNICODE
|
#if #wxUSE_UNICODE
|
||||||
contents = wxString(buffer, *wxConvCurrent);
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
#else
|
#else
|
||||||
contents = buffer;
|
contents = buffer;
|
||||||
@@ -2164,6 +2163,16 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxDragResult wxStyledTextCtrl::DoDragOver(wxCoord x, wxCoord y, wxDragResult def) {
|
||||||
|
return m_swx->DoDragOver(x, y, def);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool wxStyledTextCtrl::DoDropText(long x, long y, const wxString& data) {
|
||||||
|
return m_swx->DoDropText(x, y, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// Event handlers
|
// Event handlers
|
||||||
|
|
||||||
|
@@ -320,7 +320,7 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename)
|
|||||||
if (!file.IsOpened())
|
if (!file.IsOpened())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
bool success = file.Write(GetText());
|
bool success = file.Write(GetText(), *wxConvCurrent);
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
SetSavePoint();
|
SetSavePoint();
|
||||||
@@ -336,13 +336,22 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
if (file.IsOpened())
|
if (file.IsOpened())
|
||||||
{
|
{
|
||||||
wxString contents;
|
wxString contents;
|
||||||
|
#if wxUSE_UNICODE
|
||||||
|
wxMemoryBuffer buffer;
|
||||||
|
#else
|
||||||
|
wxString buffer;
|
||||||
|
#endif
|
||||||
off_t len = file.Length();
|
off_t len = file.Length();
|
||||||
|
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
wxChar *buf = contents.GetWriteBuf(len);
|
void *bufptr = buffer.GetWriteBuf(len);
|
||||||
success = (file.Read(buf, len) == len);
|
success = (file.Read(bufptr, len) == len);
|
||||||
contents.UngetWriteBuf();
|
buffer.UngetWriteBuf(len);
|
||||||
|
#if #wxUSE_UNICODE
|
||||||
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
|
#else
|
||||||
|
contents = buffer;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
success = true; // empty file is ok
|
success = true; // empty file is ok
|
||||||
@@ -359,6 +368,16 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxDragResult wxStyledTextCtrl::DoDragOver(wxCoord x, wxCoord y, wxDragResult def) {
|
||||||
|
return m_swx->DoDragOver(x, y, def);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool wxStyledTextCtrl::DoDropText(long x, long y, const wxString& data) {
|
||||||
|
return m_swx->DoDropText(x, y, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// Event handlers
|
// Event handlers
|
||||||
|
|
||||||
|
@@ -191,6 +191,13 @@ public:
|
|||||||
// Load the contents of filename into the editor
|
// Load the contents of filename into the editor
|
||||||
bool LoadFile(const wxString& filename);
|
bool LoadFile(const wxString& filename);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DragOver
|
||||||
|
wxDragResult DoDragOver(wxCoord x, wxCoord y, wxDragResult def);
|
||||||
|
|
||||||
|
// Allow for simulating a DnD DropText
|
||||||
|
bool DoDropText(long x, long y, const wxString& data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user