| /******************************************************************************* |
| * Copyright (c) 2004, 2007 Boeing. |
| * 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: |
| * Boeing - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.osee.ote.ui.test.manager.util; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| import org.eclipse.jface.viewers.ArrayContentProvider; |
| import org.eclipse.jface.viewers.LabelProvider; |
| import org.eclipse.jface.window.Window; |
| import org.eclipse.osee.framework.ui.swt.Displays; |
| import org.eclipse.osee.ote.ui.test.manager.core.TestManagerEditor; |
| import org.eclipse.ui.dialogs.ListSelectionDialog; |
| |
| /** |
| * @author Roberto E. Escobar |
| */ |
| public class TestManagerSelectDialog { |
| private final static String MESSAGE = "Select A Test Manager"; |
| private ListSelectionDialog listSelectionDialog; |
| private LabelProvider labelProvider; |
| |
| private TestManagerSelectDialog() { |
| this.labelProvider = new LabelProvider() { |
| @Override |
| public String getText(Object element) { |
| if (element instanceof TestManagerEditor) { |
| return ((TestManagerEditor) element).getPartName(); |
| } |
| return "Unknown element type"; |
| } |
| }; |
| TestManagerEditor[] input = PluginUtil.getTestManagers(); |
| this.listSelectionDialog = |
| new ListSelectionDialog(Displays.getActiveShell(), input, new ArrayContentProvider(), labelProvider, MESSAGE); |
| this.listSelectionDialog.setTitle(MESSAGE); |
| if (input.length > 0) { |
| this.listSelectionDialog.setInitialSelections(new Object[] {input[0]}); |
| } |
| } |
| |
| public int open() { |
| return listSelectionDialog.open(); |
| } |
| |
| public TestManagerEditor[] getResult() { |
| List<TestManagerEditor> tmes = new ArrayList<>(); |
| for (Object object : listSelectionDialog.getResult()) { |
| tmes.add((TestManagerEditor) object); |
| } |
| return tmes.toArray(new TestManagerEditor[tmes.size()]); |
| } |
| |
| public static TestManagerEditor[] getTestManagerFromUser() { |
| TestManagerEditor[] toReturn = null; |
| TestManagerSelectDialog dialog = new TestManagerSelectDialog(); |
| int result = dialog.open(); |
| if (result == Window.OK) { |
| toReturn = dialog.getResult(); |
| } |
| return toReturn != null ? toReturn : new TestManagerEditor[0]; |
| } |
| } |