package org.eclipse.emf.emfstore.client.ui.views.users; import java.util.Collection; import java.util.Map; import org.eclipse.emf.emfstore.server.model.ProjectInfo; import org.eclipse.emf.emfstore.server.model.accesscontrol.PermissionSet; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.TitleAreaDialog; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TabFolder; import org.eclipse.swt.widgets.TabItem; public class AdminGuiDialog extends TitleAreaDialog { private static class ProjectsTreeContentProvider implements ITreeContentProvider { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object inputElement) { return getChildren(inputElement); } public Object[] getChildren(Object parentElement) { if (parentElement instanceof Collection<?>) { Collection<?> projects = (Collection<?>) parentElement; return projects.toArray(); } return new Object[] {}; } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return getChildren(element).length > 0; } } private PermissionSet permissionSet; private Collection<ProjectInfo> projects; private Map<String, ProjectInfo> projectInfoMap; private Composite editorComposite; /** * Create the dialog. * * @param parentShell */ public AdminGuiDialog(Shell parentShell, PermissionSet permissionSet, Map<String, ProjectInfo> projectInfoMap) { super(parentShell); this.permissionSet = permissionSet; this.projectInfoMap = projectInfoMap; } /** * Create contents of the dialog. * * @param parent */ @Override protected Control createDialogArea(Composite parent) { setTitle("User Administration"); Composite area = (Composite) super.createDialogArea(parent); Composite container = new Composite(area, SWT.NONE); container.setLayout(new FillLayout(SWT.HORIZONTAL)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); SashForm sashForm = new SashForm(container, SWT.BORDER | SWT.SMOOTH); TabFolder tabFolder = new TabFolder(sashForm, SWT.NONE); TabItem tbtmUsers = new TabItem(tabFolder, SWT.NONE); tbtmUsers.setText("Users"); Menu menu = new Menu(tabFolder); tabFolder.setMenu(menu); editorComposite = new Composite(sashForm, SWT.NONE); editorComposite.setLayout(new FillLayout(SWT.HORIZONTAL)); sashForm.setWeights(new int[] { 1, 2 }); return area; } /** * Create contents of the button bar. * * @param parent */ @Override protected void createButtonsForButtonBar(Composite parent) { createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); } /** * Return the initial size of the dialog. */ @Override protected Point getInitialSize() { return new Point(788, 716); } }