import gdxstudio.SceneEditor;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import scene2d.EventType;
import scene2d.ImageJson;
public class EventPanel extends BaseTable {
private static final long serialVersionUID = 1L;
JComboBox<String> eventComboBox = createComboBox();
JComboBox<String> onEventComboBox = createComboBox();
JComboBox<String> sceneComboBox = createComboBox();
editors.add(new DefaultCellEditor(eventComboBox));
editors.add(new DefaultCellEditor(onEventComboBox));
editors.add(new DefaultCellEditor(sceneComboBox));
for(EventType event: EventType.values())
eventComboBox.addItem(event.toString());
for(Scene.OnEventType onEvent: Scene.OnEventType.values())
onEventComboBox.addItem(onEvent.toString());
for(String scene: Scene.scenesMap.keys())
sceneComboBox.addItem(scene);
public void clear(String... names){
super.clear("Event", "onEvent", "Scene");
public void update(String... propertyNames){
if(SceneEditor.selectedActor instanceof ImageJson){
ImageJson img = (ImageJson) SceneEditor.selectedActor;
super.update("Event", img.evtType.toString(), "onEvent", ""+img.onEvtType.toString(),
"Scene", ""+img.eventScene);
sceneComboBox.removeAllItems();
for(String scene: Scene.scenesMap.keys())
sceneComboBox.addItem(scene);
public void setProperty(String key, String value){
if(key.isEmpty() || value.isEmpty())
if(SceneEditor.selectedActor instanceof ImageJson){
ImageJson img = (ImageJson)SceneEditor.selectedActor;
img.evtType = EventType.valueOf(value);
if(img.evtType == EventType.None){
onEventComboBox.setEnabled(false);
else if(img.evtType == EventType.SceneCreated){
onEventComboBox.setSelectedItem(Scene.OnEventType.DoEffect.toString());
onEventComboBox.setEnabled(false);
onEventComboBox.setEnabled(true);
img.onEvtType = Scene.OnEventType.valueOf(value);
if(img.onEvtType == Scene.OnEventType.DoEffect){
sceneComboBox.setEnabled(false);
sceneComboBox.setEnabled(true);
case "Scene": img.eventScene = value;break;