01: /*
02: * This file is part of the GeOxygene project source files.
03: *
04: * GeOxygene aims at providing an open framework which implements OGC/ISO specifications for
05: * the development and deployment of geographic (GIS) applications. It is a open source
06: * contribution of the COGIT laboratory at the Institut Géographique National (the French
07: * National Mapping Agency).
08: *
09: * See: http://oxygene-project.sourceforge.net
10: *
11: * Copyright (C) 2005 Institut Géographique National
12: *
13: * This library is free software; you can redistribute it and/or modify it under the terms
14: * of the GNU Lesser General Public License as published by the Free Software Foundation;
15: * either version 2.1 of the License, or any later version.
16: *
17: * This library is distributed in the hope that it will be useful, but WITHOUT ANY
18: * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
19: * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
20: *
21: * You should have received a copy of the GNU Lesser General Public License along with
22: * this library (see file LICENSE if present); if not, write to the Free Software
23: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24: *
25: */
26:
27: package fr.ign.cogit.geoxygene.util.viewer;
28:
29: import java.awt.event.MouseAdapter;
30: import java.awt.event.MouseEvent;
31:
32: import javax.swing.JPopupMenu;
33:
34: /**
35: * This class defines a Listener for the popup menu dedicated to the theme buttons of the (Geo)Object Viewer.
36: *
37: * @author Thierry Badard & Arnaud Braun
38: * @version 1.0
39: *
40: */
41:
42: class PopupListener extends MouseAdapter {
43: public JPopupMenu themepopup;
44:
45: public PopupListener(JPopupMenu tp) {
46: this .themepopup = tp;
47: }
48:
49: public void mousePressed(MouseEvent e) {
50: maybeShowPopup(e);
51: }
52:
53: public void mouseReleased(MouseEvent e) {
54: maybeShowPopup(e);
55: }
56:
57: private void maybeShowPopup(MouseEvent e) {
58: if (e.isPopupTrigger()) {
59: themepopup.show(e.getComponent(), e.getX(), e.getY());
60: }
61: }
62: }
|