Пример #1
0
 public void update(Observable observable, Object arg) {
   logger.debug(this + ": update request from " + observable);
   if (arg instanceof TimeInterval) {
     // TimeInterval ti = (TimeInterval) arg;
     // logger.info(this + " updating for range " + ti + " due to request from observer: '" +
     // observable.getClass().getName() + "'");
     graphAreaPanel.repaint();
   }
 }
Пример #2
0
 /**
  * @param x time coordinate of point (in pixels inside graph area panel)
  * @return Set of events in this point
  */
 public Set<IEvent> getEvents(int x) {
   Set<EventWrapper> eventWrappers = graphAreaPanel.getEvents(x);
   if (eventWrappers == null) return null;
   Set<IEvent> ret = new HashSet<IEvent>();
   for (EventWrapper eventWrapper : eventWrappers) {
     ret.add(eventWrapper.getEvent());
   }
   return ret;
 }
Пример #3
0
 /** Sets cursor for internal graph panel */
 public void setCursor(Cursor cursor) {
   graphAreaPanel.setCursor(cursor);
 }
Пример #4
0
 /** Adds MouseMotionListener to internal graph panel */
 public void addMouseMotionListener(MouseMotionListener l) {
   graphAreaPanel.addMouseMotionListener(l);
 }
Пример #5
0
  /** Prepares pixelized data for PlotDataProviders to draw. Should be called before paint. */
  public synchronized String updateData() {

    int width = graphAreaPanel.getWidth(); // - graphAreaPanel.getInsets().left -

    // graphAreaPanel.getInsets().right;
    logger.debug("Updating data " + this + "Width = " + width);
    graphs = new ArrayList<PlotData>();
    List<String> errorChannels = new ArrayList<String>();
    for (PlotDataProvider channel : plotDataProviders) {
      // lg.debug("processing channel: " + channel);
      PlotData data = null;
      try {
        data =
            channel.getPlotData(
                graphPanel.getTimeRange(),
                width,
                graphPanel.getFilter(),
                graphPanel.getRemoveGain(),
                graphPanel.getColorMode());
      } catch (TraceViewException e) {
        channel.setRotation(null);
        try {
          errorChannels.add(
              channel.getNetworkName()
                  + "/"
                  + channel.getStation()
                  + "/"
                  + channel.getLocationName()
                  + "/"
                  + channel.getChannelName()
                  + " - "
                  + e.getMessage());
          data =
              channel.getPlotData(
                  graphPanel.getTimeRange(),
                  width,
                  graphPanel.getFilter(),
                  graphPanel.getRemoveGain(),
                  graphPanel.getColorMode());
        } catch (TraceViewException | RemoveGainException e1) {
          // do nothing
          logger.error("TraceViewException:", e1);
        }
      } catch (RemoveGainException e) {
        try {
          errorChannels.add(
              channel.getNetworkName()
                  + "/"
                  + channel.getStation()
                  + "/"
                  + channel.getLocationName()
                  + "/"
                  + channel.getChannelName()
                  + " - "
                  + e.getMessage());
          data =
              channel.getPlotData(
                  graphPanel.getTimeRange(),
                  width,
                  graphPanel.getFilter(),
                  null,
                  graphPanel.getColorMode());
        } catch (TraceViewException | RemoveGainException e1) {
          // do nothing
          logger.error("TraceViewException:", e1);
        }
      }

      graphs.add(data);
      meanValue = data.getMeanValue();
    }

    Collections.sort(graphs);

    if (errorChannels.size() > 0) return errorChannels.get(0);
    else return "";
  }
Пример #6
0
 /** @return Necessary count of data point in graph to draw inside this panel */
 public int getPointCount() {
   return graphAreaPanel.getWidth();
 }