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.datagraph.state.OTDataGraphable;
import org.concord.framework.otrunk.OTObjectList;
import org.concord.graph.util.state.OTHideableAnnotation;

public interface GraphAnalyzer {
    public enum AnnotationStyle { ONE, TWO, THREE, FOUR }
    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 dataCollector, ResultSet scoreResults, AnnotationStyle style);
    public ArrayList<OTDataGraphable> drawSegmentResults(OTDataCollector dataCollector, Graph graph);
}

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.datagraph.state.OTDataGraphable;
import org.concord.framework.otrunk.OTObjectList;
import org.concord.graph.util.state.OTHideableAnnotation;

public interface GraphAnalyzer {
    public enum AnnotationStyle { ONE, TWO, THREE }
    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 dataCollector, ResultSet scoreResults, AnnotationStyle style);
    public ArrayList<OTDataGraphable> drawSegmentResults(OTDataCollector dataCollector, Graph graph);
}

--- 
+++ 
@@ -12,7 +12,7 @@
 import org.concord.graph.util.state.OTHideableAnnotation;
 
 public interface GraphAnalyzer {
-    public enum AnnotationStyle { ONE, TWO, THREE }
+    public enum AnnotationStyle { ONE, TWO, THREE, FOUR }
     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);
Add a fourth graph annotation style which highlights optional segments in blue.

git-svn-id: a0d2519504059b70a86a1ce51b726c2279190bad@25234 6e01202a-0783-4428-890a-84243c50cc2b
