Skip to content

Commit 51ec87a

Browse files
committed
Add click handler for TGraph
If custom click handler assigned, it will be informed Resolves https://root-forum.cern.ch/t/64744
1 parent a8f31c3 commit 51ec87a

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

modules/hist2d/TGraphPainter.mjs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { gStyle, BIT, settings, create, createHistogram, setHistogramTitle, isFunc, isStr,
22
clTPaveStats, clTCutG, clTH1F, clTH2F, clTF1, clTF2, clTPad, kNoZoom, kNoStats } from '../core.mjs';
3-
import { select as d3_select } from '../d3.mjs';
3+
import { select as d3_select, pointer as d3_pointer } from '../d3.mjs';
44
import { DrawOptions, buildSvgCurve, makeTranslate, addHighlightStyle } from '../base/BasePainter.mjs';
55
import { ObjectPainter, kAxisNormal } from '../base/ObjectPainter.mjs';
66
import { FunctionsHandler } from './THistPainter.mjs';
@@ -1513,7 +1513,7 @@ class TGraphPainter extends ObjectPainter {
15131513
}
15141514

15151515
/** @summary Complete moving */
1516-
moveEnd(not_changed) {
1516+
moveEnd(not_changed, evnt) {
15171517
const graph = this.getGraph(), last = graph?.fNpoints - 1;
15181518
let exec = '';
15191519

@@ -1543,6 +1543,17 @@ class TGraphPainter extends ObjectPainter {
15431543
else
15441544
this.drawGraph();
15451545
}
1546+
} else if (not_changed) {
1547+
const fp = this.getFramePainter(),
1548+
m = d3_pointer(evnt, fp.getFrameSvg().node()),
1549+
fw = fp.getFrameWidth(), fh = fp.getFrameHeight(),
1550+
valid_x = (m[0] >= 0) && (m[0] <= fw),
1551+
valid_y = (m[1] >= 0) && (m[1] <= fh);
1552+
if (valid_x && valid_y) {
1553+
evnt.preventDefault();
1554+
evnt.stopPropagation();
1555+
fp.processFrameClick({ x: m[0], y: m[1] });
1556+
}
15461557
} else {
15471558
changeBin(this.#move_bin);
15481559
this.#move_binindx = undefined;

0 commit comments

Comments
 (0)