// 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 <wx/wx.h>
+#include <wx/textbuf.h>
+#include <wx/dataobj.h>
+#include <wx/clipbrd.h>
+#include <wx/dnd.h>
+
+#undef Point
+#undef Style
#include "ScintillaWX.h"
#include "ExternalLexer.h"
#include "wx/stc/stc.h"
#include "PlatWX.h"
-#include <wx/textbuf.h>
+
+#ifdef __WXMSW__
+ // GetHwndOf()
+ #include <wx/msw/private.h>
+#endif
//----------------------------------------------------------------------
// Helper classes
stc = win;
wheelRotation = 0;
Initialise();
+#ifdef __WXMSW__
+ sysCaretBitmap = 0;
+ sysCaretWidth = 0;
+ sysCaretHeight = 0;
+#endif
}
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();
}
LexerManager::GetInstance()->Load((const char*)lParam);
break;
#endif
+
default:
return ScintillaBase::WndProc(iMessage, wParam, lParam);
}
bool shift = evt.ShiftDown(),
ctrl = evt.ControlDown(),
alt = evt.AltDown();
-
+
if (ctrl && key >= 1 && key <= 26)
key += 'A' - 1;
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;
// Force the whole window to be repainted
void ScintillaWX::FullPaint() {
+#ifndef __WXMAC__
stc->Refresh(false);
+#endif
stc->Update();
}