use of org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate 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));
}
use of org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate 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);
}
use of org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate 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));
}
use of org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate 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);
}
use of org.jdesktop.swingx.decorator.HighlightPredicate.AndHighlightPredicate in project com.revolsys.open by revolsys.
the class RecordValidationDialog method newInvalidRecordsTablePanel.
private TablePanel newInvalidRecordsTablePanel() {
final RecordDefinition recordDefinition = this.layer.getRecordDefinition();
final List<String> fieldNames = this.layer.getFieldNames();
final RecordListTableModel model = new RecordListTableModel(recordDefinition, this.invalidRecords, fieldNames);
model.setReadOnlyFieldNames(this.layer.getUserReadOnlyFieldNames());
final RecordRowTable table = new RecordRowTable(model);
table.setVisibleRowCount(Math.min(10, model.getRowCount() + 1));
table.setSortable(true);
table.resizeColumnsToContent();
final HighlightPredicate invalidFieldPredicate = (final Component renderer, final ComponentAdapter adapter) -> {
try {
final int rowIndex = adapter.convertRowIndexToModel(adapter.row);
final int columnIndex = adapter.convertColumnIndexToModel(adapter.column);
final Map<String, String> fieldErrors = this.invalidRecordErrors.get(rowIndex);
if (!fieldErrors.isEmpty()) {
final String fieldName = this.layer.getFieldName(columnIndex);
final String errorMessage = fieldErrors.get(fieldName);
if (Property.hasValue(errorMessage)) {
final JComponent jcomponent = (JComponent) renderer;
jcomponent.setToolTipText(errorMessage);
return true;
}
}
} catch (final Throwable e) {
}
return false;
};
final Highlighter invalidFieldHighlighter = new ColorHighlighter(invalidFieldPredicate, WebColors.newAlpha(Color.RED, 64), Color.RED, Color.RED, Color.YELLOW);
table.addHighlighter(invalidFieldHighlighter);
final HighlightPredicate validRecordPredicate = (final Component renderer, final ComponentAdapter adapter) -> {
try {
final int rowIndex = adapter.convertRowIndexToModel(adapter.row);
final Map<String, String> fieldErrors = this.invalidRecordErrors.get(rowIndex);
if (fieldErrors.isEmpty()) {
return true;
}
} catch (final Throwable e) {
}
return false;
};
table.addHighlighter(new ColorHighlighter(new AndHighlightPredicate(validRecordPredicate, HighlightPredicate.EVEN), WebColors.newAlpha(WebColors.LimeGreen, 127), WebColors.Black, WebColors.newAlpha(WebColors.DarkGreen, 191), Color.WHITE));
table.addHighlighter(new ColorHighlighter(new AndHighlightPredicate(validRecordPredicate, HighlightPredicate.ODD), WebColors.LimeGreen, WebColors.Black, WebColors.DarkGreen, Color.WHITE));
final TablePanel tablePanel = new TablePanel(table);
tablePanel.setBorder(BorderFactory.createTitledBorder(table.getRowCount() + " invalid records"));
return tablePanel;
}
Aggregations