|
@@ -60,9 +60,10 @@ public class Module extends Group implements IGUIEventClient, ChangeListener<Bou
|
|
|
public boolean isSelected = false;
|
|
|
|
|
|
public Module(JSONObject json){
|
|
|
+
|
|
|
setFocusTraversable(true);
|
|
|
_eventHandler = GUIEventHandler.getEventHandler();
|
|
|
- _eventHandler.addEventListener(this);
|
|
|
+ _eventHandler.addEventListener(this, 5);
|
|
|
|
|
|
inputs.setSpacing(10);
|
|
|
inputs.setAlignment(Pos.TOP_LEFT);
|
|
@@ -139,7 +140,7 @@ public class Module extends Group implements IGUIEventClient, ChangeListener<Bou
|
|
|
jargs.put("subject", getJSONIdentifier());
|
|
|
jargs.put("object", jgui);
|
|
|
jmsg.put("args", jargs);
|
|
|
- _eventHandler.publishEvent("try", jmsg);
|
|
|
+ _eventHandler.publishEvent(10, "try", jmsg);
|
|
|
}
|
|
|
}
|
|
|
if(e.getButton() == MouseButton.SECONDARY) {
|
|
@@ -157,6 +158,7 @@ public class Module extends Group implements IGUIEventClient, ChangeListener<Bou
|
|
|
jID = (JSONObject)json.get("ID");
|
|
|
|
|
|
Name = jID.get("name").toString();
|
|
|
+ caption.setText(Name);
|
|
|
Appendix = (long)jID.get("appendix");
|
|
|
ID = Name +Appendix;
|
|
|
Prefix = new Vector<>();
|
|
@@ -215,8 +217,12 @@ public class Module extends Group implements IGUIEventClient, ChangeListener<Bou
|
|
|
jarray = (JSONArray)json.get("outputs");
|
|
|
}
|
|
|
}
|
|
|
+ int jsize = 0;
|
|
|
+ if(jarray != null){
|
|
|
+ jsize = jarray.size();
|
|
|
+ }
|
|
|
//remove
|
|
|
- int size = connectables.size() - jarray.size();
|
|
|
+ int size = connectables.size() - jsize;
|
|
|
for (int i = 0; i < size; ++i){
|
|
|
connectables.remove(connectables.size()-1);
|
|
|
}
|
|
@@ -226,7 +232,7 @@ public class Module extends Group implements IGUIEventClient, ChangeListener<Bou
|
|
|
((Connectable)connectables.get(i)).configure((JSONObject)jarray.get(i));
|
|
|
}
|
|
|
//add
|
|
|
- size = jarray.size()-connectables.size();
|
|
|
+ size = jsize-connectables.size();
|
|
|
for (int i = 0; i < size; ++i){
|
|
|
JSONObject jobj = (JSONObject)jarray.get(i);
|
|
|
if (ctype == ConnectableType.INPUT){
|
|
@@ -280,6 +286,17 @@ public class Module extends Group implements IGUIEventClient, ChangeListener<Bou
|
|
|
|
|
|
@Override
|
|
|
public void processGUIEvent(String event, JSONObject args) {
|
|
|
+ if (isSelected){
|
|
|
+ if (event.equals("KeyTyped")){
|
|
|
+ if (!args.containsKey("key")){return;}
|
|
|
+ String key = args.get("key").toString();
|
|
|
+ if (key.equals("DELETE")){
|
|
|
+ _eventHandler.publishEvent(5,"delete", getJSONIdentifier());
|
|
|
+ System.out.println("[Module]: delete: " + getJSONIdentifier().toString());
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
if (event == "MOUSE_PRESSED"){
|
|
|
if (!args.equals(getJSONIdentifier())){
|
|
|
isSelected = false;
|