View Javadoc

1   // Copyright 2004-2005, FreeHEP.
2   package hep.wired.heprep.interaction;
3   
4   import java.awt.*;
5   import java.awt.event.*;
6   import java.awt.geom.*;
7   import javax.swing.*;
8   
9   import org.freehep.application.Application;
10  
11  import hep.wired.services.GraphicsPanel;
12  import hep.wired.services.RecordPlot;
13  import hep.wired.services.InteractionHandler;
14  import hep.wired.image.WiredBaseImage;
15  
16  import hep.wired.heprep.graphicspanel.ControlPanel;
17  
18  /***
19   *
20   * @author Mark Donszelmann
21   * @version $Id: Picking.java 2130 2005-07-28 18:22:46Z duns $
22   */
23  public class Picking extends RoutingInteractionHandler {
24  
25      private static Picking instance;
26      private HepRepInfoPanel panel;
27  
28      private Picking() {
29          super("Pick");
30          panel = new HepRepInfoPanel();
31          
32          InteractionHandler hoverToPick = new HoverToPick();
33          add(hoverToPick, true);
34          panel.addHandler(hoverToPick, true);
35  
36          // FIXME, NPE when this is not called.
37          panel.setInteractionHandler(hoverToPick);
38          
39          InteractionHandler dragRectangleToPick = new DragRectangleToPick();
40          add(dragRectangleToPick, false);
41          panel.addHandler(dragRectangleToPick, false);
42          
43          panel.addHandler(null, false);
44      }
45      
46      public static Picking getInstance() {
47          if (instance == null) {
48              instance = new Picking();
49          }
50          return instance;
51      }
52      
53      public Icon getIcon(int size) {
54          return WiredBaseImage.getIcon("PickInfo%w", size);
55      }    
56  
57      public String getDescription() {
58          return "Picking of Objects.";
59      }
60  
61      public ControlPanel getPanel() {
62          return panel;
63      }
64      
65      public String toString() {
66          return "Picking";
67      }
68  }