View Javadoc

1   package org.catacomb.dataview.gui;
2   
3   import org.catacomb.dataview.display.ViewConfig;
4   import org.catacomb.dataview.formats.DataHandler;
5   import org.catacomb.druid.gui.base.DruDataDisplay;
6   import org.catacomb.druid.gui.edit.DruListPanel;
7   import org.catacomb.interlish.annotation.IOPoint;
8   import org.catacomb.interlish.structure.Controller;
9   import org.catacomb.report.E;
10  
11  import java.awt.image.BufferedImage;
12  
13  public class DViewPlotController implements Controller {
14  
15      @IOPoint(xid="dataDisplay")
16      public DruDataDisplay dataDisplay;
17  
18      @IOPoint(xid="plots")
19      public DruListPanel plotsList;
20  
21      private DataHandler dataHandler;
22  
23  
24  
25      public DViewPlotController() {
26  
27      }
28  
29  
30  
31      public void setDataHandler(DataHandler dh) {
32          dataHandler = dh;
33          dataDisplay.attachGraphicsController(dh);
34  
35          dataDisplay.setXAxisLabel(dh.getXAxisLabel());
36          dataDisplay.setYAxisLabel(dh.getYAxisLabel());
37  
38  
39          plotsList.setItems(dh.getPlotNames());
40          repaint();
41      }
42  
43  
44      public void showPlot(String s) {
45          dataHandler.setPlot(s);
46          ViewConfig vc = dataHandler.getViewConfig(s);
47          if (vc == null) {
48              E.warning("no such view " + vc);
49          } else {
50              dataDisplay.setLimits(vc.getLimits());
51          }
52      }
53  
54  
55      public void attached() {
56          repaint();
57  
58      }
59  
60  
61  
62      public void repaint() {
63          dataDisplay.repaint();
64  
65      }
66  
67  
68  
69      public void setViewSize(int w, int h) {
70          dataDisplay.setSize(w, h);
71  
72      }
73  
74  
75  
76      public BufferedImage getSnapshot() {
77          return dataDisplay.getSnapshot();
78      }
79  
80  }