use of javax.swing.event.TableModelListener in project WorldPainter by Captain-Chaos.
the class TunnelFloorLayersTableModel method removeLayer.
public void removeLayer(int row) {
Layer layer = layers.remove(row);
settings.remove(layer);
TableModelEvent event = new TableModelEvent(this, row, row, TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE);
for (TableModelListener listener : listeners) {
listener.tableChanged(event);
}
}
use of javax.swing.event.TableModelListener in project WorldPainter by Captain-Chaos.
the class WorldHistoryTableModel method filter.
private void filter() {
filteredHistory = history.stream().filter((entry) -> includeLoadsSaves || ((entry.key != HistoryEntry.WORLD_LOADED) && (entry.key != HistoryEntry.WORLD_SAVED))).filter((entry) -> includeExportsMerges || ((entry.key != HistoryEntry.WORLD_EXPORTED_FULL) && (entry.key != HistoryEntry.WORLD_EXPORTED_PARTIAL) && (entry.key != HistoryEntry.WORLD_MERGED_FULL) && (entry.key != HistoryEntry.WORLD_MERGED_PARTIAL))).collect(Collectors.toList());
TableModelEvent event = new TableModelEvent(this);
for (TableModelListener listener : listeners) {
listener.tableChanged(event);
}
}
use of javax.swing.event.TableModelListener in project WorldPainter by Captain-Chaos.
the class LayerMapTableModel method setValueAt.
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
switch(columnIndex) {
case COLUMN_LAYER:
layers.set(rowIndex, (Layer) aValue);
break;
case COLUMN_FROM:
HeightFilter oldFilter = filters.get(rowIndex);
filters.set(rowIndex, new HeightFilter(maxHeight, (Integer) aValue, oldFilter.getStopHeight(), oldFilter.isFeather()));
break;
case COLUMN_TO:
oldFilter = filters.get(rowIndex);
filters.set(rowIndex, new HeightFilter(maxHeight, oldFilter.getStartHeight(), (Integer) aValue, oldFilter.isFeather()));
break;
case COLUMN_FEATHER:
oldFilter = filters.get(rowIndex);
filters.set(rowIndex, new HeightFilter(maxHeight, oldFilter.getStartHeight(), oldFilter.getStopHeight(), (Boolean) aValue));
break;
default:
throw new IndexOutOfBoundsException("columnIndex " + columnIndex);
}
TableModelEvent event = new TableModelEvent(this, rowIndex, rowIndex, columnIndex);
for (TableModelListener listener : listeners) {
listener.tableChanged(event);
}
}
use of javax.swing.event.TableModelListener in project WorldPainter by Captain-Chaos.
the class TerrainRangesTableModel method deleteRow.
public void deleteRow(int row) {
System.arraycopy(levels, row + 1, levels, row, rows - 1 - row);
System.arraycopy(terrains, row + 1, terrains, row, rows - 1 - row);
rows--;
TableModelEvent event = new TableModelEvent(this, row, row, TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE);
for (TableModelListener listener : listeners) {
listener.tableChanged(event);
}
notifyChangeListener();
}
use of javax.swing.event.TableModelListener in project WorldPainter by Captain-Chaos.
the class TerrainRangesTableModel method addRow.
public void addRow(int level, Terrain terrain) {
SortedMap<Integer, Terrain> sortedMap = new TreeMap<>();
sortedMap.put(level, terrain);
for (int i = 0; i < rows; i++) {
sortedMap.put(levels[i], terrains[i]);
}
rows++;
if (rows > levels.length) {
levels = new int[rows];
terrains = new Terrain[rows];
}
int i = 0;
for (Map.Entry<Integer, Terrain> row : sortedMap.entrySet()) {
levels[i] = row.getKey();
terrains[i] = row.getValue();
i++;
}
TableModelEvent event = new TableModelEvent(this);
for (TableModelListener listener : listeners) {
listener.tableChanged(event);
}
notifyChangeListener();
}
Aggregations