/* * Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) 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: * Eike Stepper - initial API and implementation * Martin Fluegge - bug 247226: Transparently support legacy models */ package org.eclipse.emf.cdo.dawn.ui.wizards.dialogs; import org.eclipse.emf.cdo.dawn.ui.composites.CDOResourceNodeChooserComposite; import org.eclipse.emf.cdo.view.CDOView; import org.eclipse.emf.common.util.URI; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; /** * @since 1.0 * @author Martin Fluegge */ public class CDOResourceNodeSelectionDialog extends Dialog { private final CDOView view; private CDOResourceNodeChooserComposite chooserComposite; private boolean showResources = false; private URI uri; public CDOResourceNodeSelectionDialog(Shell parentShell, CDOView view) { super(parentShell); this.view = view; } public CDOResourceNodeSelectionDialog(Shell parentShell, CDOView view, boolean showResources) { super(parentShell); this.view = view; this.showResources = showResources; } @Override protected Control createDialogArea(Composite parent) { Control parentControl = super.createDialogArea(parent); chooserComposite = new CDOResourceNodeChooserComposite((Composite)parentControl, SWT.NONE, "ecore", view); chooserComposite.showResources(showResources); chooserComposite.createAutomaticResourceName(); GridData gd = new GridData(GridData.FILL_BOTH); chooserComposite.setLayoutData(gd); return parentControl; } @Override protected Control createButtonBar(Composite parent) { Control buttonBar = super.createButtonBar(parent); GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER); buttonBar.setLayoutData(gd); getShell().pack(); return buttonBar; } @Override protected void initializeBounds() { getShell().setSize(300, 400); } public URI getResults() { return uri; } @Override public boolean close() { uri = chooserComposite.getURI(); return super.close(); } }