Search in sources :

Example 31 with TableModelListener

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);
    }
}
Also used : TableModelEvent(javax.swing.event.TableModelEvent) TableModelListener(javax.swing.event.TableModelListener) Layer(org.pepsoft.worldpainter.layers.Layer)

Example 32 with TableModelListener

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);
    }
}
Also used : List(java.util.List) TableModelEvent(javax.swing.event.TableModelEvent) Date(java.util.Date) World2(org.pepsoft.worldpainter.World2) TableModelListener(javax.swing.event.TableModelListener) Collectors(java.util.stream.Collectors) DateFormat(java.text.DateFormat) ArrayList(java.util.ArrayList) TableModel(javax.swing.table.TableModel) TableModelEvent(javax.swing.event.TableModelEvent) TableModelListener(javax.swing.event.TableModelListener)

Example 33 with TableModelListener

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);
    }
}
Also used : TableModelEvent(javax.swing.event.TableModelEvent) TableModelListener(javax.swing.event.TableModelListener) HeightFilter(org.pepsoft.worldpainter.themes.HeightFilter)

Example 34 with TableModelListener

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();
}
Also used : TableModelEvent(javax.swing.event.TableModelEvent) TableModelListener(javax.swing.event.TableModelListener)

Example 35 with TableModelListener

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();
}
Also used : Terrain(org.pepsoft.worldpainter.Terrain) TableModelEvent(javax.swing.event.TableModelEvent) TableModelListener(javax.swing.event.TableModelListener) TreeMap(java.util.TreeMap) TreeMap(java.util.TreeMap) Map(java.util.Map) SortedMap(java.util.SortedMap)

Aggregations

TableModelListener (javax.swing.event.TableModelListener)68 TableModelEvent (javax.swing.event.TableModelEvent)54 JScrollPane (javax.swing.JScrollPane)11 Iterator (java.util.Iterator)9 JTable (javax.swing.JTable)9 ListSelectionEvent (javax.swing.event.ListSelectionEvent)9 ActionEvent (java.awt.event.ActionEvent)8 ListSelectionListener (javax.swing.event.ListSelectionListener)8 Dimension (java.awt.Dimension)7 ActionListener (java.awt.event.ActionListener)7 JButton (javax.swing.JButton)7 JPanel (javax.swing.JPanel)7 DefaultTableModel (javax.swing.table.DefaultTableModel)6 TableColumn (javax.swing.table.TableColumn)6 ArrayList (java.util.ArrayList)5 GridBagConstraints (java.awt.GridBagConstraints)4 KeyShortcut (com.igormaznitsa.mindmap.swing.panel.utils.KeyShortcut)3 BorderLayout (java.awt.BorderLayout)3 Insets (java.awt.Insets)3 MouseAdapter (java.awt.event.MouseAdapter)3