Search in sources :

Example 1 with HighlightPredicate

use of org.jdesktop.swingx.decorator.HighlightPredicate in project com.revolsys.open by revolsys.

the class RecordLayerTable method addModifiedRecordHighlighter.

@Override
protected void addModifiedRecordHighlighter() {
    final RecordLayerTableModel model = getModel();
    final HighlightPredicate predicate = (renderer, adapter) -> {
        try {
            final int rowIndex = adapter.convertRowIndexToModel(adapter.row);
            final LayerRecord record = model.getRecord(rowIndex);
            final AbstractRecordLayer layer = model.getLayer();
            return layer.isModified(record);
        } catch (final Throwable e) {
            return false;
        }
    };
    addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.EVEN), WebColors.newAlpha(WebColors.LimeGreen, 127), WebColors.Black, WebColors.newAlpha(WebColors.DarkGreen, 191), Color.WHITE));
    addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.ODD), WebColors.LimeGreen, WebColors.Black, WebColors.DarkGreen, Color.WHITE));
}
Also used : RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) Color(java.awt.Color) ListSelectionModel(javax.swing.ListSelectionModel) DataFlavor(java.awt.datatransfer.DataFlavor) TextAttribute(java.awt.font.TextAttribute) SwingUtil(com.revolsys.swing.SwingUtil) Transferable(java.awt.datatransfer.Transferable) LayerRecordMenu(com.revolsys.swing.map.layer.record.LayerRecordMenu) RowFilter(javax.swing.RowFilter) JTableHeader(javax.swing.table.JTableHeader) TableColumnExt(org.jdesktop.swingx.table.TableColumnExt) EventObject(java.util.EventObject) RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) WebColors(com.revolsys.awt.WebColors) ClipboardUtil(com.revolsys.swing.dnd.ClipboardUtil) Map(java.util.Map) StringSelection(java.awt.datatransfer.StringSelection) TableColumnModelEvent(javax.swing.event.TableColumnModelEvent) RowSorter(javax.swing.RowSorter) ListSelectionEvent(javax.swing.event.ListSelectionEvent) RecordRowTableModel(com.revolsys.swing.table.record.model.RecordRowTableModel) PropertyChangeEvent(java.beans.PropertyChangeEvent) TableModel(javax.swing.table.TableModel) JComponent(javax.swing.JComponent) ChangeEvent(javax.swing.event.ChangeEvent) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) TableColumnModelExtListener(org.jdesktop.swingx.event.TableColumnModelExtListener) TableModelEvent(javax.swing.event.TableModelEvent) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) FontHighlighter(org.jdesktop.swingx.decorator.FontHighlighter) TablePanel(com.revolsys.swing.table.TablePanel) Font(java.awt.Font) TableColumn(javax.swing.table.TableColumn) TableColumnModelExt(org.jdesktop.swingx.table.TableColumnModelExt) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) Geometry(com.revolsys.geometry.model.Geometry) RecordTableCellEditor(com.revolsys.swing.table.record.editor.RecordTableCellEditor) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate)

Example 2 with HighlightPredicate

use of org.jdesktop.swingx.decorator.HighlightPredicate in project com.revolsys.open by revolsys.

the class RecordLayerTable method addDeletedRecordHighlighter.

@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
protected void addDeletedRecordHighlighter() {
    final RecordLayerTableModel model = getModel();
    final HighlightPredicate predicate = (renderer, adapter) -> {
        try {
            final int rowIndex = adapter.convertRowIndexToModel(adapter.row);
            return model.isDeleted(rowIndex);
        } catch (final Throwable e) {
        }
        return false;
    };
    addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.EVEN), WebColors.newAlpha(WebColors.Pink, 127), WebColors.FireBrick, WebColors.LightCoral, WebColors.FireBrick));
    addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.ODD), WebColors.Pink, WebColors.FireBrick, WebColors.Crimson, WebColors.White));
    final Font tableFont = getFont();
    final Map<TextAttribute, Object> fontAttributes = (Map) tableFont.getAttributes();
    fontAttributes.put(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON);
    final Font font = new Font(fontAttributes);
    final FontHighlighter fontHighlighter = new FontHighlighter(predicate, font);
    addHighlighter(fontHighlighter);
}
Also used : RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) Color(java.awt.Color) ListSelectionModel(javax.swing.ListSelectionModel) DataFlavor(java.awt.datatransfer.DataFlavor) TextAttribute(java.awt.font.TextAttribute) SwingUtil(com.revolsys.swing.SwingUtil) Transferable(java.awt.datatransfer.Transferable) LayerRecordMenu(com.revolsys.swing.map.layer.record.LayerRecordMenu) RowFilter(javax.swing.RowFilter) JTableHeader(javax.swing.table.JTableHeader) TableColumnExt(org.jdesktop.swingx.table.TableColumnExt) EventObject(java.util.EventObject) RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) WebColors(com.revolsys.awt.WebColors) ClipboardUtil(com.revolsys.swing.dnd.ClipboardUtil) Map(java.util.Map) StringSelection(java.awt.datatransfer.StringSelection) TableColumnModelEvent(javax.swing.event.TableColumnModelEvent) RowSorter(javax.swing.RowSorter) ListSelectionEvent(javax.swing.event.ListSelectionEvent) RecordRowTableModel(com.revolsys.swing.table.record.model.RecordRowTableModel) PropertyChangeEvent(java.beans.PropertyChangeEvent) TableModel(javax.swing.table.TableModel) JComponent(javax.swing.JComponent) ChangeEvent(javax.swing.event.ChangeEvent) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) TableColumnModelExtListener(org.jdesktop.swingx.event.TableColumnModelExtListener) TableModelEvent(javax.swing.event.TableModelEvent) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) FontHighlighter(org.jdesktop.swingx.decorator.FontHighlighter) TablePanel(com.revolsys.swing.table.TablePanel) Font(java.awt.Font) TableColumn(javax.swing.table.TableColumn) TableColumnModelExt(org.jdesktop.swingx.table.TableColumnModelExt) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) Geometry(com.revolsys.geometry.model.Geometry) RecordTableCellEditor(com.revolsys.swing.table.record.editor.RecordTableCellEditor) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) TextAttribute(java.awt.font.TextAttribute) FontHighlighter(org.jdesktop.swingx.decorator.FontHighlighter) EventObject(java.util.EventObject) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) Map(java.util.Map) Font(java.awt.Font)

Example 3 with HighlightPredicate

use of org.jdesktop.swingx.decorator.HighlightPredicate in project com.revolsys.open by revolsys.

the class RecordLayerTable method addNewRecordHighlighter.

@Override
protected void addNewRecordHighlighter() {
    final RecordLayerTableModel model = getModel();
    final HighlightPredicate predicate = (renderer, adapter) -> {
        try {
            final int rowIndex = adapter.convertRowIndexToModel(adapter.row);
            final LayerRecord record = model.getRecord(rowIndex);
            final AbstractRecordLayer layer = model.getLayer();
            return layer.isNew(record);
        } catch (final Throwable e) {
            return false;
        }
    };
    addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.EVEN), WebColors.newAlpha(WebColors.LightSkyBlue, 127), WebColors.Black, WebColors.newAlpha(WebColors.RoyalBlue, 191), Color.WHITE));
    addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.ODD), WebColors.LightSkyBlue, WebColors.Black, WebColors.RoyalBlue, Color.WHITE));
}
Also used : RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) Color(java.awt.Color) ListSelectionModel(javax.swing.ListSelectionModel) DataFlavor(java.awt.datatransfer.DataFlavor) TextAttribute(java.awt.font.TextAttribute) SwingUtil(com.revolsys.swing.SwingUtil) Transferable(java.awt.datatransfer.Transferable) LayerRecordMenu(com.revolsys.swing.map.layer.record.LayerRecordMenu) RowFilter(javax.swing.RowFilter) JTableHeader(javax.swing.table.JTableHeader) TableColumnExt(org.jdesktop.swingx.table.TableColumnExt) EventObject(java.util.EventObject) RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) WebColors(com.revolsys.awt.WebColors) ClipboardUtil(com.revolsys.swing.dnd.ClipboardUtil) Map(java.util.Map) StringSelection(java.awt.datatransfer.StringSelection) TableColumnModelEvent(javax.swing.event.TableColumnModelEvent) RowSorter(javax.swing.RowSorter) ListSelectionEvent(javax.swing.event.ListSelectionEvent) RecordRowTableModel(com.revolsys.swing.table.record.model.RecordRowTableModel) PropertyChangeEvent(java.beans.PropertyChangeEvent) TableModel(javax.swing.table.TableModel) JComponent(javax.swing.JComponent) ChangeEvent(javax.swing.event.ChangeEvent) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) TableColumnModelExtListener(org.jdesktop.swingx.event.TableColumnModelExtListener) TableModelEvent(javax.swing.event.TableModelEvent) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) FontHighlighter(org.jdesktop.swingx.decorator.FontHighlighter) TablePanel(com.revolsys.swing.table.TablePanel) Font(java.awt.Font) TableColumn(javax.swing.table.TableColumn) TableColumnModelExt(org.jdesktop.swingx.table.TableColumnModelExt) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) Geometry(com.revolsys.geometry.model.Geometry) RecordTableCellEditor(com.revolsys.swing.table.record.editor.RecordTableCellEditor) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate)

Example 4 with HighlightPredicate

use of org.jdesktop.swingx.decorator.HighlightPredicate in project com.revolsys.open by revolsys.

the class RecordLayerErrorsTableModel method newPanel.

public TablePanel newPanel() {
    final RecordRowTable table = new RecordRowTable(this);
    table.setVisibleRowCount(this.getRowCount() + 1);
    table.setSortable(true);
    table.getSelectionModel().addListSelectionListener(this);
    table.resizeColumnsToContent();
    final HighlightPredicate predicate = (renderer, adapter) -> {
        final int columnIndex = adapter.convertColumnIndexToModel(adapter.column);
        return columnIndex == 0;
    };
    table.addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.EVEN), WebColors.newAlpha(WebColors.Pink, 127), WebColors.FireBrick, WebColors.LightCoral, WebColors.FireBrick));
    table.addHighlighter(new ColorHighlighter(new AndHighlightPredicate(predicate, HighlightPredicate.ODD), WebColors.Pink, WebColors.FireBrick, WebColors.Crimson, WebColors.White));
    return new TablePanel(table);
}
Also used : ListSelectionModel(javax.swing.ListSelectionModel) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) RecordListTableModel(com.revolsys.swing.table.record.model.RecordListTableModel) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) TablePanel(com.revolsys.swing.table.TablePanel) Collection(java.util.Collection) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) Record(com.revolsys.record.Record) WebColors(com.revolsys.awt.WebColors) List(java.util.List) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) ListSelectionEvent(javax.swing.event.ListSelectionEvent) ListSelectionListener(javax.swing.event.ListSelectionListener) ObjectPropertyException(com.revolsys.beans.ObjectPropertyException) SortableTableModel(com.revolsys.swing.table.SortableTableModel) ColorHighlighter(com.revolsys.swing.table.highlighter.ColorHighlighter) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) AndHighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable) TablePanel(com.revolsys.swing.table.TablePanel)

Example 5 with HighlightPredicate

use of org.jdesktop.swingx.decorator.HighlightPredicate in project com.revolsys.open by revolsys.

the class BaseJTable method addLastRowBorderPredicate.

protected void addLastRowBorderPredicate() {
    final HighlightPredicate lastPredicate = (final Component renderer, final ComponentAdapter adapter) -> {
        final int row = adapter.row;
        final int lastRowIndex = getRowCount() - 1;
        return row == lastRowIndex;
    };
    addHighlighter(new BorderHighlighter(lastPredicate, BorderFactory.createMatteBorder(0, 0, 1, 0, new Color(191, 191, 191))));
}
Also used : Color(java.awt.Color) HighlightPredicate(org.jdesktop.swingx.decorator.HighlightPredicate) BorderHighlighter(org.jdesktop.swingx.decorator.BorderHighlighter) JComponent(javax.swing.JComponent) Component(java.awt.Component) ComponentAdapter(org.jdesktop.swingx.decorator.ComponentAdapter)

Aggregations

HighlightPredicate (org.jdesktop.swingx.decorator.HighlightPredicate)7 TablePanel (com.revolsys.swing.table.TablePanel)6 ColorHighlighter (com.revolsys.swing.table.highlighter.ColorHighlighter)6 WebColors (com.revolsys.awt.WebColors)5 RecordRowTable (com.revolsys.swing.table.record.RecordRowTable)5 Color (java.awt.Color)5 Map (java.util.Map)5 JComponent (javax.swing.JComponent)5 AndHighlightPredicate (org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate)5 SwingUtil (com.revolsys.swing.SwingUtil)4 AbstractRecordLayer (com.revolsys.swing.map.layer.record.AbstractRecordLayer)4 LayerRecord (com.revolsys.swing.map.layer.record.LayerRecord)4 PropertyChangeEvent (java.beans.PropertyChangeEvent)4 ListSelectionModel (javax.swing.ListSelectionModel)4 ListSelectionEvent (javax.swing.event.ListSelectionEvent)4 TableColumnExt (org.jdesktop.swingx.table.TableColumnExt)4 Geometry (com.revolsys.geometry.model.Geometry)3 ClipboardUtil (com.revolsys.swing.dnd.ClipboardUtil)3 LayerRecordMenu (com.revolsys.swing.map.layer.record.LayerRecordMenu)3 RecordLayerTableModel (com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel)3