View | Details | Raw Unified | Return to bug 177587
Collapse All | Expand All

(-)UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java (-1 / +3 lines)
Lines 15-20 Link Here
15
 * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
15
 * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
16
 * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
16
 * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
17
 * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
17
 * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
18
 * Kevin Doyle (IBM) - [177587] changed wrapped selection provider in setFocus()
18
 ********************************************************************************/
19
 ********************************************************************************/
19
20
20
package org.eclipse.rse.internal.ui.view.monitor;
21
package org.eclipse.rse.internal.ui.view.monitor;
Lines 277-283 Link Here
277
278
278
	public void setFocus()
279
	public void setFocus()
279
	{
280
	{
280
		_viewPart.getSite().setSelectionProvider(_viewer);
281
		if (_viewPart != null)
282
			_viewPart.setActiveViewerSelectionProvider(_viewer);
281
	}
283
	}
282
	
284
	
283
	public IActionBars getActionBars()
285
	public IActionBars getActionBars()
(-)UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java (-3 / +6 lines)
Lines 13-18 Link Here
13
 * 
13
 * 
14
 * Contributors:
14
 * Contributors:
15
 * {Name} (company) - description of contribution.
15
 * {Name} (company) - description of contribution.
16
 * Kevin Doyle (IBM) - [177587] createTabItem sets the wrapped selection provider
16
 *******************************************************************************/
17
 *******************************************************************************/
17
18
18
package org.eclipse.rse.internal.ui.view.monitor;
19
package org.eclipse.rse.internal.ui.view.monitor;
Lines 229-237 Link Here
229
		monitorViewPage.setInput(root);
230
		monitorViewPage.setInput(root);
230
231
231
		SystemTableView viewer = monitorViewPage.getViewer();
232
		SystemTableView viewer = monitorViewPage.getViewer();
232
		_viewPart.getSite().setSelectionProvider(viewer);
233
		if (_viewPart != null)
233
		_viewPart.getSite().registerContextMenu(viewer.getContextMenuManager(), viewer);
234
		{
234
		
235
			_viewPart.setActiveViewerSelectionProvider(viewer);
236
			_viewPart.getSite().registerContextMenu(viewer.getContextMenuManager(), viewer);
237
		}
235
		monitorViewPage.setFocus();
238
		monitorViewPage.setFocus();
236
	}
239
	}
237
240
(-)UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java (-4 / +93 lines)
Lines 14-26 Link Here
14
 * Michael Berger (IBM) - 146339 Added refresh action graphic.
14
 * Michael Berger (IBM) - 146339 Added refresh action graphic.
15
 * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
15
 * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
16
 * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
16
 * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
17
 * Kevin Doyle (IBM) - [177587] Made MonitorViewPart a SelectionProvider
17
 ********************************************************************************/
18
 ********************************************************************************/
18
19
19
package org.eclipse.rse.internal.ui.view.monitor;
20
package org.eclipse.rse.internal.ui.view.monitor;
20
21
21
import java.util.ArrayList;
22
import java.util.ArrayList;
22
import java.util.Vector;
23
import java.util.Vector;
23
24
 
24
import org.eclipse.core.runtime.IAdaptable;
25
import org.eclipse.core.runtime.IAdaptable;
25
import org.eclipse.jface.action.IMenuManager;
26
import org.eclipse.jface.action.IMenuManager;
26
import org.eclipse.jface.action.IStatusLineManager;
27
import org.eclipse.jface.action.IStatusLineManager;
Lines 28-33 Link Here
28
import org.eclipse.jface.action.Separator;
29
import org.eclipse.jface.action.Separator;
29
import org.eclipse.jface.viewers.ISelection;
30
import org.eclipse.jface.viewers.ISelection;
30
import org.eclipse.jface.viewers.ISelectionChangedListener;
31
import org.eclipse.jface.viewers.ISelectionChangedListener;
32
import org.eclipse.jface.viewers.ISelectionProvider;
31
import org.eclipse.jface.viewers.SelectionChangedEvent;
33
import org.eclipse.jface.viewers.SelectionChangedEvent;
32
import org.eclipse.jface.viewers.Viewer;
34
import org.eclipse.jface.viewers.Viewer;
33
import org.eclipse.jface.window.Window;
35
import org.eclipse.jface.window.Window;
Lines 90-96 Link Here
90
		ISystemShellProvider,
92
		ISystemShellProvider,
91
		ISystemRemoteChangeListener,
93
		ISystemRemoteChangeListener,
92
		ISystemMessageLine,
94
		ISystemMessageLine,
93
		IRSEViewPart
95
		IRSEViewPart,
96
		ISelectionProvider
94
{
97
{
95
98
96
99
Lines 621-626 Link Here
621
	private SubSetAction _subsetAction = null;
624
	private SubSetAction _subsetAction = null;
622
	private PositionToAction _positionToAction = null;
625
	private PositionToAction _positionToAction = null;
623
	
626
	
627
	private ISelectionProvider viewerProvider = null;
628
	private ArrayList selectionListeners = new ArrayList();
629
	
630
	private ISelectionChangedListener selectionListener = null;
631
	
624
	// constants			
632
	// constants			
625
	public static final String ID = "org.eclipse.rse.ui.view.monitorView"; //$NON-NLS-1$
633
	public static final String ID = "org.eclipse.rse.ui.view.monitorView"; //$NON-NLS-1$
626
	// matches id in plugin.xml, view tag	
634
	// matches id in plugin.xml, view tag	
Lines 672-677 Link Here
672
680
673
		RestoreStateRunnable restore = new RestoreStateRunnable();
681
		RestoreStateRunnable restore = new RestoreStateRunnable();
674
		Display.getCurrent().asyncExec(restore);
682
		Display.getCurrent().asyncExec(restore);
683
684
		getSite().setSelectionProvider(this);
685
		selectionListener = new ISelectionChangedListener() {
686
			public void selectionChanged (SelectionChangedEvent event)
687
			{
688
				for (int i = 0; i < selectionListeners.size(); i++)
689
				{
690
					if (selectionListeners.get(i) instanceof ISelectionChangedListener)
691
					{
692
						((ISelectionChangedListener) selectionListeners.get(i)).selectionChanged(event);
693
					}
694
				}
695
			}
696
		};
697
		
675
		
698
		
676
		fillLocalToolBar();
699
		fillLocalToolBar();
677
		
700
		
Lines 760-766 Link Here
760
	{
783
	{
761
	}
784
	}
762
785
763
786
	public void addSelectionChangedListener(ISelectionChangedListener listener)
787
	{
788
		if (selectionListeners != null)
789
			selectionListeners.add(listener);
790
	}
791
	
792
	public void removeSelectionChangedListener(ISelectionChangedListener listener)
793
	{
794
		if (selectionListeners != null)
795
			selectionListeners.remove(listener);
796
	}
797
	
798
	public ISelection getSelection()
799
	{
800
		if (viewerProvider == null)
801
			return null;
802
		else
803
			return viewerProvider.getSelection();
804
	}
805
	
806
	/**
807
	 * Sets the wrapped selection provider.
808
	 * This method should only be called when the viewer changes.
809
	 * @param newProvider The new wrapped selection provider.
810
	 */
811
	public void setActiveViewerSelectionProvider(ISelectionProvider newProvider)
812
	{
813
		if (viewerProvider != null)
814
			viewerProvider.removeSelectionChangedListener(selectionListener);
815
	
816
		viewerProvider = newProvider;
817
			
818
		if (newProvider != null)
819
		{
820
			newProvider.addSelectionChangedListener(selectionListener);
821
			
822
			// Create a new event and tell all listeners about it, so that the properties
823
			// view is updated to show the new viewers selected object
824
			SelectionChangedEvent event = new SelectionChangedEvent(newProvider, newProvider.getSelection());
825
			for (int i = 0; i < selectionListeners.size(); i++)
826
			{
827
				if (selectionListeners.get(i) instanceof ISelectionChangedListener)
828
				{
829
					((ISelectionChangedListener) selectionListeners.get(i)).selectionChanged(event);
830
				}
831
			}
832
		}
833
	}
834
	
835
	public void setSelection(ISelection selection)
836
	{
837
		if (viewerProvider != null)
838
			viewerProvider.setSelection(selection);
839
	}
764
840
765
	public void addItemToMonitor(IAdaptable root)
841
	public void addItemToMonitor(IAdaptable root)
766
	{
842
	{
Lines 921-927 Link Here
921
	public void widgetSelected(SelectionEvent e)
997
	public void widgetSelected(SelectionEvent e)
922
	{
998
	{
923
		Widget source = e.widget;
999
		Widget source = e.widget;
924
1000
		Widget item = e.item;
1001
		Object data = item.getData();
1002
		MonitorViewPage page = null;	
1003
		
1004
		if (data instanceof MonitorViewPage)
1005
			page = (MonitorViewPage) data;
1006
		
1007
		// Set the wrapped viewer to be the viewer of the new selected tab
1008
		if (page != null)
1009
		{
1010
			SystemTableView viewer = page.getViewer();
1011
			setActiveViewerSelectionProvider(viewer);
1012
		}
1013
		
925
		if (source == _folder.getFolder())
1014
		if (source == _folder.getFolder())
926
		{
1015
		{
927
			updateActionStates();
1016
			updateActionStates();

Return to bug 177587