Implement right-click popup in rocket view
This commit is contained in:
parent
2ab1bee92c
commit
9e1602b1c9
@ -911,7 +911,7 @@ public class BasicFrame extends JFrame {
|
|||||||
this.setJMenuBar(menubar);
|
this.setJMenuBar(menubar);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void doComponentTreePopup(MouseEvent e) {
|
public void doComponentTreePopup(MouseEvent e) {
|
||||||
popupMenu.show(e.getComponent(), e.getX(), e.getY());
|
popupMenu.show(e.getComponent(), e.getX(), e.getY());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -510,8 +510,8 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
|
|||||||
public static final int CYCLE_SELECTION_MODIFIER = InputEvent.SHIFT_DOWN_MASK;
|
public static final int CYCLE_SELECTION_MODIFIER = InputEvent.SHIFT_DOWN_MASK;
|
||||||
|
|
||||||
private void handleMouseClick(MouseEvent event) {
|
private void handleMouseClick(MouseEvent event) {
|
||||||
if (event.getButton() != MouseEvent.BUTTON1)
|
if (event.getButton() == MouseEvent.BUTTON1) {
|
||||||
return;
|
// Get the component that is clicked on
|
||||||
Point p0 = event.getPoint();
|
Point p0 = event.getPoint();
|
||||||
Point p1 = scrollPane.getViewport().getViewPosition();
|
Point p1 = scrollPane.getViewport().getViewPosition();
|
||||||
int x = p0.x + p1.x;
|
int x = p0.x + p1.x;
|
||||||
@ -520,6 +520,14 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
|
|||||||
RocketComponent[] clicked = figure.getComponentsByPoint(x, y);
|
RocketComponent[] clicked = figure.getComponentsByPoint(x, y);
|
||||||
|
|
||||||
handleComponentClick(clicked, event);
|
handleComponentClick(clicked, event);
|
||||||
|
} else if (event.getButton() == MouseEvent.BUTTON3) {
|
||||||
|
List<RocketComponent> selectedComponents = Arrays.stream(selectionModel.getSelectionPaths())
|
||||||
|
.map(c -> (RocketComponent) c.getLastPathComponent()).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (selectedComponents.size() == 0) return;
|
||||||
|
|
||||||
|
basicFrame.doComponentTreePopup(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleComponentClick(RocketComponent[] clicked, MouseEvent event) {
|
private void handleComponentClick(RocketComponent[] clicked, MouseEvent event) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user