/* * Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis, * Rick Salay. * 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: * Alessio Di Sandro - Implementation. */ package edu.toronto.cs.se.mmint.mid.ui; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.dialogs.ElementTreeSelectionDialog; public class MIDTreeSelectionDialog extends ElementTreeSelectionDialog { ITreeContentProvider contentProvider; Object input; public MIDTreeSelectionDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider, Object input) { super(parent, labelProvider, contentProvider); this.contentProvider = contentProvider; this.input = input; setInput(input); } public Object getUniqueResult() { Object[] results = contentProvider.getElements(input); if (results.length == 1 && !contentProvider.hasChildren(results[0])) { return results[0]; } return null; } }