package nodebox.client.port; import nodebox.node.Port; import javax.swing.*; public abstract class AbstractPortControl extends JComponent implements PortControl { protected String nodePath; protected Port port; private String displayName; private OnValueChangeListener onValueChangeListener; protected AbstractPortControl(String nodePath, Port port) { this.nodePath = nodePath; this.port = port; displayName = port.getName(); } public String getDisplayName() { return displayName; } public void setDisplayName(String displayName) { this.displayName = displayName; } public Port getPort() { return port; } public void setPortValue(Object value) { if (onValueChangeListener != null) onValueChangeListener.onValueChange(nodePath, port.getName(), value); } public void setValueChangeListener(OnValueChangeListener l) { onValueChangeListener = l; } public OnValueChangeListener getValueChangeListener() { return onValueChangeListener; } }