From: Robin Dunn Date: Thu, 18 Sep 2003 22:28:25 +0000 (+0000) Subject: Added DoDragOver and DoDropText from Angelo Mandato, and ensured that X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/4a65f2c80d04599738e4f3a527c4953ade08d48b 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 --- diff --git a/contrib/include/wx/stc/stc.h b/contrib/include/wx/stc/stc.h index de090b647e..7d39ec2c5c 100644 --- a/contrib/include/wx/stc/stc.h +++ b/contrib/include/wx/stc/stc.h @@ -2275,6 +2275,13 @@ public: // Load the contents of filename into the editor 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); + + //---------------------------------------------------------------------- diff --git a/contrib/src/stc/stc.cpp b/contrib/src/stc/stc.cpp index 829cb32e61..d51b8d04a0 100644 --- a/contrib/src/stc/stc.cpp +++ b/contrib/src/stc/stc.cpp @@ -2117,9 +2117,9 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename) bool success = file.Write(GetText(), *wxConvCurrent); - if (success) { + if (success) SetSavePoint(); - } + return success; } @@ -2136,14 +2136,13 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) #else wxString buffer; #endif - off_t len = file.Length(); if (len > 0) { void *bufptr = buffer.GetWriteBuf(len); success = (file.Read(bufptr, len) == len); buffer.UngetWriteBuf(len); -#if wxUSE_UNICODE +#if #wxUSE_UNICODE contents = wxString(buffer, *wxConvCurrent); #else 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 diff --git a/contrib/src/stc/stc.cpp.in b/contrib/src/stc/stc.cpp.in index be24cc98f7..fa23c2587b 100644 --- a/contrib/src/stc/stc.cpp.in +++ b/contrib/src/stc/stc.cpp.in @@ -320,7 +320,7 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename) if (!file.IsOpened()) return FALSE; - bool success = file.Write(GetText()); + bool success = file.Write(GetText(), *wxConvCurrent); if (success) SetSavePoint(); @@ -336,13 +336,22 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) if (file.IsOpened()) { wxString contents; +#if wxUSE_UNICODE + wxMemoryBuffer buffer; +#else + wxString buffer; +#endif off_t len = file.Length(); - if (len > 0) { - wxChar *buf = contents.GetWriteBuf(len); - success = (file.Read(buf, len) == len); - contents.UngetWriteBuf(); + void *bufptr = buffer.GetWriteBuf(len); + success = (file.Read(bufptr, len) == len); + buffer.UngetWriteBuf(len); +#if #wxUSE_UNICODE + contents = wxString(buffer, *wxConvCurrent); +#else + contents = buffer; +#endif } else 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 diff --git a/contrib/src/stc/stc.h.in b/contrib/src/stc/stc.h.in index 5adb5df385..6999efae4e 100644 --- a/contrib/src/stc/stc.h.in +++ b/contrib/src/stc/stc.h.in @@ -191,6 +191,13 @@ public: // Load the contents of filename into the editor 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); + + //---------------------------------------------------------------------- diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index de090b647e..7d39ec2c5c 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -2275,6 +2275,13 @@ public: // Load the contents of filename into the editor 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); + + //---------------------------------------------------------------------- diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index 829cb32e61..d51b8d04a0 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -2117,9 +2117,9 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename) bool success = file.Write(GetText(), *wxConvCurrent); - if (success) { + if (success) SetSavePoint(); - } + return success; } @@ -2136,14 +2136,13 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) #else wxString buffer; #endif - off_t len = file.Length(); if (len > 0) { void *bufptr = buffer.GetWriteBuf(len); success = (file.Read(bufptr, len) == len); buffer.UngetWriteBuf(len); -#if wxUSE_UNICODE +#if #wxUSE_UNICODE contents = wxString(buffer, *wxConvCurrent); #else 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 diff --git a/src/stc/stc.cpp.in b/src/stc/stc.cpp.in index be24cc98f7..fa23c2587b 100644 --- a/src/stc/stc.cpp.in +++ b/src/stc/stc.cpp.in @@ -320,7 +320,7 @@ bool wxStyledTextCtrl::SaveFile(const wxString& filename) if (!file.IsOpened()) return FALSE; - bool success = file.Write(GetText()); + bool success = file.Write(GetText(), *wxConvCurrent); if (success) SetSavePoint(); @@ -336,13 +336,22 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) if (file.IsOpened()) { wxString contents; +#if wxUSE_UNICODE + wxMemoryBuffer buffer; +#else + wxString buffer; +#endif off_t len = file.Length(); - if (len > 0) { - wxChar *buf = contents.GetWriteBuf(len); - success = (file.Read(buf, len) == len); - contents.UngetWriteBuf(); + void *bufptr = buffer.GetWriteBuf(len); + success = (file.Read(bufptr, len) == len); + buffer.UngetWriteBuf(len); +#if #wxUSE_UNICODE + contents = wxString(buffer, *wxConvCurrent); +#else + contents = buffer; +#endif } else 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 diff --git a/src/stc/stc.h.in b/src/stc/stc.h.in index 5adb5df385..6999efae4e 100644 --- a/src/stc/stc.h.in +++ b/src/stc/stc.h.in @@ -191,6 +191,13 @@ public: // Load the contents of filename into the editor 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); + + //----------------------------------------------------------------------