/******************************************************************************* * 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.shop.views; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; import com.rcpcompany.uibindings.tests.shop.Shop; import com.rcpcompany.uibindings.tests.shop.ShopFactory; import com.rcpcompany.uibindings.tests.shop.ShopPackage; import com.rcpcompany.uibindings.utils.EditingDomainUtils; import com.rcpcompany.uibindings.utils.IBindingContextSelectionProvider; import com.rcpcompany.uibindings.utils.IDnDSupport; import com.rcpcompany.uibindings.utils.IFormCreator; import com.rcpcompany.uibindings.utils.ITableCreator; public class OrderView extends ViewPart { private IFormCreator myForm; @Override public void createPartControl(Composite parent) { final Shop shop = ShopFactory.eINSTANCE.getShop(EditingDomainUtils.getEditingDomain()); myForm = IFormCreator.Factory.createScrolledForm(shop, parent, "Orders"); final ITableCreator orderTable = myForm.addTableCreator(ShopPackage.Literals.SHOP__ORDERS, true, ITableCreator.FILTER); orderTable.addColumn("no(w=40)"); orderTable.addColumn("customer(w=150)"); orderTable.addColumn("price(w=50)"); orderTable.addColumn("discount(w=50)"); final IFormCreator detailsSection = myForm.addSection("Items", orderTable.getBinding().getSingleSelection(), true); detailsSection.addObjectMessages(); final ITableCreator detailsTable = ITableCreator.Factory.create(detailsSection.getContext(), detailsSection .addComposite(true, true), ITableCreator.FILTER, orderTable.getBinding().getSingleSelection(), ShopPackage.Literals.ORDER__ITEMS); // final ITableCreator detailsTable = // detailsSection.addTableCreator(ShopPackage.Literals.ORDER__ITEMS, true, // SWT.SEARCH); detailsTable.addColumn("no(w=40)"); detailsTable.addColumn("count(w=40)"); detailsTable.addColumn("item(w=200)"); detailsTable.addColumn("item.price(w=100)").readonly(); myForm.finish(); IBindingContextSelectionProvider.Factory.adapt(myForm.getContext(), getSite()); IDnDSupport.Factory.installOn(myForm.getContext()); } @Override public void setFocus() { myForm.setFocus(); } }