下面列出了org.eclipse.jface.viewers.TreeViewer#getSelection ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void buildContextMenu( IMenuManager menu )
{
menu.add( new Separator( IWorkbenchActionConstants.MB_ADDITIONS ) );
TreeViewer treeViewer = (TreeViewer) getViewer( );
IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection( );
//temporary solution
if ( selection.size( ) == 1 )
{
Object obj = selection.getFirstElement( );
ScriptProviderFactory.createProvider( obj )
.createContextMenu( treeViewer, obj, menu );
}
else
{
ScriptProviderFactory.getDefaultProvider( )
.createContextMenu( treeViewer, selection, menu );
}
}
protected void assertSelected(TreeViewer treeViewer,
IOutlineNode... expectedSelection) {
ISelection selection = treeViewer.getSelection();
assertTrue(selection instanceof IStructuredSelection);
assertEquals(expectedSelection.length,
((IStructuredSelection) selection).size());
OUTER: for (Iterator<?> i = ((IStructuredSelection) selection)
.iterator(); i.hasNext();) {
Object selectedObject = i.next();
assertTrue(selectedObject instanceof IOutlineNode);
for (IOutlineNode expectedSelected : expectedSelection) {
if (nodeComparer.equals((IOutlineNode) selectedObject,
expectedSelected))
continue OUTER;
}
fail("Unexpected selection " + selectedObject.toString());
}
}
private List<XViewerColumn> getTableSelection(TreeViewer xColTableViewer) {
List<XViewerColumn> xCols = new ArrayList<>();
IStructuredSelection selection = (IStructuredSelection) xColTableViewer.getSelection();
if (selection.isEmpty()) {
return null;
}
Iterator<?> i = selection.iterator();
while (i.hasNext()) {
xCols.add((XViewerColumn) i.next());
}
return xCols;
}
protected void assertSelected(TreeViewer aTreeViewer, IOutlineNode... expectedSelection) {
ISelection selection = aTreeViewer.getSelection();
assertTrue(selection instanceof IStructuredSelection);
assertEquals(expectedSelection.length, ((IStructuredSelection) selection).size());
OUTER: for (Iterator<?> i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
Object selectedObject = i.next();
assertTrue(selectedObject instanceof IOutlineNode);
for (IOutlineNode expectedSelected : expectedSelection) {
if (nodeComparer.equals((IOutlineNode) selectedObject, expectedSelected))
continue OUTER;
}
fail("Unexpected selection " + selectedObject.toString());
}
}
protected void assertSelected(TreeViewer treeViewer, IOutlineNode... expectedSelection) {
ISelection selection = treeViewer.getSelection();
assertTrue(selection instanceof IStructuredSelection);
assertEquals(expectedSelection.length, ((IStructuredSelection) selection).size());
OUTER: for (Iterator<?> i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
Object selectedObject = i.next();
assertTrue(selectedObject instanceof IOutlineNode);
for (IOutlineNode expectedSelected : expectedSelection) {
if (nodeComparer.equals((IOutlineNode) selectedObject, expectedSelected))
continue OUTER;
}
fail("Unexpected selection " + selectedObject.toString());
}
}
@Override
public void selectionChanged(SelectionChangedEvent event){
TreeViewer tv = (TreeViewer) event.getSource();
StructuredSelection ss = (StructuredSelection) tv.getSelection();
Object selected = null;
Object firstElement = ss.isEmpty() ? null : ss.getFirstElement();
if (firstElement instanceof BlockTreeViewerItem) {
selected = ((BlockTreeViewerItem) firstElement).getBlock();
}
tvfa.updateSelection((Identifiable) selected);
if (selected != null) {
ContextServiceHolder.get().getRootContext().setTyped(selected);
}
}
@Override
public void selectionChanged(SelectionChangedEvent event){
TreeViewer tv = (TreeViewer) event.getSource();
StructuredSelection ss = (StructuredSelection) tv.getSelection();
tvfa.updateSelection(ss.isEmpty() ? null : ss.getFirstElement());
if (!ss.isEmpty()) {
IArticle ea = (IArticle) ss.getFirstElement();
ContextServiceHolder.get().getRootContext()
.setNamed("ch.elexis.core.ui.eigenartikel.selection", ea);
} else {
ContextServiceHolder.get().getRootContext()
.setNamed("ch.elexis.core.ui.eigenartikel.selection", null);
}
}
/**
* Builds the context menu. Single selection menu and multiple selection
* menu are created while selecting just single element or multiple elements
*
*
* @param menu
* the menu
*/
public void buildContextMenu( IMenuManager menu )
{
menu.add( new Separator( IWorkbenchActionConstants.MB_ADDITIONS ) );
TreeViewer treeViewer = (TreeViewer) getViewer( );
IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection( );
// temporary solution
Object input = treeViewer.getInput( );
if ( input instanceof Object[] )
{
Object[] inputs = (Object[]) input;
if ( inputs.length == 1 && inputs[0] instanceof ReportDesignHandle )
{
for ( Iterator iter = selection.iterator( ); iter.hasNext( ); )
{
if ( isIncludedLibrary( iter.next( ) ) )
{
return;
}
}
}
}
if ( selection.size( ) == 1 )
{
// Create Single Selection Menu
Object obj = selection.getFirstElement( );
if ( ProviderFactory.createProvider( obj ) != null )
{
ProviderFactory.createProvider( obj )
.createContextMenu( treeViewer, obj, menu );
}
if ( Policy.TRACING_MENU_SHOW )
{
System.out.println( "Menu(for Views) >> Shows for " + ProviderFactory.createProvider( obj ).getNodeDisplayName( obj ) ); //$NON-NLS-1$
}
}
else
{
// Added by ywang on 2004.9.15
// Create Multiple Selection Menu
if ( ProviderFactory.getDefaultProvider( ) != null)
{
ProviderFactory.getDefaultProvider( )
.createContextMenu( treeViewer, selection, menu );
}
if ( Policy.TRACING_MENU_SHOW )
{
System.out.println( "Menu(for Views) >> Shows for multi-selcetion." ); //$NON-NLS-1$
}
}
}