content: /**
   * Copied and adapted from plugin
   * <a href="https://github.com/neueda/jetbrains-plugin-graph-database-support">Graph Database Support</a>
   * by Neueda Technologies, Ltd.
   * Modified by Alberto Venturini, 2022
   */
  package com.albertoventurini.graphdbplugin.visualization;
  
  import com.albertoventurini.graphdbplugin.database.api.data.GraphNode;
  import com.albertoventurini.graphdbplugin.database.api.data.GraphRelationship;
  import com.albertoventurini.graphdbplugin.visualization.events.EventType;
  import com.albertoventurini.graphdbplugin.visualization.events.NodeCallback;
  import com.albertoventurini.graphdbplugin.visualization.events.RelationshipCallback;
  
  import javax.swing.*;
  
  public interface VisualizationApi {
  
      JComponent getCanvas();
  
      void addNode(GraphNode node);
  
      void addRelation(GraphRelationship relationship);
  
      void clear();
  
      void paint();
  
      void stop();
  
      void addNodeListener(EventType type, NodeCallback action);
  
      void addEdgeListener(EventType type, RelationshipCallback action);
  
      void resetPan();
  
      void updateSettings();
  }
  