package org.concord.datagraph.analysis;

import java.awt.Component;
import java.util.ArrayList;

import org.concord.data.state.OTDataStore;
import org.concord.datagraph.analysis.rubric.GraphRubric;
import org.concord.datagraph.analysis.rubric.ResultSet;
import org.concord.datagraph.state.OTDataCollector;
import org.concord.framework.otrunk.OTObjectList;
import org.concord.graph.util.state.OTHideableAnnotation;

public interface GraphAnalyzer {
    public Graph getSegments(OTDataStore dataStore, int xChannel, int yChannel, double tolerance) throws IndexOutOfBoundsException;
    public GraphRubric buildRubric(OTObjectList rubric);
    public ResultSet compareGraphs(GraphRubric expected, Graph received);
    public String getHtmlReasons(ResultSet results);
    public void displayHtmlReasonsPopup(Component parent, ResultSet results);
    public ArrayList<OTHideableAnnotation> annotateResults(OTDataCollector studentObject, ResultSet scoreResults);
}

@@ -299,16 +299,68 @@
 lector;%0A
+import org.concord.datagraph.state.OTDataGraphable;%0A
 import o
@@ -966,21 +966,21 @@
 tor 
-studentObj
+dataColl
 ect
+or
 , Re
@@ -1002,10 +1002,101 @@
 sults);%0A
+    public OTDataGraphable drawSegmentResults(OTDataCollector dataCollector, Graph graph);%0A
 %7D%0A

Add support for drawing the interpreted segments into a data collector.