package nars.gui.output.graph.deprecated; //package nars.gui.output.graph; // //import automenta.vivisect.swing.NPanel; //import automenta.vivisect.swing.Swing; //import java.awt.BorderLayout; //import java.awt.Color; //import javax.swing.SwingUtilities; //import nars.core.EventEmitter.Observer; //import nars.core.Events; //import nars.core.NAR; //import nars.entity.Sentence; //import nars.inference.GraphExecutive; //import nars.language.Term; //import nars.util.graph.SentenceGraph; //import nars.util.graph.SentenceGraph.GraphChange; //import org.jgrapht.graph.DirectedMultigraph; // ///** // * // * @author me // */ //public class SentenceGraphPanel extends NPanel implements Observer { // // private final SentenceGraph sentence; // private ProcessingGraphPanel2 pgraph; // int minFrameTime = 1500; //ms // long lastFrame = 0; // private final NAR nar; // private DirectedMultigraph<Term,Sentence> sentenceCopy; // private boolean changed; // // // public SentenceGraphPanel(NAR nar, SentenceGraph graph) { // super(new BorderLayout()); // // this.nar = nar; // this.sentence = graph; // this.sentenceCopy = (DirectedMultigraph) sentence.clone(); // // // pgraph = new ProcessingGraphPanel2<Term,Sentence>() { // @Override public DirectedMultigraph<Term,Sentence> getGraph() { // return sentenceCopy; // } // // @Override // public int edgeColor(final Sentence edge) { // float freq = edge.truth.getFrequency(); // float conf = edge.truth.getConfidence(); // //return PGraphPanel.getColor(edge.getClass().getSimpleName(), alpha); // return Color.HSBtoRGB(0.2f + freq*0.5f, 0.8f, 0.5f + conf * 0.5f); // } // // @Override // public float edgeWeight(final Sentence edge) { // //edge.truth.getFrequency() * edge.truth.getConfidence() *14f; // float w = (float)graph.getEdgeWeight(edge); // if (w!=0) { // return 1.0f / (w) * 14f; // } // else // return 1; // } // // @Override // public int vertexColor(final Term vertex) { // float cp = (float)GraphExecutive.getEffectivePriority(nar.memory, vertex); // //float alpha = 0.5f + 0.5f * cp; // //return PGraphPanel.getColor(vertex.getClass().getSimpleName(), alpha); // //return Color.getHSBColor((float)hue,0.7f,0.8f).getRGB(); // return Swing.getColor(vertex.getClass().hashCode(), cp/2f + 0.5f, 0.95f).getRGB(); // // } // }; // // add(pgraph, BorderLayout.CENTER); // // } // // final Runnable update = new Runnable() { // // @Override // public void run() { // pgraph.update(); // pgraph.redraw(); // lastFrame = System.currentTimeMillis(); // } // // }; // // @Override // protected void onShowing(boolean showing) { // if (showing) { // sentence.event.on(GraphChange.class, this); // nar.on(Events.FrameEnd.class, this); // this.sentence.start(); // } // else { // sentence.event.off(GraphChange.class, this); // nar.off(Events.FrameEnd.class, this); // this.sentence.stop(); // } // } // // @Override // public void event(Class event, Object[] arguments) { // if ((event == Events.FrameEnd.class) && (changed) && (sentence!=null)) { // // changed = false; // // long now = System.currentTimeMillis(); // if ((pgraph!=null) && (now - lastFrame > minFrameTime)) { // sentenceCopy = (DirectedMultigraph) sentence.clone(); // SwingUtilities.invokeLater(update); // } // // } // else { // //graph add/remove event // changed = true; // } // } // //}