+ public void mouseReleased(MouseEvent e) {
+ maybeShowPopup(e);
+ }
+
+ /**
+ * Shows the menu if an OS-specific popup-trigger was activated.
+ */
+ private void maybeShowPopup(MouseEvent e) {
+ if (e.isPopupTrigger() && !e.isControlDown()) {
+ if (!selected || mtv.isTheOnlySelected((MooNoteElement)e.getComponent())) popup.show(e.getComponent(), e.getX(), e.getY());
+ else mtv.showSelectionPopup(e.getComponent(), e.getX(), e.getY());
+ }
+ }
+ }
+
+ /**
+ * Listens on the actions made to the popupmenu.
+ */
+ class PopupListener implements ActionListener {
+ public void actionPerformed(ActionEvent e) {
+ Object source = e.getSource();
+ if (source == popupProp) {
+ new MooDialog(note);
+ newLayout();
+ } else if (source == popupRemove) {
+ remove();
+ } else if (source == popupTranspOctUp) {
+ note.transpose(12);
+ update();
+ } else if (source == popupTranspOctDown) {
+ note.transpose(-12);
+ update();
+ }
+ }