package com.jsonde.gui.components.listpane;
import javax.swing.*;
import java.util.LinkedList;
import java.util.List;
public class DefaultListPaneModel implements ListPaneModel {
private List<String> labelsList;
private List<Icon> iconsList;
private List<Action> actionsList;
public DefaultListPaneModel() {
this.labelsList = new LinkedList<String>();
this.iconsList = new LinkedList<Icon>();
this.actionsList = new LinkedList<Action>();
}
public int getSize() {
return labelsList.size();
}
public String getLabelAt(int index) {
return labelsList.get(index);
}
public Icon getIconAt(int index) {
return iconsList.get(index);
}
public Action getActionAt(int index) {
return actionsList.get(index);
}
public void addListPaneItem(String label, Icon icon) {
labelsList.add(label);
iconsList.add(icon);
actionsList.add(null);
}
public void addListPaneItem(Action action) {
labelsList.add((String) action.getValue(Action.NAME));
iconsList.add((Icon) action.getValue(Action.LARGE_ICON_KEY));
actionsList.add(action);
}
}