package org.eclipse.wazaabi.engine.swt.addressbook; import org.eclipse.emf.ecore.EObject; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; import org.eclipse.wazaabi.engine.core.editparts.AbstractComponentEditPart; import org.eclipse.wazaabi.engine.swt.viewers.SWTControlViewer; import org.eclipse.wazaabi.mm.core.styles.CoreStylesFactory; import org.eclipse.wazaabi.mm.core.styles.FontRule; import org.eclipse.wazaabi.mm.core.widgets.Container; import org.eclipse.wazaabi.mm.core.widgets.CoreWidgetsFactory; import org.eclipse.wazaabi.mm.core.widgets.Label; import org.eclipse.wazaabi.mm.swt.styles.GridDataAlignment; import org.eclipse.wazaabi.mm.swt.styles.GridDataRule; import org.eclipse.wazaabi.mm.swt.styles.GridLayoutRule; import org.eclipse.wazaabi.mm.swt.styles.SWTStylesFactory; public class AddressBookView extends ViewPart { SWTControlViewer viewer = null; Container fullContainer = null; public AddressBookView() { fullContainer = CoreWidgetsFactory.eINSTANCE.createContainer(); GridLayoutRule gridL = SWTStylesFactory.eINSTANCE.createGridLayoutRule(); gridL.setPropertyName("layout"); fullContainer.getStyleRules().add(gridL); Label titleLabel = CoreWidgetsFactory.eINSTANCE.createLabel(); titleLabel.setText("Master-Detail Example"); GridDataRule titleData = SWTStylesFactory.eINSTANCE.createGridDataRule(); titleData.setPropertyName("layout-data"); titleLabel.getStyleRules().add(titleData); FontRule titleFont = CoreStylesFactory.eINSTANCE.createFontRule(); titleFont.setBold(true); titleFont.setPropertyName(AbstractComponentEditPart.FONT_PROPERTY_NAME); titleFont.setHeight(12); titleLabel.getStyleRules().add(titleFont); fullContainer.getChildren().add(titleLabel); Container rootContainer = CoreWidgetsFactory.eINSTANCE.createContainer(); fullContainer.getChildren().add(rootContainer); rootContainer.setId("rootContainer"); GridLayoutRule rootGrid = SWTStylesFactory.eINSTANCE.createGridLayoutRule(); rootGrid.setPropertyName("layout"); rootGrid.setNumColumns(2); rootGrid.setMakeColumnsEqualWidth(true); rootContainer.getStyleRules().add(rootGrid); GridDataRule gridData = SWTStylesFactory.eINSTANCE.createGridDataRule(); gridData.setPropertyName("layout-data"); gridData.setGrabExcessHorizontalSpace(true); gridData.setGrabExcessVerticalSpace(true); gridData.setHorizontalAlignement(GridDataAlignment.FILL); gridData.setVerticalAlignement(GridDataAlignment.FILL); rootContainer.getStyleRules().add(gridData); // ColorRule color = CoreStylesFactory.eINSTANCE.createColorRule(); // color.setPropertyName("background-color"); // color.setBlue(255); // rootContainer.getStyleRules().add(color); Container masterContainer = AddressBookUIHelper.createMasterUI(); Container detailContainer = AddressBookUIHelper.createEmptyDetailUI(); rootContainer.getChildren().add(masterContainer); rootContainer.getChildren().add(detailContainer); EObject addressBookContent = (EObject) AddressBookHelper.createAddressBook(); rootContainer.set("datamodel", addressBookContent); } @Override public void createPartControl(Composite parent) { viewer = new SWTControlViewer(parent); viewer.setContents(fullContainer); viewer.getControl(); fullContainer.set("viewer", viewer); } @Override public void setFocus() { if (viewer != null) { viewer.getControl().setFocus(); } } }