com.rcpcompany.uibindings.tests.views.TableView.java Source code

Java tutorial

Introduction

Here is the source code for com.rcpcompany.uibindings.tests.views.TableView.java

Source

/*******************************************************************************
 * Copyright (c) 2006-2013 The RCP Company and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     The RCP Company - initial API and implementation
 *******************************************************************************/
package com.rcpcompany.uibindings.tests.views;

import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.part.ViewPart;

import com.rcpcompany.uibinding.tests.model.TestContainer;
import com.rcpcompany.uibinding.tests.model.TestModelFactory;
import com.rcpcompany.uibinding.tests.model.TestModelPackage;
import com.rcpcompany.uibindings.IBindingContext;
import com.rcpcompany.uibindings.IManager;
import com.rcpcompany.uibindings.IViewerBinding;

public class TableView extends ViewPart {

    private FormToolkit myToolkit;
    private ScrolledForm myForm;
    private TableViewer myTableViewer;
    private final TestContainer myContainer;
    private TableViewerColumn myTextColumn;
    private TableViewerColumn myBooleanColumn;
    private TableViewerColumn myDateColumn;
    private TableViewerColumn myNumberColumn;
    private TableViewerColumn myUnitColumn;
    private TableViewerColumn myACColumn;

    public TableView() {
        myContainer = TestModelFactory.eINSTANCE.getTestContainer();
    }

    @Override
    public void createPartControl(Composite parent) {
        myToolkit = IManager.Factory.getManager().getFormToolkit(parent);

        myForm = myToolkit.createScrolledForm(parent);
        final Composite body = myForm.getBody();
        body.setLayout(new GridLayout());
        myToolkit.paintBordersFor(body);

        myTableViewer = new TableViewer(body, SWT.SINGLE | SWT.FULL_SELECTION);
        final Table table = myTableViewer.getTable();
        table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
        table.setHeaderVisible(true);

        myTextColumn = new TableViewerColumn(myTableViewer, SWT.LEFT);
        myTextColumn.getColumn().setWidth(60);

        myBooleanColumn = new TableViewerColumn(myTableViewer, SWT.LEFT);
        myBooleanColumn.getColumn().setWidth(60);

        myDateColumn = new TableViewerColumn(myTableViewer, SWT.LEFT);
        myDateColumn.getColumn().setWidth(60);

        myNumberColumn = new TableViewerColumn(myTableViewer, SWT.LEFT);
        myNumberColumn.getColumn().setWidth(60);

        myUnitColumn = new TableViewerColumn(myTableViewer, SWT.LEFT);
        myUnitColumn.getColumn().setWidth(60);

        myACColumn = new TableViewerColumn(myTableViewer, SWT.LEFT);
        myACColumn.getColumn().setWidth(60);

        bind();
        initializeToolBar();
    }

    private void bind() {
        final IBindingContext context = IBindingContext.Factory.createContext(myForm);

        final IViewerBinding viewer = context.addViewer(myTableViewer, myContainer,
                TestModelPackage.Literals.TEST_CONTAINER__CHILDREN);
        viewer.addColumn(myTextColumn, TestModelPackage.Literals.TEST_OBJECT__TEXT);
        viewer.addColumn(myBooleanColumn, TestModelPackage.Literals.TEST_OBJECT__B);
        viewer.addColumn(myDateColumn, TestModelPackage.Literals.TEST_OBJECT__DATE);
        viewer.addColumn(myNumberColumn, TestModelPackage.Literals.TEST_OBJECT__NUMBER);
        viewer.addColumn(myUnitColumn, TestModelPackage.Literals.TEST_OBJECT__UNIT);
        viewer.addColumn(myACColumn, TestModelPackage.Literals.TEST_OBJECT__AC);

        context.finish();
    }

    @Override
    public void setFocus() {
    }

    private void initializeToolBar() {
        final IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
    }
}