use of org.eclipse.nebula.widgets.nattable.dataset.NumberValues in project nebula.widgets.nattable by eclipse.
the class _5123_SummaryRowPositionExample method createExampleControl.
@Override
public Control createExampleControl(Composite parent) {
Composite panel = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.verticalSpacing = 20;
panel.setLayout(layout);
// property names of the NumberValues class
String[] propertyNames = { "columnOneNumber", "columnTwoNumber", "columnThreeNumber", "columnFourNumber", "columnFiveNumber" };
IColumnPropertyAccessor<NumberValues> cpa = new ReflectiveColumnPropertyAccessor<>(propertyNames);
IDataProvider dataProvider = new ListDataProvider<>(createNumberValueList(), cpa);
ConfigRegistry configRegistry = new ConfigRegistry();
// Summary row fixed on top
DataLayer dataLayer = new DataLayer(dataProvider);
ViewportLayer viewportLayer = new ViewportLayer(dataLayer);
// Plug in the SummaryRowLayer
FixedSummaryRowLayer summaryRowLayer = new FixedSummaryRowLayer(dataLayer, viewportLayer, configRegistry, false);
summaryRowLayer.setHorizontalCompositeDependency(false);
CompositeLayer composite = new CompositeLayer(1, 2);
composite.setChildLayer("SUMMARY", summaryRowLayer, 0, 0);
composite.setChildLayer(GridRegion.BODY, viewportLayer, 0, 1);
NatTable natTable = new NatTable(panel, composite, false);
GridDataFactory.fillDefaults().grab(true, true).applyTo(natTable);
// Configure custom summary formula for a column
natTable.addConfiguration(new ExampleSummaryRowConfiguration(dataProvider));
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
natTable.setConfigRegistry(configRegistry);
natTable.configure();
// Summary row fixed at the bottom
dataLayer = new DataLayer(dataProvider);
// IMPORTANT:
// since the summary row layer is to the bottom of the viewport layer
// we need to configure a GridLineCellLayerPainter that clips the top
// cell. This means the body data layer is clipped at the bottom since
// the painter is used globally
dataLayer.setLayerPainter(new GridLineCellLayerPainter(false, true));
viewportLayer = new ViewportLayer(dataLayer);
// Plug in the SummaryRowLayer
summaryRowLayer = new FixedSummaryRowLayer(dataLayer, viewportLayer, configRegistry, false);
summaryRowLayer.setHorizontalCompositeDependency(false);
composite = new CompositeLayer(1, 2);
composite.setChildLayer(GridRegion.BODY, viewportLayer, 0, 0);
composite.setChildLayer("SUMMARY", summaryRowLayer, 0, 1);
natTable = new NatTable(panel, composite, false);
GridDataFactory.fillDefaults().grab(true, true).applyTo(natTable);
// Configure custom summary formula for a column
natTable.addConfiguration(new ExampleSummaryRowConfiguration(dataProvider));
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
natTable.setConfigRegistry(configRegistry);
natTable.configure();
return panel;
}
use of org.eclipse.nebula.widgets.nattable.dataset.NumberValues in project nebula.widgets.nattable by eclipse.
the class _5123_SummaryRowPositionExample method createNumberValueList.
private List<NumberValues> createNumberValueList() {
List<NumberValues> result = new ArrayList<>();
NumberValues nv = new NumberValues();
nv.setColumnOneNumber(5);
nv.setColumnTwoNumber(4);
nv.setColumnThreeNumber(3);
nv.setColumnFourNumber(1);
nv.setColumnFiveNumber(1);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(1);
nv.setColumnTwoNumber(1);
nv.setColumnThreeNumber(2);
nv.setColumnFourNumber(2);
nv.setColumnFiveNumber(3);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(1);
nv.setColumnTwoNumber(2);
nv.setColumnThreeNumber(2);
nv.setColumnFourNumber(3);
nv.setColumnFiveNumber(3);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(1);
nv.setColumnTwoNumber(2);
nv.setColumnThreeNumber(4);
nv.setColumnFourNumber(4);
nv.setColumnFiveNumber(3);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(5);
nv.setColumnTwoNumber(4);
nv.setColumnThreeNumber(4);
nv.setColumnFourNumber(4);
nv.setColumnFiveNumber(7);
result.add(nv);
for (int i = 0; i < 10; i++) {
nv = new NumberValues();
nv.setColumnOneNumber(5);
nv.setColumnTwoNumber(4);
nv.setColumnThreeNumber(4);
nv.setColumnFourNumber(4);
nv.setColumnFiveNumber(7);
result.add(nv);
}
return result;
}
use of org.eclipse.nebula.widgets.nattable.dataset.NumberValues in project nebula.widgets.nattable by eclipse.
the class _5015_AutomaticDataSpanningExample method createNumberValueList.
private List<NumberValues> createNumberValueList() {
List<NumberValues> result = new ArrayList<>();
NumberValues nv = new NumberValues();
nv.setColumnOneNumber(5);
nv.setColumnTwoNumber(4);
nv.setColumnThreeNumber(3);
nv.setColumnFourNumber(1);
nv.setColumnFiveNumber(1);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(1);
nv.setColumnTwoNumber(1);
nv.setColumnThreeNumber(2);
nv.setColumnFourNumber(2);
nv.setColumnFiveNumber(3);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(1);
nv.setColumnTwoNumber(2);
nv.setColumnThreeNumber(2);
nv.setColumnFourNumber(3);
nv.setColumnFiveNumber(3);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(1);
nv.setColumnTwoNumber(2);
nv.setColumnThreeNumber(4);
nv.setColumnFourNumber(4);
nv.setColumnFiveNumber(3);
result.add(nv);
nv = new NumberValues();
nv.setColumnOneNumber(5);
nv.setColumnTwoNumber(4);
nv.setColumnThreeNumber(4);
nv.setColumnFourNumber(4);
nv.setColumnFiveNumber(7);
result.add(nv);
return result;
}
use of org.eclipse.nebula.widgets.nattable.dataset.NumberValues in project nebula.widgets.nattable by eclipse.
the class _5015_AutomaticDataSpanningExample method createExampleControl.
@Override
public Control createExampleControl(Composite parent) {
// property names of the NumberValues class
String[] propertyNames = { "columnOneNumber", "columnTwoNumber", "columnThreeNumber", "columnFourNumber", "columnFiveNumber" };
IColumnPropertyAccessor<NumberValues> cpa = new ReflectiveColumnPropertyAccessor<>(propertyNames);
IDataProvider dataProvider = new ListDataProvider<>(createNumberValueList(), cpa);
AutomaticSpanningDataProvider spanningDataProvider = new AutomaticSpanningDataProvider(dataProvider, true, false);
// spanningDataProvider.addAutoSpanningColumnPositions(0, 1, 2);
// spanningDataProvider.addAutoSpanningColumnPositions(2, 3, 4);
// spanningDataProvider.addAutoSpanningColumnPositions(0, 1, 3, 4);
// spanningDataProvider.addAutoSpanningRowPositions(0, 1, 2);
// spanningDataProvider.addAutoSpanningRowPositions(2, 3, 4);
// spanningDataProvider.addAutoSpanningRowPositions(0, 1, 3, 4);
NatTable natTable = new NatTable(parent, new ViewportLayer(new SelectionLayer(new SpanningDataLayer(spanningDataProvider))), false);
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
natTable.addConfiguration(new BodyMenuConfiguration(natTable, spanningDataProvider));
natTable.configure();
natTable.registerCommandHandler(new DisplayPersistenceDialogCommandHandler());
return natTable;
}
use of org.eclipse.nebula.widgets.nattable.dataset.NumberValues in project nebula.widgets.nattable by eclipse.
the class _774_MultiExportExample method createNumberValues.
private NumberValues createNumberValues() {
NumberValues nv = new NumberValues();
nv.setColumnOneNumber(10);
nv.setColumnTwoNumber(20);
nv.setColumnThreeNumber(30);
nv.setColumnFourNumber(40);
nv.setColumnFiveNumber(50);
return nv;
}
Aggregations