package org.eclipse.bpmn2.modeler.ui.property.dialogs; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.dialogs.ListSelectionDialog; public class ShowHideElementsDialog extends ListSelectionDialog { public final static int MESSAGE_LABELS = 0; public final static int MESSAGE_ICONS = 1; public final static int MESSAGE_FLOWS = 2; public final static int GATEWAY_LABELS = 3; public final static int EVENT_LABELS = 4; public final static int SEQUENCEFLOW_LABELS = 5; static private List<String> elements = new ArrayList<String>(); static { elements.add(Messages.ShowHideElementsDialog_Message_Labels); elements.add(Messages.ShowHideElementsDialog_Message_Icons); elements.add(Messages.ShowHideElementsDialog_Message_Flows); elements.add(Messages.ShowHideElementsDialog_Gateway_Labels); elements.add(Messages.ShowHideElementsDialog_Event_Labels); elements.add(Messages.ShowHideElementsDialog_SequenceFlow_Labels); } static private IStructuredContentProvider contentProvider = new IStructuredContentProvider() { @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public Object[] getElements(Object inputElement) { return elements.toArray(); } }; static private LabelProvider labelProvider = new LabelProvider(); public List<Integer> getSelections() { Object result[] = super.getResult(); List<Integer> indexes = new ArrayList<Integer>(); int index = 0; for (String e : elements) { for (Object r : result) { if (e.equals(r)) indexes.add(new Integer(index)); } ++index; } return indexes; } public ShowHideElementsDialog(Shell shell) { super(shell, elements, contentProvider, labelProvider, Messages.ShowHideElementsDialog_Prompt); setTitle(Messages.ShowHideElementsDialog_Title); } }