Search in sources :

Example 1 with InternalClipboardStructuralChangeListener

use of org.eclipse.nebula.widgets.nattable.copy.InternalClipboardStructuralChangeListener in project nebula.widgets.nattable by eclipse.

the class DefaultFormulaConfiguration method configureLayer.

@Override
public void configureLayer(ILayer layer) {
    // register the command handler for deleting values
    layer.registerCommandHandler(new DeleteSelectionCommandHandler(this.selectionLayer));
    // register the ExportCommandHandler to the current layer (should be a
    // layer on top of the GridLayer to override default GridLayer behavior)
    // that exports from the SelectionLayer downwards. This way the column
    // and row headers won't be exported.
    layer.registerCommandHandler(new ExportCommandHandler(this.selectionLayer));
    // register the command handler for enabling/disabling formula
    // evaluation
    // register on the SelectionLayer so it works on export
    this.selectionLayer.registerCommandHandler(new DisableFormulaEvaluationCommandHandler(this.dataProvider));
    this.selectionLayer.registerCommandHandler(new EnableFormulaEvaluationCommandHandler(this.dataProvider));
    // add a layer listener that clears the internal clipboard on structural
    // changes
    this.selectionLayer.addLayerListener(new InternalClipboardStructuralChangeListener(this.clipboard));
    // add the layer painter that renders a border around copied cells
    if (!(this.selectionLayer.getLayerPainter() instanceof FillHandleLayerPainter)) {
        this.selectionLayer.setLayerPainter(new FillHandleLayerPainter(this.clipboard));
    } else {
        // ensure the clipboard is set
        ((FillHandleLayerPainter) this.selectionLayer.getLayerPainter()).setClipboard(this.clipboard);
    }
    // register special copy+paste command handlers
    layer.registerCommandHandler(new FormulaCopyDataCommandHandler(this.selectionLayer, this.clipboard));
    layer.registerCommandHandler(new FormulaPasteDataCommandHandler(this.selectionLayer, this.clipboard, this.dataProvider));
    layer.registerCommandHandler(new FormulaFillHandlePasteCommandHandler(this.selectionLayer, this.clipboard, this.dataProvider));
}
Also used : DisableFormulaEvaluationCommandHandler(org.eclipse.nebula.widgets.nattable.formula.command.DisableFormulaEvaluationCommandHandler) FillHandleLayerPainter(org.eclipse.nebula.widgets.nattable.fillhandle.FillHandleLayerPainter) InternalClipboardStructuralChangeListener(org.eclipse.nebula.widgets.nattable.copy.InternalClipboardStructuralChangeListener) FormulaFillHandlePasteCommandHandler(org.eclipse.nebula.widgets.nattable.formula.command.FormulaFillHandlePasteCommandHandler) ExportCommandHandler(org.eclipse.nebula.widgets.nattable.export.command.ExportCommandHandler) FormulaCopyDataCommandHandler(org.eclipse.nebula.widgets.nattable.formula.command.FormulaCopyDataCommandHandler) FormulaPasteDataCommandHandler(org.eclipse.nebula.widgets.nattable.formula.command.FormulaPasteDataCommandHandler) DeleteSelectionCommandHandler(org.eclipse.nebula.widgets.nattable.edit.command.DeleteSelectionCommandHandler) EnableFormulaEvaluationCommandHandler(org.eclipse.nebula.widgets.nattable.formula.command.EnableFormulaEvaluationCommandHandler)

Aggregations

InternalClipboardStructuralChangeListener (org.eclipse.nebula.widgets.nattable.copy.InternalClipboardStructuralChangeListener)1 DeleteSelectionCommandHandler (org.eclipse.nebula.widgets.nattable.edit.command.DeleteSelectionCommandHandler)1 ExportCommandHandler (org.eclipse.nebula.widgets.nattable.export.command.ExportCommandHandler)1 FillHandleLayerPainter (org.eclipse.nebula.widgets.nattable.fillhandle.FillHandleLayerPainter)1 DisableFormulaEvaluationCommandHandler (org.eclipse.nebula.widgets.nattable.formula.command.DisableFormulaEvaluationCommandHandler)1 EnableFormulaEvaluationCommandHandler (org.eclipse.nebula.widgets.nattable.formula.command.EnableFormulaEvaluationCommandHandler)1 FormulaCopyDataCommandHandler (org.eclipse.nebula.widgets.nattable.formula.command.FormulaCopyDataCommandHandler)1 FormulaFillHandlePasteCommandHandler (org.eclipse.nebula.widgets.nattable.formula.command.FormulaFillHandlePasteCommandHandler)1 FormulaPasteDataCommandHandler (org.eclipse.nebula.widgets.nattable.formula.command.FormulaPasteDataCommandHandler)1