CaptureMouse();
}
else {
- ReleaseMouse();
+ if (HasCapture()) ReleaseMouse();
}
return retval;
}
SelectionText st;
CopySelectionRange(&st);
wxTheClipboard->Open();
+ wxTheClipboard->UsePrimarySelection();
wxString text = stc2wx(st.s, st.len);
wxTheClipboard->SetData(new wxTextDataObject(text));
wxTheClipboard->Close();
bool gotData;
wxTheClipboard->Open();
+ wxTheClipboard->UsePrimarySelection();
gotData = wxTheClipboard->GetData(data);
wxTheClipboard->Close();
if (gotData) {
bool canPaste;
wxTheClipboard->Open();
+ wxTheClipboard->UsePrimarySelection();
canPaste = wxTheClipboard->IsSupported(wxUSE_UNICODE ? wxDF_UNICODETEXT : wxDF_TEXT);
wxTheClipboard->Close();
ScrollTo(topLineNew);
}
-
-void ScintillaWX::DoMouseWheel(int rotation, int delta, int linesPerAction, int ctrlDown) {
+void ScintillaWX::DoMouseWheel(int rotation, int delta,
+ int linesPerAction, int ctrlDown,
+ bool isPageScroll ) {
int topLineNew = topLine;
int lines;
lines = wheelRotation / delta;
wheelRotation -= lines * delta;
if (lines != 0) {
- lines *= linesPerAction;
+ if (isPageScroll)
+ lines = lines * LinesOnScreen(); // lines is either +1 or -1
+ else
+ lines *= linesPerAction;
topLineNew -= lines;
ScrollTo(topLineNew);
}
void ScintillaWX::DoContextMenu(Point pt) {
- ContextMenu(pt);
+ if (displayPopupMenu)
+ ContextMenu(pt);
}
void ScintillaWX::DoOnListBox() {