use of org.eclipse.ui.part.MultiPageSelectionProvider in project tmdm-studio-se by Talend.
the class XSDEditor method getSelectionManager.
public ISelectionProvider getSelectionManager() {
if (editorSelectionProvider == null) {
editorSelectionProvider = new MultiPageSelectionProvider(this);
getSite().setSelectionProvider(editorSelectionProvider);
}
return editorSelectionProvider;
}
use of org.eclipse.ui.part.MultiPageSelectionProvider in project webtools.sourceediting by eclipse.
the class XMLMultiPageEditorPart method pageChange.
/*
* (non-Javadoc)
*
* @see org.eclipse.ui.part.MultiPageEditorPart#pageChange(int)
*/
protected void pageChange(int newPageIndex) {
if (newPageIndex == fSourcePageIndex && fDesignViewer != null) {
ISelectionProvider provider = fDesignViewer.getSelectionProvider();
if (provider != null) {
getTextEditor().getSelectionProvider().setSelection(provider.getSelection());
}
}
super.pageChange(newPageIndex);
saveLastActivePageIndex(newPageIndex);
if (newPageIndex == fDesignPageIndex && fDesignViewer != null) {
// design page isn't an IEditorPart, therefore we have to send
// selection changes ourselves
ISelectionProvider selectionProvider = fDesignViewer.getSelectionProvider();
if (selectionProvider != null) {
SelectionChangedEvent event = new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection());
((MultiPageSelectionProvider) getSite().getSelectionProvider()).fireSelectionChanged(event);
((MultiPageSelectionProvider) getSite().getSelectionProvider()).firePostSelectionChanged(event);
}
}
}
use of org.eclipse.ui.part.MultiPageSelectionProvider in project webtools.sourceediting by eclipse.
the class CommonSelectionManager method setSelection.
public void setSelection(ISelection selection, ISelectionProvider source) {
if (enableNotify) {
currentSelection = selection;
enableNotify = false;
try {
SelectionChangedEvent event = new SelectionChangedEvent(source, selection);
List copyOfListenerList = new ArrayList(listenerList);
for (Iterator i = copyOfListenerList.iterator(); i.hasNext(); ) {
ISelectionChangedListener listener = (ISelectionChangedListener) i.next();
listener.selectionChanged(event);
}
// Bug 338126 Properties view not synced with XSD and WSDL design views
// PropertySheet was changed to be a post selection listener
// We need to fire off a post selection change event in order for the properties view to update.
IEditorSite site = getMultiPageEditor().getEditorSite();
if (site != null) {
ISelectionProvider selectionProvider = site.getSelectionProvider();
if (selectionProvider instanceof MultiPageSelectionProvider) {
((MultiPageSelectionProvider) selectionProvider).firePostSelectionChanged(event);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
enableNotify = true;
}
}
}
Aggregations