use of org.eclipse.nebula.widgets.nattable.config.IConfigRegistry in project nebula.widgets.nattable by eclipse.
the class FormulaFillHandlePasteTest method setup.
@Before
public void setup() {
InternalCellClipboard clipboard = new InternalCellClipboard();
this.selectionLayer.registerCommandHandler(new InternalCopyDataCommandHandler(this.selectionLayer, clipboard));
this.selectionLayer.registerCommandHandler(new FormulaFillHandlePasteCommandHandler(this.selectionLayer, clipboard, this.formulaDataProvider));
this.natTable.addConfiguration(new DefaultFormulaConfiguration(this.formulaDataProvider, this.selectionLayer, clipboard));
this.natTable.addConfiguration(new AbstractRegistryConfiguration() {
@Override
public void configureRegistry(IConfigRegistry configRegistry) {
configRegistry.registerConfigAttribute(EditConfigAttributes.CELL_EDITABLE_RULE, EditableRule.ALWAYS_EDITABLE);
}
});
this.natTable.configure();
}
use of org.eclipse.nebula.widgets.nattable.config.IConfigRegistry in project nebula.widgets.nattable by eclipse.
the class MaxCellBoundsHelperTest method getPreferedRowHeights.
@Test
public void getPreferedRowHeights() throws Exception {
DataLayerFixture dataLayer = new DataLayerFixture(3, 2, 10, 10);
IDataProvider dataProvider = dataLayer.getDataProvider();
// Row 0
dataProvider.setDataValue(0, 0, "..");
dataProvider.setDataValue(1, 0, "...");
dataProvider.setDataValue(2, 0, "...");
// Row 1
dataProvider.setDataValue(0, 1, "Elephant");
dataProvider.setDataValue(1, 1, "Cat");
dataProvider.setDataValue(2, 1, "Rat");
AutoResizeRowCommandFixture command = new AutoResizeRowCommandFixture();
GCFactory gcFactory = command.getGCFactory();
IConfigRegistry registry = command.getConfigRegistry();
GC gc = gcFactory.createGC();
int row0MaxTextHeight = new TextPainter().getPreferredHeight(new CellFixture(".."), gc, registry);
int row1MaxTextHeight = new TextPainter().getPreferredHeight(new CellFixture("Elephant"), gc, registry);
gc.dispose();
int[] maxRowHeights = MaxCellBoundsHelper.getPreferredRowHeights(registry, gcFactory, dataLayer, new int[] { 0, 1 });
// Adjust heights
int row0AdjustedMaxHeight = dataLayer.getLayerPainter().adjustCellBounds(0, 0, new Rectangle(0, 0, 10, maxRowHeights[0])).height;
int row1AdjustedMaxHeight = dataLayer.getLayerPainter().adjustCellBounds(0, 1, new Rectangle(0, 0, 10, maxRowHeights[1])).height;
Assert.assertEquals(row0MaxTextHeight, row0AdjustedMaxHeight);
Assert.assertEquals(row1MaxTextHeight, row1AdjustedMaxHeight);
}
use of org.eclipse.nebula.widgets.nattable.config.IConfigRegistry in project nebula.widgets.nattable by eclipse.
the class MaxCellBoundsHelperTest method getPreferedColumnWidths.
@Test
public void getPreferedColumnWidths() throws Exception {
DataLayerFixture dataLayer = new DataLayerFixture(2, 3, 10, 10);
IDataProvider dataProvider = dataLayer.getDataProvider();
// Col 0
dataProvider.setDataValue(0, 0, "Long");
dataProvider.setDataValue(0, 1, "Longer");
dataProvider.setDataValue(0, 2, "Longest Text");
// Col 1
dataProvider.setDataValue(1, 0, "Elephant");
dataProvider.setDataValue(1, 1, "Cat");
dataProvider.setDataValue(1, 2, "Rat");
AutoResizeColumnCommandFixture command = new AutoResizeColumnCommandFixture();
GCFactory gcFactory = command.getGCFactory();
IConfigRegistry registry = command.getConfigRegistry();
GC gc = gcFactory.createGC();
int col0MaxTextWidth = new TextPainter().getPreferredWidth(new CellFixture("Longest Text"), gc, registry);
int col1MaxTextWidth = new TextPainter().getPreferredWidth(new CellFixture("Elephant"), gc, registry);
gc.dispose();
int[] maxColumnWidths = MaxCellBoundsHelper.getPreferredColumnWidths(registry, gcFactory, dataLayer, new int[] { 0, 1 });
// Adjust widths
int col0AdjustedMaxWidth = dataLayer.getLayerPainter().adjustCellBounds(0, 0, new Rectangle(0, 0, maxColumnWidths[0], 10)).width;
int col1AdjustedMaxWidth = dataLayer.getLayerPainter().adjustCellBounds(1, 0, new Rectangle(0, 0, maxColumnWidths[1], 10)).width;
Assert.assertEquals(col0MaxTextWidth, col0AdjustedMaxWidth);
Assert.assertEquals(col1MaxTextWidth, col1AdjustedMaxWidth);
}
use of org.eclipse.nebula.widgets.nattable.config.IConfigRegistry in project nebula.widgets.nattable by eclipse.
the class SummaryRowIntegrationTest method initLayerStackWithSummaryRow.
@Before
public void initLayerStackWithSummaryRow() {
this.dataList = RowDataListFixture.getList().subList(0, 4);
// Rows 0, 1, 2, 3; Summary row would be position 4
assertEquals(4, this.dataList.size());
this.dataProvider = new ListDataProvider<RowDataFixture>(this.dataList, new ReflectiveColumnPropertyAccessor<RowDataFixture>(RowDataListFixture.getPropertyNames()));
IConfigRegistry configRegistry = new ConfigRegistry();
this.dataLayer = new DataLayer(this.dataProvider);
this.summaryRowLayer = new SummaryRowLayer(this.dataLayer, configRegistry);
IUniqueIndexLayer columnReorderLayer = new ColumnReorderLayer(this.summaryRowLayer);
IUniqueIndexLayer columnHideShowLayer = new ColumnHideShowLayer(columnReorderLayer);
IUniqueIndexLayer selectionLayer = new SelectionLayer(columnHideShowLayer);
this.layerStackWithSummary = new ViewportLayer(selectionLayer);
// NatTableFixture initializes the client area
this.natTable = new NatTableFixture(this.layerStackWithSummary, false);
this.natTable.setConfigRegistry(configRegistry);
this.natTable.addConfiguration(new TestSummaryRowConfiguration());
this.natTable.configure();
}
use of org.eclipse.nebula.widgets.nattable.config.IConfigRegistry in project nebula.widgets.nattable by eclipse.
the class NatTable method getConfigRegistry.
/**
* @return {@link IConfigRegistry} used to hold the configuration bindings
* by Layer, DisplayMode and Config labels.
*/
public IConfigRegistry getConfigRegistry() {
if (this.configRegistry == null) {
this.configRegistry = new ConfigRegistry();
this.themeManager = new ThemeManager(this.configRegistry);
}
return this.configRegistry;
}
Aggregations