Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 71516 Details for
Bug 177587
MonitorViewPage SelectionProvider
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Made the SystemMonitorViewPart a SelectionProvider that wraps the table viewers selection provider
patch.txt (text/plain), 7.70 KB, created by
Kevin Doyle
on 2007-06-15 16:28:14 EDT
(
hide
)
Description:
Made the SystemMonitorViewPart a SelectionProvider that wraps the table viewers selection provider
Filename:
MIME Type:
Creator:
Kevin Doyle
Created:
2007-06-15 16:28:14 EDT
Size:
7.70 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.rse.ui >Index: UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java,v >retrieving revision 1.7 >diff -u -r1.7 MonitorViewPage.java >--- UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java 14 May 2007 13:04:56 -0000 1.7 >+++ UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java 15 Jun 2007 19:53:06 -0000 >@@ -15,6 +15,7 @@ > * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core > * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API > * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry >+ * Kevin Doyle (IBM) - [177587] changed wrapped selection provider in setFocus() > ********************************************************************************/ > > package org.eclipse.rse.internal.ui.view.monitor; >@@ -277,7 +278,8 @@ > > public void setFocus() > { >- _viewPart.getSite().setSelectionProvider(_viewer); >+ if (_viewPart != null) >+ _viewPart.setActiveViewerSelectionProvider(_viewer); > } > > public IActionBars getActionBars() >Index: UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java,v >retrieving revision 1.2 >diff -u -r1.2 MonitorViewWorkbook.java >--- UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java 5 Jun 2007 11:36:53 -0000 1.2 >+++ UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java 15 Jun 2007 19:53:06 -0000 >@@ -13,6 +13,7 @@ > * > * Contributors: > * {Name} (company) - description of contribution. >+ * Kevin Doyle (IBM) - [177587] createTabItem sets the wrapped selection provider > *******************************************************************************/ > > package org.eclipse.rse.internal.ui.view.monitor; >@@ -229,9 +230,11 @@ > monitorViewPage.setInput(root); > > SystemTableView viewer = monitorViewPage.getViewer(); >- _viewPart.getSite().setSelectionProvider(viewer); >- _viewPart.getSite().registerContextMenu(viewer.getContextMenuManager(), viewer); >- >+ if (_viewPart != null) >+ { >+ _viewPart.setActiveViewerSelectionProvider(viewer); >+ _viewPart.getSite().registerContextMenu(viewer.getContextMenuManager(), viewer); >+ } > monitorViewPage.setFocus(); > } > >Index: UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java,v >retrieving revision 1.4 >diff -u -r1.4 SystemMonitorViewPart.java >--- UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java 14 May 2007 13:04:56 -0000 1.4 >+++ UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java 15 Jun 2007 19:53:06 -0000 >@@ -14,13 +14,14 @@ > * Michael Berger (IBM) - 146339 Added refresh action graphic. > * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core > * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry >+ * Kevin Doyle (IBM) - [177587] Made MonitorViewPart a SelectionProvider > ********************************************************************************/ > > package org.eclipse.rse.internal.ui.view.monitor; > > import java.util.ArrayList; > import java.util.Vector; >- >+ > import org.eclipse.core.runtime.IAdaptable; > import org.eclipse.jface.action.IMenuManager; > import org.eclipse.jface.action.IStatusLineManager; >@@ -28,6 +29,7 @@ > import org.eclipse.jface.action.Separator; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.ISelectionChangedListener; >+import org.eclipse.jface.viewers.ISelectionProvider; > import org.eclipse.jface.viewers.SelectionChangedEvent; > import org.eclipse.jface.viewers.Viewer; > import org.eclipse.jface.window.Window; >@@ -90,7 +92,8 @@ > ISystemShellProvider, > ISystemRemoteChangeListener, > ISystemMessageLine, >- IRSEViewPart >+ IRSEViewPart, >+ ISelectionProvider > { > > >@@ -621,6 +624,11 @@ > private SubSetAction _subsetAction = null; > private PositionToAction _positionToAction = null; > >+ private ISelectionProvider viewerProvider = null; >+ private ArrayList selectionListeners = new ArrayList(); >+ >+ private ISelectionChangedListener selectionListener = null; >+ > // constants > public static final String ID = "org.eclipse.rse.ui.view.monitorView"; //$NON-NLS-1$ > // matches id in plugin.xml, view tag >@@ -672,6 +680,21 @@ > > RestoreStateRunnable restore = new RestoreStateRunnable(); > Display.getCurrent().asyncExec(restore); >+ >+ getSite().setSelectionProvider(this); >+ selectionListener = new ISelectionChangedListener() { >+ public void selectionChanged (SelectionChangedEvent event) >+ { >+ for (int i = 0; i < selectionListeners.size(); i++) >+ { >+ if (selectionListeners.get(i) instanceof ISelectionChangedListener) >+ { >+ ((ISelectionChangedListener) selectionListeners.get(i)).selectionChanged(event); >+ } >+ } >+ } >+ }; >+ > > fillLocalToolBar(); > >@@ -760,7 +783,60 @@ > { > } > >- >+ public void addSelectionChangedListener(ISelectionChangedListener listener) >+ { >+ if (selectionListeners != null) >+ selectionListeners.add(listener); >+ } >+ >+ public void removeSelectionChangedListener(ISelectionChangedListener listener) >+ { >+ if (selectionListeners != null) >+ selectionListeners.remove(listener); >+ } >+ >+ public ISelection getSelection() >+ { >+ if (viewerProvider == null) >+ return null; >+ else >+ return viewerProvider.getSelection(); >+ } >+ >+ /** >+ * Sets the wrapped selection provider. >+ * This method should only be called when the viewer changes. >+ * @param newProvider The new wrapped selection provider. >+ */ >+ public void setActiveViewerSelectionProvider(ISelectionProvider newProvider) >+ { >+ if (viewerProvider != null) >+ viewerProvider.removeSelectionChangedListener(selectionListener); >+ >+ viewerProvider = newProvider; >+ >+ if (newProvider != null) >+ { >+ newProvider.addSelectionChangedListener(selectionListener); >+ >+ // Create a new event and tell all listeners about it, so that the properties >+ // view is updated to show the new viewers selected object >+ SelectionChangedEvent event = new SelectionChangedEvent(newProvider, newProvider.getSelection()); >+ for (int i = 0; i < selectionListeners.size(); i++) >+ { >+ if (selectionListeners.get(i) instanceof ISelectionChangedListener) >+ { >+ ((ISelectionChangedListener) selectionListeners.get(i)).selectionChanged(event); >+ } >+ } >+ } >+ } >+ >+ public void setSelection(ISelection selection) >+ { >+ if (viewerProvider != null) >+ viewerProvider.setSelection(selection); >+ } > > public void addItemToMonitor(IAdaptable root) > { >@@ -921,7 +997,20 @@ > public void widgetSelected(SelectionEvent e) > { > Widget source = e.widget; >- >+ Widget item = e.item; >+ Object data = item.getData(); >+ MonitorViewPage page = null; >+ >+ if (data instanceof MonitorViewPage) >+ page = (MonitorViewPage) data; >+ >+ // Set the wrapped viewer to be the viewer of the new selected tab >+ if (page != null) >+ { >+ SystemTableView viewer = page.getViewer(); >+ setActiveViewerSelectionProvider(viewer); >+ } >+ > if (source == _folder.getFolder()) > { > updateActionStates();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
mober.at+eclipse
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 177587
: 71516