/*
* SK's Minecraft Launcher
* Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors
* Please see LICENSE.txt for license information.
*/
package com.skcraft.launcher.buildtools.project;
import com.skcraft.launcher.builder.FeaturePattern;
import javax.swing.table.AbstractTableModel;
import java.util.List;
class FeaturePatternTableModel extends AbstractTableModel {
private final List<FeaturePattern> features;
public FeaturePatternTableModel(List<FeaturePattern> features) {
this.features = features;
}
@Override
public String getColumnName(int columnIndex) {
switch (columnIndex) {
case 0:
return "Feature";
case 1:
return "Recommendation";
case 2:
return "Default?";
default:
return null;
}
}
@Override
public Class<?> getColumnClass(int columnIndex) {
switch (columnIndex) {
case 0:
return String.class;
case 1:
return String.class;
case 2:
return String.class;
default:
return null;
}
}
@Override
public void setValueAt(Object value, int rowIndex, int columnIndex) {
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
@Override
public int getRowCount() {
return features.size();
}
@Override
public int getColumnCount() {
return 3;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) {
case 0:
return features.get(rowIndex).getFeature().getName();
case 1:
return features.get(rowIndex).getFeature().getRecommendation();
case 2:
return features.get(rowIndex).getFeature().isSelected() ? "Yes" : "";
default:
return null;
}
}
public FeaturePattern getFeature(int index) {
return features.get(index);
}
public void addFeature(FeaturePattern pattern) {
features.add(pattern);
fireTableDataChanged();
}
public void removeFeature(int index) {
features.remove(index);
fireTableDataChanged();
}
}