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(); |