// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+#include <wx/wx.h>
+#include <wx/textbuf.h>
+#include <wx/dataobj.h>
+#include <wx/clipbrd.h>
+#include <wx/dnd.h>
#include "ScintillaWX.h"
#include "ExternalLexer.h"
#include "wx/stc/stc.h"
#include "PlatWX.h"
-#include <wx/textbuf.h>
#ifdef __WXMSW__
// GetHwndOf()
//----------------------------------------------------------------------
+#if wxUSE_DATAOBJ
static wxTextFileType wxConvertEOLMode(int scintillaMode)
{
wxTextFileType type;
}
return type;
}
+#endif // wxUSE_DATAOBJ
//----------------------------------------------------------------------
pdoc->BeginUndoAction();
ClearSelection();
+#if wxUSE_DATAOBJ
wxTextDataObject data;
bool gotData = false;
pdoc->InsertString(currentPos, buf, len);
SetEmptySelection(currentPos + len);
}
+#endif // wxUSE_DATAOBJ
pdoc->EndUndoAction();
NotifyChange();
void ScintillaWX::CopyToClipboard(const SelectionText& st) {
+#if wxUSE_CLIPBOARD
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();
}
+#else
+ wxUnusedVar(st);
+#endif // wxUSE_CLIPBOARD
}
bool ScintillaWX::CanPaste() {
+#if wxUSE_CLIPBOARD
bool canPaste = false;
bool didOpen;
}
}
return canPaste;
+#else
+ return false;
+#endif // wxUSE_CLIPBOARD
}
void ScintillaWX::CreateCallTipWindow(PRectangle) {
ctrl = evt.ControlDown(),
alt = evt.AltDown();
- if (ctrl && key >= 1 && key <= 26)
+ if (ctrl && key >= 1 && key <= 26 && key != WXK_BACK)
key += 'A' - 1;
switch (key) {
HorizontalScrollTo(column * vs.spaceWidth);
}
-#ifdef __WXGTK__
-void ScintillaWX::ClipChildren(wxDC& dc, PRectangle rect) {
- wxRegion rgn(wxRectFromPRectangle(rect));
- if (ac.Active()) {
- wxRect childRect = ((wxWindow*)ac.lb->GetID())->GetRect();
- rgn.Subtract(childRect);
- }
- if (ct.inCallTipMode) {
- wxSTCCallTip* tip = (wxSTCCallTip*)ct.wCallTip.GetID();
- wxRect childRect = tip->GetRect();
-#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
- childRect.SetPosition(tip->GetMyPosition());
-#endif
- rgn.Subtract(childRect);
- }
-
- dc.SetClippingRegion(rgn);
-}
-#else
-void ScintillaWX::ClipChildren(wxDC& WXUNUSED(dc), PRectangle WXUNUSED(rect)) {
+// wxGTK doesn't appear to need this explicit clipping code any longer, but I
+// will leave it here commented out for a while just in case...
+void ScintillaWX::ClipChildren(wxDC& WXUNUSED(dc), PRectangle WXUNUSED(rect))
+{
+// wxRegion rgn(wxRectFromPRectangle(rect));
+// if (ac.Active()) {
+// wxRect childRect = ((wxWindow*)ac.lb->GetID())->GetRect();
+// rgn.Subtract(childRect);
+// }
+// if (ct.inCallTipMode) {
+// wxSTCCallTip* tip = (wxSTCCallTip*)ct.wCallTip.GetID();
+// wxRect childRect = tip->GetRect();
+// #if wxUSE_POPUPWIN && wxSTC_USE_POPUP
+// childRect.SetPosition(tip->GetMyPosition());
+// #endif
+// rgn.Subtract(childRect);
+// }
+// dc.SetClippingRegion(rgn);
}
-#endif
void ScintillaWX::SetUseAntiAliasing(bool useAA) {