package org.eclipse.emf.emfstore.client.ui.views.users;
import org.eclipse.emf.emfstore.server.model.accesscontrol.ACUser;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.views.properties.PinPropertySheetAction;
import org.eclipse.ui.views.properties.PropertySheet;
/**
* this properties view only listens to user selections
*
* @author boehlke
*
*/
public class UserPropertiesView extends PropertySheet {
public static final String ID = "org.eclipse.emf.emfstore.client.ui.views.users.UserPropertiesView"; //$NON-NLS-1$
public UserPropertiesView() {
}
/**
* only listen to relevant selection {@inheritDoc}
*
* @see org.eclipse.ui.views.properties.PropertySheet#selectionChanged(org.eclipse.ui.IWorkbenchPart,
* org.eclipse.jface.viewers.ISelection)
*/
@Override
public void selectionChanged(IWorkbenchPart part, ISelection sel) {
if (((IStructuredSelection) sel).getFirstElement() instanceof ACUser) {
super.selectionChanged(part, sel);
}
}
/**
* Create contents of the view part.
*
* @param parent
*/
@Override
public void createPartControl(Composite parent) {
super.createPartControl(parent);
initializeToolBar();
initializeMenu();
}
@Override
public boolean isPinned() {
return false;
}
/**
* Initialize the toolbar.
*/
private void initializeToolBar() {
IToolBarManager toolbarManager = getViewSite().getActionBars().getToolBarManager();
}
/**
* Initialize the menu.
*/
private void initializeMenu() {
IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
IContributionItem[] items = menuManager.getItems();
for (IContributionItem iContributionItem : items) {
if (iContributionItem instanceof ActionContributionItem) {
if (((ActionContributionItem) iContributionItem).getAction() instanceof PinPropertySheetAction) {
menuManager.remove(iContributionItem);
break;
}
}
}
}
@Override
public void setFocus() {
// Set the focus
}
}