X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68985f0e5751cd3332d32a41dd34e9187786c120..046d682f0f684977b7ba933a128f5c84e06ded0e:/src/stc/ScintillaWX.cpp?ds=sidebyside diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index 50773daee1..f139054299 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -14,12 +14,27 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// +#define Point macPoint // These names are also defined by some mac headers so +#define Style macStyle // change their names, and then undef before we need them + +#include +#include +#include +#include +#include + +#undef Point +#undef Style #include "ScintillaWX.h" #include "ExternalLexer.h" #include "wx/stc/stc.h" #include "PlatWX.h" -#include + +#ifdef __WXMSW__ + // GetHwndOf() + #include +#endif //---------------------------------------------------------------------- // Helper classes @@ -456,7 +471,7 @@ void ScintillaWX::Paste() { void ScintillaWX::CopyToClipboard(const SelectionText& st) { if (wxTheClipboard->Open()) { wxTheClipboard->UsePrimarySelection(false); - wxString text = wxTextBuffer::Translate(stc2wx(st.s, st.len)); + wxString text = wxTextBuffer::Translate(stc2wx(st.s, st.len-1)); wxTheClipboard->SetData(new wxTextDataObject(text)); wxTheClipboard->Close(); } @@ -636,6 +651,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar LexerManager::GetInstance()->Load((const char*)lParam); break; #endif + default: return ScintillaBase::WndProc(iMessage, wParam, lParam); } @@ -840,7 +856,7 @@ int ScintillaWX::DoKeyDown(const wxKeyEvent& evt, bool* consumed) bool shift = evt.ShiftDown(), ctrl = evt.ControlDown(), alt = evt.AltDown(); - + if (ctrl && key >= 1 && key <= 26) key += 'A' - 1; @@ -860,6 +876,7 @@ int ScintillaWX::DoKeyDown(const wxKeyEvent& evt, bool* consumed) case WXK_ESCAPE: key = SCK_ESCAPE; break; case WXK_BACK: key = SCK_BACK; break; case WXK_TAB: key = SCK_TAB; break; + case WXK_NUMPAD_ENTER: // fall through case WXK_RETURN: key = SCK_RETURN; break; case WXK_ADD: // fall through case WXK_NUMPAD_ADD: key = SCK_ADD; break; @@ -983,7 +1000,9 @@ void ScintillaWX::DoDragLeave() { // Force the whole window to be repainted void ScintillaWX::FullPaint() { +#ifndef __WXMAC__ stc->Refresh(false); +#endif stc->Update(); }