Merge pull request #4707 from rzats/feature-4668

PDEX: Add 'Jump to Declaration' to right-click menu (#4668)
This commit is contained in:
Ben Fry
2017-02-13 14:16:23 -05:00
committed by GitHub
3 changed files with 13 additions and 0 deletions

View File

@@ -314,6 +314,7 @@ editor.header.delete.warning.title = Yeah, no.
editor.header.delete.warning.text = You cannot delete the main tab of the only open sketch.
# PopUp menu
editor.popup.jump_to_declaration = Jump to Declaration
editor.popup.show_usage = Show Usage...
editor.popup.rename = Rename...

View File

@@ -316,6 +316,7 @@ editor.header.delete.warning.title = Хех, ні.
editor.header.delete.warning.text = Не можна видалити головну вкладку єдиного відкритого ескізу.
# PopUp menu
editor.popup.jump_to_declaration = Перейти до визначення
editor.popup.show_usage = Показати використання...
editor.popup.rename = Перейменувати...

View File

@@ -23,6 +23,7 @@ import java.awt.EventQueue;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.InputEvent;
@@ -209,6 +210,10 @@ public class PDEX {
// Add listeners
JMenuItem showUsageItem = new JMenuItem(Language.text("editor.popup.jump_to_declaration"));
showUsageItem.addActionListener(e -> handleInspect());
editor.getTextArea().getRightClickPopup().add(showUsageItem);
editor.getJavaTextArea().getPainter().addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
@@ -277,6 +282,12 @@ public class PDEX {
}
void handleInspect() {
int off = editor.getSelectionStart();
int tabIndex = editor.getSketch().getCurrentCodeIndex();
pps.whenDoneBlocking(ps -> handleInspect(ps, tabIndex, off));
}
// Thread: EDT
void handleInspect(MouseEvent evt) {