Search in sources :

Example 56 with LayerRecord

use of com.revolsys.swing.map.layer.record.LayerRecord in project com.revolsys.open by revolsys.

the class MergedRecordsTableModel method valueChanged.

@Override
public void valueChanged(final ListSelectionEvent event) {
    final RecordRowTable table = getTable();
    final ListSelectionModel selectionModel = table.getSelectionModel();
    final int rowCount = super.getRowCount();
    final boolean mergedSelected = selectionModel.isSelectedIndex(rowCount);
    for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) {
        final Record record = getRecord(rowIndex);
        if (record != null) {
            if (mergedSelected || selectionModel.isSelectedIndex(rowIndex)) {
                this.layer.addHighlightedRecords((LayerRecord) record);
            } else {
                this.layer.unHighlightRecords((LayerRecord) record);
            }
        }
    }
    this.layer.zoomToHighlighted();
}
Also used : ListSelectionModel(javax.swing.ListSelectionModel) Record(com.revolsys.record.Record) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable)

Example 57 with LayerRecord

use of com.revolsys.swing.map.layer.record.LayerRecord in project com.revolsys.open by revolsys.

the class ModeSelected method getRecordsForCache.

@Override
protected List<LayerRecord> getRecordsForCache() {
    final AbstractRecordLayer layer = getLayer();
    final List<LayerRecord> selectedRecords = layer.getSelectedRecords();
    return selectedRecords;
}
Also used : AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord)

Example 58 with LayerRecord

use of com.revolsys.swing.map.layer.record.LayerRecord in project com.revolsys.open by revolsys.

the class RecordLayerHighlightedListSelectionModel method addSelectionInterval.

@Override
public void addSelectionInterval(final int index0, final int index1) {
    super.addSelectionInterval(convertRowIndexToModel(index0), convertRowIndexToModel(index1));
    final List<LayerRecord> records = getObjects(index0, index1);
    final AbstractRecordLayer layer = this.model.getLayer();
    layer.addHighlightedRecords(records);
}
Also used : AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord)

Example 59 with LayerRecord

use of com.revolsys.swing.map.layer.record.LayerRecord in project com.revolsys.open by revolsys.

the class RecordLayerTableModel method getMenu.

@Override
public BaseJPopupMenu getMenu(final int rowIndex, final int columnIndex) {
    final LayerRecord record = getRecord(rowIndex);
    if (record != null) {
        final AbstractRecordLayer layer = getLayer();
        if (layer != null) {
            LayerRecordMenu.setEventRecord(record);
            if (isUseRecordMenu()) {
                final LayerRecordMenu menu = record.getMenu();
                final BaseJPopupMenu popupMenu = menu.newJPopupMenu();
                popupMenu.addSeparator();
                final RecordLayerTable table = getTable();
                final boolean cellEditable = isCellEditable(rowIndex, columnIndex);
                final Object value = getValueAt(rowIndex, columnIndex);
                final boolean canCopy = Property.hasValue(value);
                if (cellEditable) {
                    final JMenuItem cutMenu = RunnableAction.newMenuItem("Cut Field Value", "cut", table::cutFieldValue);
                    cutMenu.setEnabled(canCopy);
                    popupMenu.add(cutMenu);
                }
                final JMenuItem copyMenu = RunnableAction.newMenuItem("Copy Field Value", "page_copy", table::copyFieldValue);
                copyMenu.setEnabled(canCopy);
                popupMenu.add(copyMenu);
                if (cellEditable) {
                    popupMenu.add(RunnableAction.newMenuItem("Paste Field Value", "paste_plain", table::pasteFieldValue));
                }
                return popupMenu;
            } else {
                return super.getMenu().newJPopupMenu();
            }
        }
    }
    return null;
}
Also used : LayerRecordMenu(com.revolsys.swing.map.layer.record.LayerRecordMenu) BaseJPopupMenu(com.revolsys.swing.menu.BaseJPopupMenu) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) RecordLayerTable(com.revolsys.swing.map.layer.record.table.RecordLayerTable) JMenuItem(javax.swing.JMenuItem)

Example 60 with LayerRecord

use of com.revolsys.swing.map.layer.record.LayerRecord in project com.revolsys.open by revolsys.

the class RecordLayerTableModel method isCellEditable.

@Override
protected boolean isCellEditable(final int rowIndex, final int columnIndex, final Record record) {
    final AbstractRecordLayer layer = getLayer();
    final LayerRecord layerRecord = (LayerRecord) record;
    if (layer.isDeleted(layerRecord)) {
        return false;
    } else if (layer.isCanEditRecords() || layer.isNew(layerRecord) && layer.isCanAddRecords()) {
        return super.isCellEditable(rowIndex, columnIndex, record);
    } else {
        return false;
    }
}
Also used : AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord)

Aggregations

LayerRecord (com.revolsys.swing.map.layer.record.LayerRecord)79 AbstractRecordLayer (com.revolsys.swing.map.layer.record.AbstractRecordLayer)34 Geometry (com.revolsys.geometry.model.Geometry)15 IdentifierProxyLayerRecord (com.revolsys.swing.map.layer.record.IdentifierProxyLayerRecord)15 NewProxyLayerRecord (com.revolsys.swing.map.layer.record.NewProxyLayerRecord)15 BoundingBox (com.revolsys.geometry.model.BoundingBox)11 Record (com.revolsys.record.Record)11 ArrayList (java.util.ArrayList)11 List (java.util.List)10 Test (org.junit.Test)10 GeometryFactory (com.revolsys.geometry.model.GeometryFactory)7 Point (com.revolsys.geometry.model.Point)6 Condition (com.revolsys.record.query.Condition)4 LayerRecordMenu (com.revolsys.swing.map.layer.record.LayerRecordMenu)4 CloseLocation (com.revolsys.swing.map.overlay.CloseLocation)4 RecordRowTable (com.revolsys.swing.table.record.RecordRowTable)4 LineString (com.revolsys.geometry.model.LineString)3 RecordDefinition (com.revolsys.record.schema.RecordDefinition)3 AbstractLayer (com.revolsys.swing.map.layer.AbstractLayer)3 Layer (com.revolsys.swing.map.layer.Layer)3