/******************************************************************************* * Copyright (c) 2009 Fraunhofer IWU 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: * Fraunhofer IWU - initial API and implementation *******************************************************************************/ package net.enilink.komma.edit.ui.properties.tabbed; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; import net.enilink.komma.edit.domain.AdapterFactoryEditingDomain; import net.enilink.komma.edit.domain.IEditingDomain; import net.enilink.komma.edit.ui.provider.AdapterFactoryContentProvider; import net.enilink.komma.edit.ui.util.EditUIUtil; public class ExtendedAdvancedPropertiesSection extends AdvancedPropertySection { private boolean propertySourceProviderSet = false; @Override public void setInput(IWorkbenchPart part, ISelection selection) { if (!propertySourceProviderSet) { IEditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(part); if (editingDomain instanceof AdapterFactoryEditingDomain) { AdapterFactoryContentProvider adapterFactoryContentProvider = new AdapterFactoryContentProvider( ((AdapterFactoryEditingDomain) editingDomain).getAdapterFactory()); page.setPropertySourceProvider(adapterFactoryContentProvider); propertySourceProviderSet = true; } } super.setInput(part, selection); } @Override public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { super.createControls(parent, tabbedPropertySheetPage); } }