package mdd.client; import javafx.geometry.Point2D; import javafx.scene.control.ScrollPane; import javafx.scene.control.Tab; import javafx.scene.input.*; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import java.util.Vector; public class WorkBench extends Tab implements IGUIEventClient{ private ScrollPane _scrollPane; private Processor _processor; private Point2D _pos = new Point2D(0.0f,0.0f); private GUIEventHandler _eventHandler = new GUIEventHandler(); public WorkBench(){ super(); _processor = new Processor(""); init(); } public WorkBench(Processor processor){ super(); _processor = processor; init(); //getTabPane() } private void init(){ loadExample(); setId(_processor.ID); _scrollPane = new ScrollPane(_processor.all); setContent(_scrollPane); //getTabPane() } private void loadExample(){ _processor.addModule(new Module("1")); _processor.addModule(new Module("2")); _processor.addModule(new Processor("3")); _processor.addConnection(new Connection(_processor.getModule("1").getInput("1"), _processor.getModule("3").getOutput("1"))); } @Override public GUIEventHandler getGUIEventHandler() { return _eventHandler; } @Override public void setGUIEventHandler(GUIEventHandler eventHandler) { _eventHandler = eventHandler; _processor.setGUIEventHandler(_eventHandler); } @Override public void processGUIEvent(String event, JSONObject args) { if (event == "OPEN_PROCESSOR"){ getTabPane().getTabs().add(new WorkBench((Processor) _processor.getModule(args.get("id").toString()))); } } }