aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
authorTse Kit Yam <me@kytse.com>2016-11-23 10:46:28 +1100
committerTse Kit Yam <me@kytse.com>2016-11-23 10:46:28 +1100
commitd2c7abab397926735f5a41ca17fd280a409e2940 (patch)
treeefe207d319eef0ac417295439593a7baf36e20c7 /src/Editor.cxx
parent4ae76e455aec66826a284356d63cc2b5995c0b2f (diff)
downloadscintilla-mirror-d2c7abab397926735f5a41ca17fd280a409e2940.tar.gz
Implementation of MarginRightClick event.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 43d28a8c0..9c4e39490 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -2465,6 +2465,22 @@ bool Editor::NotifyMarginClick(Point pt, bool shift, bool ctrl, bool alt) {
return NotifyMarginClick(pt, ModifierFlags(shift, ctrl, alt));
}
+bool Editor::NotifyMarginRightClick(Point pt, int modifiers) {
+ int marginRightClicked = vs.MarginFromLocation(pt);
+ if ((marginRightClicked >= 0) && vs.ms[marginRightClicked].sensitive) {
+ int position = pdoc->LineStart(LineFromLocation(pt));
+ SCNotification scn = {};
+ scn.nmhdr.code = SCN_MARGINRIGHTCLICK;
+ scn.modifiers = modifiers;
+ scn.position = position;
+ scn.margin = marginRightClicked;
+ NotifyParent(scn);
+ return true;
+ } else {
+ return false;
+ }
+}
+
void Editor::NotifyNeedShown(int pos, int len) {
SCNotification scn = {};
scn.nmhdr.code = SCN_NEEDSHOWN;
@@ -4578,6 +4594,11 @@ void Editor::ButtonDownWithModifiers(Point pt, unsigned int curTime, int modifie
ShowCaretAtCurrentPosition();
}
+void Editor::RightButtonDownWithModifiers(Point pt, unsigned int, int modifiers) {
+ if (NotifyMarginRightClick(pt, modifiers))
+ return;
+}
+
void Editor::ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt) {
return ButtonDownWithModifiers(pt, curTime, ModifierFlags(shift, ctrl, alt));
}