analysis: Move plugins to their own sub-directory
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / uml2sd / SDWidgetSelectionProvider.java
1 /**********************************************************************
2 * Copyright (c) 2005, 2014 IBM Corporation, Ericsson
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
11 **********************************************************************/
12
13 package org.eclipse.tracecompass.tmf.ui.views.uml2sd;
14
15 import java.util.ArrayList;
16 import java.util.List;
17
18 import org.eclipse.jface.viewers.ISelection;
19 import org.eclipse.jface.viewers.ISelectionChangedListener;
20 import org.eclipse.jface.viewers.ISelectionProvider;
21 import org.eclipse.jface.viewers.SelectionChangedEvent;
22
23 /**
24 * <p>
25 * Informs all registered listeners of graph node selection change in the Frame.
26 * </p>
27 *
28 * @version 1.0
29 * @author sveyrier
30 */
31 public class SDWidgetSelectionProvider implements ISelectionProvider {
32
33 // ------------------------------------------------------------------------
34 // Attributes
35 // ------------------------------------------------------------------------
36
37 /**
38 * The listener list
39 */
40 private List<ISelectionChangedListener> fListenerList = null;
41
42 /**
43 * The current selection
44 */
45 private ISelection fCurrentSelection = null;
46
47 // ------------------------------------------------------------------------
48 // Constructor
49 // ------------------------------------------------------------------------
50
51 /**
52 * Standard constructor
53 */
54 protected SDWidgetSelectionProvider() {
55 fListenerList = new ArrayList<>();
56 }
57
58 // ------------------------------------------------------------------------
59 // Methods
60 // ------------------------------------------------------------------------
61
62 @Override
63 public void addSelectionChangedListener(ISelectionChangedListener listener) {
64 if (!fListenerList.contains(listener)) {
65 fListenerList.add(listener);
66 }
67 }
68
69 @Override
70 public void removeSelectionChangedListener(ISelectionChangedListener listener) {
71 fListenerList.remove(listener);
72 }
73
74 @Override
75 public void setSelection(ISelection selection) {
76 fCurrentSelection = selection;
77 for (int i = 0; i < fListenerList.size(); i++) {
78 ISelectionChangedListener list = fListenerList.get(i);
79 list.selectionChanged(new SelectionChangedEvent(this, fCurrentSelection));
80 }
81 }
82
83 @Override
84 public ISelection getSelection() {
85 return fCurrentSelection;
86 }
87
88 }
This page took 0.042079 seconds and 5 git commands to generate.