/** @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite) */ @Override public void createControl(final Composite parent) { widgetFactory = new TabbedPropertySheetWidgetFactory(); tabbedPropertyComposite = new TabbedPropertyComposite(parent, widgetFactory, hasTitleBar); widgetFactory.paintBordersFor(tabbedPropertyComposite); tabbedPropertyComposite.setLayout(new FormLayout()); final FormData formData = new FormData(); formData.left = new FormAttachment(0, 0); formData.right = new FormAttachment(100, 0); formData.top = new FormAttachment(0, 0); formData.bottom = new FormAttachment(100, 0); tabbedPropertyComposite.setLayoutData(formData); tabbedPropertyViewer = new TabbedPropertyViewer(tabbedPropertyComposite.getList()); tabbedPropertyViewer.setContentProvider(tabListContentProvider); tabbedPropertyViewer.setLabelProvider(new TabbedPropertySheetPageLabelProvider()); tabbedPropertyViewer.addSelectionChangedListener(new SelectionChangedListener()); tabbedPropertyComposite .getScrolledComposite() .addControlListener( new ControlAdapter() { @Override public void controlResized(final ControlEvent e) { resizeScrolledComposite(); } }); /** Add a part activation listener. */ cachedWorkbenchWindow = getSite().getWorkbenchWindow(); cachedWorkbenchWindow.getPartService().addPartListener(partActivationListener); /** Add a label provider change listener. */ if (hasTitleBar) { registry.getLabelProvider().addListener(this); } }