Package org.eclipse.nebula.widgets.nattable.config

Examples of org.eclipse.nebula.widgets.nattable.config.ConfigRegistry


    }

    public Control createExampleControl(Composite parent) {
        gridLayer = new SelectionExampleGridLayer();
        NatTable natTable = new NatTable(parent, gridLayer, false);
        IConfigRegistry configRegistry = new ConfigRegistry();

        DataLayer bodyDataLayer = gridLayer.getBodyDataLayer();

        // Step 1: Create a label accumulator - adds custom labels to all cells
        // which we
View Full Code Here


        StandaloneNatExampleRunner.run(800, 400,
                new TreeGridWithCheckBoxFieldsExample());
    }

    public Control createExampleControl(Composite parent) {
        ConfigRegistry configRegistry = new ConfigRegistry();
        configRegistry.registerConfigAttribute(
                SortConfigAttributes.SORT_COMPARATOR, new DefaultComparator());

        // Underlying data source
        createDatums();
        EventList<Datum> eventList = GlazedLists.eventList(datums.values());
        SortedList<Datum> sortedList = new SortedList<Datum>(eventList, null);
        // TreeList <RowDataFixture> treeList = new
        // TreeList<RowDataFixture>(eventList, new RowDataFixtureTreeFormat(),
        // new RowDataFixtureExpansionModel());

        String[] propertyNames = new String[] { "self", "bar" };
        IColumnPropertyAccessor<Datum> columnPropertyAccessor = new ReflectiveColumnPropertyAccessor<Datum>(
                propertyNames);

        // Column header layer
        IDataProvider columnHeaderDataProvider = new DefaultColumnHeaderDataProvider(
                propertyNames);
        DataLayer columnHeaderDataLayer = new DefaultColumnHeaderDataLayer(
                columnHeaderDataProvider);

        ISortModel sortModel = new GlazedListsSortModel<Datum>(sortedList,
                columnPropertyAccessor, configRegistry, columnHeaderDataLayer);

        final TreeList<Datum> treeList = new TreeList<Datum>(sortedList,
                new DatumTreeFormat(sortModel), new DatumExpansionModel());
        GlazedListTreeData<Datum> treeData = new DatumTreeData(treeList);

        GlazedListsDataProvider<Datum> bodyDataProvider = new GlazedListsDataProvider<Datum>(
                treeList, columnPropertyAccessor);
        final DataLayer bodyDataLayer = new DataLayer(bodyDataProvider);

        // Handle update of CheckBoxField objects in column 0
        bodyDataLayer.registerCommandHandler(new UpdateDataCommandHandler(
                bodyDataLayer) {
            @Override
            protected boolean doCommand(UpdateDataCommand command) {
                int columnPosition = command.getColumnPosition();
                int rowPosition = command.getRowPosition();

                if (columnPosition == 0) {
                    Datum datum = (Datum) bodyDataLayer.getDataProvider()
                            .getDataValue(columnPosition, rowPosition);
                    datum.setOn((Boolean) command.getNewValue());

                    bodyDataLayer.fireLayerEvent(new CellVisualChangeEvent(
                            bodyDataLayer, columnPosition, rowPosition));
                    return true;
                } else {
                    return super.doCommand(command);
                }
            }
        });

        // Body layer
        ColumnReorderLayer columnReorderLayer = new ColumnReorderLayer(
                bodyDataLayer);
        ColumnHideShowLayer columnHideShowLayer = new ColumnHideShowLayer(
                columnReorderLayer);
        SelectionLayer selectionLayer = new SelectionLayer(columnHideShowLayer);

        // Switch the ITreeRowModel implementation between using native grid
        // Hide/Show or GlazedList TreeList Hide/Show
        // TreeLayer treeLayer = new TreeLayer(selectionLayer, new
        // TreeRowModel<Datum>(treeData), true);
        final TreeLayer treeLayer = new TreeLayer(selectionLayer,
                new GlazedListTreeRowModel<Datum>(treeData));

        ViewportLayer viewportLayer = new ViewportLayer(treeLayer);

        ColumnHeaderLayer columnHeaderLayer = new ColumnHeaderLayer(
                columnHeaderDataLayer, viewportLayer, selectionLayer);
        // Note: The column header layer is wrapped in a filter row composite.
        // This plugs in the filter row functionality

        ColumnOverrideLabelAccumulator labelAccumulator = new ColumnOverrideLabelAccumulator(
                columnHeaderDataLayer);
        columnHeaderDataLayer.setConfigLabelAccumulator(labelAccumulator);

        // Register labels
        SortHeaderLayer<Datum> sortHeaderLayer = new SortHeaderLayer<Datum>(
                columnHeaderLayer, sortModel, false);

        // Row header layer
        DefaultRowHeaderDataProvider rowHeaderDataProvider = new DefaultRowHeaderDataProvider(
                bodyDataProvider);
        DefaultRowHeaderDataLayer rowHeaderDataLayer = new DefaultRowHeaderDataLayer(
                rowHeaderDataProvider);
        RowHeaderLayer rowHeaderLayer = new RowHeaderLayer(rowHeaderDataLayer,
                viewportLayer, selectionLayer);

        // Corner layer
        DefaultCornerDataProvider cornerDataProvider = new DefaultCornerDataProvider(
                columnHeaderDataProvider, rowHeaderDataProvider);
        DataLayer cornerDataLayer = new DataLayer(cornerDataProvider);
        // CornerLayer cornerLayer = new CornerLayer(cornerDataLayer,
        // rowHeaderLayer, columnHeaderLayer);
        CornerLayer cornerLayer = new CornerLayer(cornerDataLayer,
                rowHeaderLayer, sortHeaderLayer);

        // Grid
        GridLayer gridLayer = new GridLayer(viewportLayer,
        // columnHeaderLayer,
                sortHeaderLayer, rowHeaderLayer, cornerLayer);

        NatTable natTable = new NatTable(parent, gridLayer, false);
        natTable.setConfigRegistry(configRegistry);
        natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
        natTable.addConfiguration(new HeaderMenuConfiguration(natTable));
        natTable.addConfiguration(new SingleClickSortConfiguration());

        // Uncomment to see the native tree list printed to stout.
        // printTree(treeList, treeData);

        columnHeaderDataLayer
                .setConfigLabelAccumulator(new ColumnLabelAccumulator());

        final ColumnHeaderCheckBoxPainter columnHeaderCheckBoxPainter = new ColumnHeaderCheckBoxPainter(
                bodyDataLayer) {
            @Override
            protected Boolean convertDataType(ILayerCell cell,
                    IConfigRegistry configRegistry) {
                Datum dataValue = (Datum) cell.getDataValue();
                return dataValue.isOn();
            }
        };
        final ICellPainter checkBoxPainter = new TreeCheckBoxPainter() {
            @Override
            protected CheckBoxStateEnum getCheckBoxState(ILayerCell cell) {
                Datum dataValue = (Datum) cell.getDataValue();
                return dataValue.getCheckBoxState();
            }
        };
        natTable.addConfiguration(new AbstractRegistryConfiguration() {
            public void configureRegistry(IConfigRegistry configRegistry) {
                // Column header
                configRegistry
                        .registerConfigAttribute(
                                CellConfigAttributes.CELL_PAINTER,
                                new BeveledBorderDecorator(
                                        new CellPainterDecorator(
                                                new SortableHeaderTextPainter(),
                                                CellEdgeEnum.LEFT,
                                                columnHeaderCheckBoxPainter)),
                                DisplayMode.NORMAL,
                                ColumnLabelAccumulator.COLUMN_LABEL_PREFIX + 0);

                configRegistry.registerConfigAttribute(
                        CellConfigAttributes.CELL_PAINTER,
                        new BackgroundPainter(new CellPainterDecorator(
                                new TextPainter() {
                                    @Override
                                    protected String convertDataType(
                                            ILayerCell cell,
                                            IConfigRegistry configRegistry) {
                                        Datum dataValue = (Datum) cell
                                                .getDataValue();
                                        return dataValue.getName();
                                    }
                                }, CellEdgeEnum.LEFT, checkBoxPainter)),
                        DisplayMode.NORMAL, TreeLayer.TREE_COLUMN_CELL);

                configRegistry.registerConfigAttribute(
                        CellConfigAttributes.DISPLAY_CONVERTER,
                        new DefaultBooleanDisplayConverter(),
                        DisplayMode.NORMAL, TreeLayer.TREE_COLUMN_CELL);
                configRegistry.registerConfigAttribute(
                        EditConfigAttributes.CELL_EDITABLE_RULE,
                        IEditableRule.ALWAYS_EDITABLE, DisplayMode.EDIT,
                        TreeLayer.TREE_COLUMN_CELL);
                configRegistry.registerConfigAttribute(
                        EditConfigAttributes.CELL_EDITOR,
                        new CheckBoxCellEditor() {
                            @Override
                            public void setCanonicalValue(Object canonicalValue) {
                                Datum value = (Datum) canonicalValue;
View Full Code Here

                propertyNames);

        GroupByModel groupByModel = new GroupByModel();

        // Summary
        ConfigRegistry configRegistry = new ConfigRegistry();
        configRegistry
                .registerConfigAttribute(
                        GroupByConfigAttributes.GROUP_BY_SUMMARY_PROVIDER,
                        new SummationGroupBySummaryProvider<RowDataFixture>(
                                reflectiveColumnPropertyAccessor),
                        DisplayMode.NORMAL,
View Full Code Here

        propertyToLabelMap.put("columnFiveNumber", "Percentage");

        valuesToShow.add(createNumberValues());
        valuesToShow.add(createNumberValues());

        ConfigRegistry configRegistry = new ConfigRegistry();

        CalculatingGridLayer gridLayer = new CalculatingGridLayer(valuesToShow,
                configRegistry, propertyNames, propertyToLabelMap);
        DataLayer bodyDataLayer = (DataLayer) gridLayer.getBodyDataLayer();
View Full Code Here

    public static void main(String[] args) {
        StandaloneNatExampleRunner.run(800, 400, new TreeGridExample());
    }

    public Control createExampleControl(Composite parent) {
        ConfigRegistry configRegistry = new ConfigRegistry();
        configRegistry.registerConfigAttribute(
                SortConfigAttributes.SORT_COMPARATOR, new DefaultComparator());

        // Underlying data source
        createDatums();
        EventList<Datum> eventList = GlazedLists.eventList(datums.values());
View Full Code Here

            public void setDataValue(int columnIndex, int rowIndex,
                    Object newValue) {}
        };

        IConfigRegistry configRegistry = new ConfigRegistry();
        IUniqueIndexLayer dataLayer = new DataLayer(myDataProvider);

        // Plug in the SummaryRowLayer
        IUniqueIndexLayer summaryRowLayer = new SummaryRowLayer(dataLayer,
                configRegistry, false);
View Full Code Here

                + "when a large number of columns are available.";
    }

    @Override
    public Control createExampleControl(Composite parent) {
        ConfigRegistry configRegistry = new ConfigRegistry();

        String[] propertyNames = new String[20];
        for (int i = 0; i < 20; i++) {
            propertyNames[i] = RowDataListFixture.getPropertyNames()[i];
        }
View Full Code Here

    public Control createExampleControl(Composite parent) {
        final String[] propertyNames = RowDataListFixture.getPropertyNames();
        final Map<String, String> propertyToLabelMap = RowDataListFixture
                .getPropertyToLabelMap();

        ConfigRegistry configRegistry = new ConfigRegistry();

        // Body
        LinkedList<BlinkingRowDataFixture> rowData = new LinkedList<BlinkingRowDataFixture>();
        EventList<BlinkingRowDataFixture> eventList = GlazedLists
                .eventList(rowData);
View Full Code Here

        Composite buttonPanel = new Composite(panel, SWT.NONE);
        buttonPanel.setLayout(new GridLayout());
        GridDataFactory.fillDefaults().grab(true, true).applyTo(buttonPanel);

        ConfigRegistry configRegistry = new ConfigRegistry();

        final GlazedListsGridLayer<Map<String, String>> glazedListsGridLayer = new GlazedListsGridLayer<Map<String, String>>(
                values, new MyColumnPropertyAccessor(),
                new SimpleColumnHeaderDataProvider(), configRegistry, true);
View Full Code Here

        rowObjectsGlazedList = GlazedLists.threadSafeList(eventList);
        Map<String, String> propertyToLabelMap = populateColHeaderPropertiesToLabelsMap();
        String[] propertyNames = propertyToLabelMap.keySet().toArray(
                ArrayUtil.STRING_TYPE_ARRAY);

        ConfigRegistry configRegistry = new ConfigRegistry();
        final ColumnStructureUpdatesExampleGridLayer<PricingDataBean> glazedListsGridLayer = new ColumnStructureUpdatesExampleGridLayer<PricingDataBean>(
                rowObjectsGlazedList, propertyNames, propertyToLabelMap,
                configRegistry, true);
        final NatTable natTable = new NatTable(parent, glazedListsGridLayer,
                false);
View Full Code Here

TOP

Related Classes of org.eclipse.nebula.widgets.nattable.config.ConfigRegistry

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.