code: /*--------------------------------------------------------------*
    Copyright (C) 2006-2020 OpenSim Ltd.
  
    This file is distributed WITHOUT ANY WARRANTY. See the file
    'License' for details on this and other legal matters.
  *--------------------------------------------------------------*/
  
  package org.omnetpp.scave.pychart;
  
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
  
  /**
   * This is the interface used internally by the omnetpp.scave.impl_ide.plot
   * Python module, to be implemented in Java.
   *
   *  Has methods to receive pickled data to show on native plots, and to set
   *  its visual properties, and other miscellaneous info.
   */
  public interface INativeChartPlotter {
      void plotScalars(byte[] pickledData, Map<String, String> props);
      void plotVectors(byte[] pickledData, Map<String, String> props);
      void plotHistograms(byte[] pickledData, Map<String, String> props);
  
      boolean isEmpty();
  
      void setProperty(String key, String value);
      void setProperties(Map<String, String> properties);
  
      void setGroupTitles(List<String> titles);
  
      Set<String> getSupportedPropertyKeys();
  }
  