private void readEvents() {

    frame
        .getGlassPane()
        .setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR));

    // run event reader
    runEventReader(currentEventFile);

    // initialize map viewer
    if (this.jMapViewer == null) loadMapView();

    // get data from eventhandler (if not null)
    if (eventHandler != null) {
      eventHandler.setColorationMode(this.colorationMode);
      eventHandler.setTransparency(this.cellTransparency);
      eventHandler.setK(k);

      // get data
      EventData data = eventHandler.getData();

      // update data in both the map viewer and the graphs
      jMapViewer.updateEventData(data);
      graphPanel.updateData(data);
      keyPanel.updateData(data);
    }

    frame
        .getGlassPane()
        .setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR));
  }
  private void setMode(Mode mode) {
    this.mode = mode;

    if (jMapViewer != null) jMapViewer.setMode(mode);

    if (keyPanel != null) keyPanel.setMode(mode);
  }