/******************************************************************************* * 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(); } }