package com.revolsys.swing.map.layer.record.table.model; import java.util.List; import javax.swing.Icon; import com.revolsys.swing.Icons; import com.revolsys.swing.map.layer.record.AbstractRecordLayer; import com.revolsys.swing.map.layer.record.LayerRecord; import com.revolsys.util.Property; public class ModeAllList extends ModeAbstractCached { public ModeAllList(final ListRecordLayerTableModel model) { super(RecordLayerTableModel.MODE_RECORDS_ALL, model); } @Override public void activate() { final AbstractRecordLayer layer = getLayer(); addListeners( // Property.addListenerNewValueSource(layer, AbstractRecordLayer.RECORDS_INSERTED, this::addCachedRecords), // newRecordsDeletedListener(layer) // ); for (final String propertyName : new String[] { "filter", AbstractRecordLayer.RECORDS_CHANGED }) { addListeners( // Property.addListenerRunnable(layer, propertyName, this::refresh)); } super.activate(); } @Override public Icon getIcon() { return Icons.getIcon("table_filter"); } @Override protected List<LayerRecord> getRecordsForCache() { final AbstractRecordLayer layer = getLayer(); return layer.getRecords(); } @Override public String getTitle() { return "Show All Records"; } @Override public boolean isFilterByBoundingBoxSupported() { return true; } }