MCPcopy Index your code
hub / github.com/benfry/processing4 / InspectMode

Class InspectMode

java/src/processing/mode/java/InspectMode.java:29–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27
28
29class InspectMode {
30 final JavaEditor editor;
31 final PreprocService pps;
32 final ShowUsage usage;
33
34 boolean inspectModeEnabled;
35
36 boolean isMouse1Down;
37 boolean isMouse2Down;
38 boolean isHotkeyDown;
39
40 Predicate<MouseEvent> mouseEventHotkeyTest = Platform.isMacOS() ?
41 InputEvent::isMetaDown : InputEvent::isControlDown;
42 Predicate<KeyEvent> keyEventHotkeyTest = Platform.isMacOS() ?
43 e -> e.getKeyCode() == KeyEvent.VK_META :
44 e -> e.getKeyCode() == KeyEvent.VK_CONTROL;
45
46
47 InspectMode(JavaEditor editor, PreprocService pps, ShowUsage usage) {
48 this.editor = editor;
49 this.pps = pps;
50 this.usage = usage;
51
52 // Add listeners
53
54 JMenuItem showUsageItem = new JMenuItem(Language.text("editor.popup.jump_to_declaration"));
55 showUsageItem.addActionListener(e -> handleInspect());
56 editor.getTextArea().getRightClickPopup().add(showUsageItem);
57
58 editor.getJavaTextArea().getPainter().addMouseListener(new MouseAdapter() {
59 @Override
60 public void mousePressed(MouseEvent e) {
61 isMouse1Down = isMouse1Down || (e.getButton() == MouseEvent.BUTTON1);
62 isMouse2Down = isMouse2Down || (e.getButton() == MouseEvent.BUTTON2);
63 }
64
65 @Override
66 public void mouseReleased(MouseEvent e) {
67 boolean releasingMouse1 = e.getButton() == MouseEvent.BUTTON1;
68 boolean releasingMouse2 = e.getButton() == MouseEvent.BUTTON2;
69 if (JavaMode.inspectModeHotkeyEnabled && inspectModeEnabled &&
70 isMouse1Down && releasingMouse1) {
71 handleInspect(e);
72 } else if (!inspectModeEnabled && isMouse2Down && releasingMouse2) {
73 handleInspect(e);
74 }
75 isMouse1Down = isMouse1Down && !releasingMouse1;
76 isMouse2Down = isMouse2Down && !releasingMouse2;
77 }
78 });
79
80 editor.getJavaTextArea().getPainter().addMouseMotionListener(new MouseAdapter() {
81 @Override
82 public void mouseDragged(MouseEvent e) {
83 if (editor.isSelectionActive()) {
84 // Mouse was dragged too much, disable
85 inspectModeEnabled = false;
86 // Cancel possible mouse 2 press

Callers

nothing calls this directly

Calls 2

isMacOSMethod · 0.95
getKeyCodeMethod · 0.80

Tested by

no test coverage detected