/*
* Here comes the text of your license
* Each line should be prefixed with *
*/
package nars.gui.output.graph;
import automenta.vivisect.swing.NPanel;
import automenta.vivisect.swing.NSlider;
import automenta.vivisect.swing.PCanvas;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JComponent;
import javax.swing.JPanel;
import nars.NAR;
import nars.gui.WrapLayout;
/**
*
* @author me
*/
public class NARGraphPanel extends NPanel {
private final NARGraphVis vis;
private final PCanvas canvas;
private final JPanel visControl, layoutControl, canvasControl;
private final JComponent menu;
private final JPanel graphControl;
public NARGraphPanel(NAR n) {
super(new BorderLayout());
vis = new NARGraphVis(n) {
@Override public void setMode(NARGraphVis.GraphMode g) {
super.setMode(g);
doLayout();
updateUI();
}
};
canvas = new PCanvas(vis);
visControl = vis.newStylePanel();
canvasControl = newCanvasPanel();
layoutControl = vis.newLayoutPanel();
graphControl = vis.newGraphPanel();
menu = new JPanel(new WrapLayout(FlowLayout.LEFT));
menu.setOpaque(false);
menu.add(graphControl);
menu.add(visControl);
menu.add(canvasControl);
menu.add(layoutControl);
add(canvas, BorderLayout.CENTER);
add(menu, BorderLayout.NORTH);
}
@Override protected void onShowing(boolean showing) {
}
protected JPanel newCanvasPanel() {
JPanel m = new JPanel(new FlowLayout(FlowLayout.LEFT));
NSlider blur = new NSlider(0, 0, 1.0f) {
@Override
public void onChange(float v) {
canvas.setMotionBlur(v);
}
};
blur.setPrefix("Blur: ");
blur.setPreferredSize(new Dimension(60, 25));
m.add(blur);
return m;
}
}