List of usage examples for org.eclipse.jface.viewers IStructuredSelection toArray
public Object[] toArray();
From source file:com.siteview.mde.internal.ui.editor.schema.SchemaStringAttributeDetails.java
License:Open Source License
public void hookListeners() { super.hookListeners(); fTransTrue.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (blockListeners()) return; getAttribute().setTranslatableProperty(fTransTrue.getSelection()); }/*from w ww.ja v a 2s .c o m*/ }); fAddRestriction.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (blockListeners()) return; NewRestrictionDialog dialog = new NewRestrictionDialog(getPage().getSite().getShell()); if (dialog.open() != Window.OK) return; String text = dialog.getNewRestriction(); if (text != null && text.length() > 0) { ISchemaSimpleType type = getAttribute().getType(); ChoiceRestriction res = (ChoiceRestriction) type.getRestriction(); Vector vres = new Vector(); if (res != null) { Object[] currRes = res.getChildren(); for (int i = 0; i < currRes.length; i++) { vres.add(currRes[i]); } } vres.add(new SchemaEnumeration(getAttribute().getSchema(), text)); if (res == null) res = new ChoiceRestriction(getAttribute().getSchema()); res.setChildren(vres); if (type instanceof SchemaSimpleType) ((SchemaSimpleType) type).setRestriction(res); fRestrictionsTable.refresh(); } } }); fRemoveRestriction.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (blockListeners()) return; ISelection selection = fRestrictionsTable.getSelection(); if (selection.isEmpty()) return; if (!(selection instanceof IStructuredSelection)) return; IStructuredSelection sselection = (IStructuredSelection) selection; Object[] aselection = sselection.toArray(); ISchemaSimpleType type = getAttribute().getType(); ChoiceRestriction res = (ChoiceRestriction) type.getRestriction(); Vector vres = new Vector(); if (res != null) { Object[] currRes = res.getChildren(); for (int i = 0; i < currRes.length; i++) { boolean stays = true; for (int j = 0; j < aselection.length; j++) { if (currRes[i].equals(aselection[j])) stays = false; } if (stays) vres.add(currRes[i]); } res.setChildren(vres); if (type instanceof SchemaSimpleType) { if (vres.size() == 0) ((SchemaSimpleType) type).setRestriction(null); else ((SchemaSimpleType) type).setRestriction(res); } fRestrictionsTable.refresh(); } } }); fRestrictionsTable.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (blockListeners()) return; fRemoveRestriction .setEnabled(getAttribute().getSchema().isEditable() && !event.getSelection().isEmpty()); } }); }
From source file:com.siteview.mde.internal.ui.editor.site.CategorySection.java
License:Open Source License
public void createClient(Section section, FormToolkit toolkit) { fModel = (ISiteModel) getPage().getModel(); fModel.addModelChangedListener(this); Composite container = createClientContainer(section, 2, toolkit); createViewerPartControl(container, SWT.MULTI, 2, toolkit); fCategoryTreePart = getTreePart();/*w w w .jav a 2 s.c om*/ fCategoryViewer = fCategoryTreePart.getTreeViewer(); fCategoryViewer.setContentProvider(new CategoryContentProvider()); fSiteLabelProvider = new SiteLabelProvider(); fCategoryViewer.setLabelProvider(fSiteLabelProvider); fCategoryViewer.setInput(fModel.getSite()); int ops = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_DEFAULT; Transfer[] transfers = new Transfer[] { ModelDataTransfer.getInstance() }; if (isEditable()) { fCategoryViewer.addDropSupport(ops, transfers, new ViewerDropAdapter(fCategoryViewer) { public void dragEnter(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragEnter(event); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent) */ public void dragOperationChanged(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragOperationChanged(event); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOver(org.eclipse.swt.dnd.DropTargetEvent) */ public void dragOver(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragOver(event); } /** * Returns the position of the given event's coordinates * relative to its target. The position is determined to * be before, after, or on the item, based on some * threshold value. * * @param event * the event * @return one of the <code>LOCATION_* </code> * constants defined in this class */ protected int determineLocation(DropTargetEvent event) { if (!(event.item instanceof Item)) { return LOCATION_NONE; } Item item = (Item) event.item; Point coordinates = new Point(event.x, event.y); coordinates = getViewer().getControl().toControl(coordinates); if (item != null) { Rectangle bounds = getBounds(item); if (bounds == null) { return LOCATION_NONE; } } return LOCATION_ON; } public boolean performDrop(Object data) { if (!(data instanceof Object[])) return false; Object target = getCurrentTarget(); int op = getCurrentOperation(); Object[] objects = (Object[]) data; if (objects.length > 0 && objects[0] instanceof SiteFeatureAdapter) { if (op == DND.DROP_COPY && target != null) { copyFeature((SiteFeatureAdapter) objects[0], target); } else { moveFeature((SiteFeatureAdapter) objects[0], target); } return true; } return false; } public boolean validateDrop(Object target, int operation, TransferData transferType) { return (target instanceof ISiteCategoryDefinition || target == null); } }); } fCategoryViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, transfers, new DragSourceListener() { public void dragStart(DragSourceEvent event) { IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection(); if (ssel == null || ssel.isEmpty() || !(ssel.getFirstElement() instanceof SiteFeatureAdapter)) { event.doit = false; } } public void dragSetData(DragSourceEvent event) { IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection(); event.data = ssel.toArray(); } public void dragFinished(DragSourceEvent event) { } }); fCategoryTreePart.setButtonEnabled(BUTTON_ADD_CATEGORY, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_ADD_FEATURE, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_BUILD_FEATURE, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_BUILD_ALL, isEditable()); // fCategoryViewer.expandAll(); toolkit.paintBordersFor(container); section.setClient(container); initialize(); }
From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardLocalePage.java
License:Open Source License
private void handleAdd() { IStructuredSelection ssel = (IStructuredSelection) fAvailableListViewer.getSelection(); if (ssel.size() > 0) { Table table = fAvailableListViewer.getTable(); int index = table.getSelectionIndices()[0]; Object[] selection = ssel.toArray(); setBlockSelectionListeners(true); setRedraw(false);// w w w . j av a 2s.com for (int i = 0; i < selection.length; i++) { doAdd(selection[i]); } setRedraw(true); setBlockSelectionListeners(false); table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1); pageChanged(true, false); } }
From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardLocalePage.java
License:Open Source License
private void handleRemove() { IStructuredSelection ssel = (IStructuredSelection) fSelectedListViewer.getSelection(); if (ssel.size() > 0) { Table table = fSelectedListViewer.getTable(); int index = table.getSelectionIndices()[0]; Object[] selection = ssel.toArray(); setBlockSelectionListeners(true); setRedraw(false);/*ww w. jav a 2 s . com*/ for (int i = 0; i < selection.length; i++) { doRemove(selection[i]); } setRedraw(true); setBlockSelectionListeners(false); table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1); pageChanged(false, true); } }
From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardPluginPage.java
License:Open Source License
private void handleAdd() { IStructuredSelection ssel = (IStructuredSelection) fAvailableViewer.getSelection(); if (ssel.size() > 0) { Table table = fAvailableViewer.getTable(); int index = table.getSelectionIndices()[0]; Object[] selection = ssel.toArray(); setBlockSelectionListeners(true); setRedraw(false);/*from w w w . j a v a2 s.c o m*/ for (int i = 0; i < selection.length; i++) { doAdd(selection[i]); } setRedraw(true); setBlockSelectionListeners(false); table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1); pageChanged(true, false); } }
From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardPluginPage.java
License:Open Source License
private void handleRemove() { IStructuredSelection ssel = (IStructuredSelection) fSelectedViewer.getSelection(); if (ssel.size() > 0) { Table table = fSelectedViewer.getTable(); int index = table.getSelectionIndices()[0]; Object[] selection = ssel.toArray(); setBlockSelectionListeners(true); setRedraw(false);/*from w w w.ja v a2 s. c o m*/ for (int i = 0; i < selection.length; i++) { doRemove(selection[i]); } setRedraw(true); setBlockSelectionListeners(false); table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1); pageChanged(false, true); } }
From source file:com.siteview.mde.internal.ui.views.plugins.PluginsView.java
License:Open Source License
private void handleSelectDependencies() { IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection(); if (selection.size() == 0) return;/*from www . j ava 2 s. co m*/ IMonitorModelBase[] models = new IMonitorModelBase[selection.size()]; System.arraycopy(selection.toArray(), 0, models, 0, selection.size()); // exclude "org.eclipse.ui.workbench.compatibility" - it is only needed for pre-3.0 bundles Set set = DependencyManager.getSelfandDependencies(models, new String[] { "org.eclipse.ui.workbench.compatibility" }); //$NON-NLS-1$ Object[] symbolicNames = set.toArray(); ArrayList result = new ArrayList(set.size()); for (int i = 0; i < symbolicNames.length; i++) { IMonitorModelBase model = MonitorRegistry.findModel(symbolicNames[i].toString()); if (model != null) result.add(model); } fTreeViewer.setSelection(new StructuredSelection(result.toArray())); }
From source file:com.smartmonkey.recrep.SMonkeyViewer.java
License:Apache License
/** * Create contents of the application window. * /*w w w . j a v a2 s. c o m*/ * @param parent */ @Override protected Control createContents(Composite parent) { parent.setLayout(new FillLayout()); SashForm baseSash = new SashForm(parent, SWT.HORIZONTAL | SWT.NONE); // draw the canvas with border, so the divider area for sash form can be // highlighted SashForm leftSash = new SashForm(baseSash, SWT.VERTICAL); mScreenshotCanvas = new Canvas(leftSash, SWT.BORDER | SWT.NO_REDRAW_RESIZE); mScreenshotCanvas.addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (e.button == 3) // Right Click { SMonkeyModel.getModel().toggleExploreMode(); } else if (e.button == 1) // Left Click { SMonkeyModel.getModel().touch(); } } }); mScreenshotCanvas.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); mScreenshotCanvas.addPaintListener(new PaintListener() { @Override public void paintControl(PaintEvent e) { Image image = SMonkeyModel.getModel().getScreenshot(); if (image != null) { updateScreenshotTransformation(); // shifting the image here, so that there's a border around // screen shot // this makes highlighting red rectangles on the screen shot // edges more visible Transform t = new Transform(e.gc.getDevice()); t.translate(mDx, mDy); t.scale(mScale, mScale); e.gc.setTransform(t); e.gc.drawImage(image, 0, 0); // this resets the transformation to identity transform, // i.e. no change // we don't use transformation here because it will cause // the line pattern // and line width of highlight rect to be scaled, causing to // appear to be blurry e.gc.setTransform(null); if (SMonkeyModel.getModel().shouldShowNafNodes()) { // highlight the "Not Accessibility Friendly" nodes e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW)); e.gc.setBackground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW)); for (Rectangle r : SMonkeyModel.getModel().getNafNodes()) { e.gc.setAlpha(50); e.gc.fillRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y), getScaledSize(r.width), getScaledSize(r.height)); e.gc.setAlpha(255); e.gc.setLineStyle(SWT.LINE_SOLID); e.gc.setLineWidth(2); e.gc.drawRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y), getScaledSize(r.width), getScaledSize(r.height)); } } // draw the mouseover rects Rectangle rect = SMonkeyModel.getModel().getCurrentDrawingRect(); if (rect != null) { e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_RED)); if (SMonkeyModel.getModel().isExploreMode()) { // when we highlight nodes dynamically on mouse // move, // use dashed borders e.gc.setLineStyle(SWT.LINE_DASH); e.gc.setLineWidth(1); } else { // when highlighting nodes on tree node selection, // use solid borders e.gc.setLineStyle(SWT.LINE_SOLID); e.gc.setLineWidth(2); } e.gc.drawRectangle(mDx + getScaledSize(rect.x), mDy + getScaledSize(rect.y), getScaledSize(rect.width), getScaledSize(rect.height)); } } } }); mScreenshotCanvas.addMouseMoveListener(new MouseMoveListener() { @Override public void mouseMove(MouseEvent e) { if (SMonkeyModel.getModel().isExploreMode()) { SMonkeyModel.getModel().updateSelectionForCoordinates(getInverseScaledSize(e.x - mDx), getInverseScaledSize(e.y - mDy)); } } }); // Lower Left Base contains the physical buttons on the phone SashForm lowerLeftBase = new SashForm(leftSash, SWT.HORIZONTAL); Composite buttonComposite = new Composite(lowerLeftBase, SWT.BORDER); ToolBarManager physicalButtonToolbarManager = new ToolBarManager(); physicalButtonToolbarManager.add(new Action() { @Override public ImageDescriptor getImageDescriptor() { return ImageHelper.loadImageDescriptorFromResource("images/back_gray.png"); } public void run() { SMonkeyModel.getModel().pressButton(PhysicalButton.BACK); } }); physicalButtonToolbarManager.add(new Action() { @Override public ImageDescriptor getImageDescriptor() { return ImageHelper.loadImageDescriptorFromResource("images/menu_gray.png"); } public void run() { SMonkeyModel.getModel().pressButton(PhysicalButton.MENU); } }); physicalButtonToolbarManager.add(new Action() { @Override public ImageDescriptor getImageDescriptor() { return ImageHelper.loadImageDescriptorFromResource("images/home_gray.png"); } public void run() { SMonkeyModel.getModel().pressButton(PhysicalButton.HOME); } }); physicalButtonToolbarManager.add(new Action() { @Override public ImageDescriptor getImageDescriptor() { return ImageHelper.loadImageDescriptorFromResource("images/noop.png"); } public void run() { SMonkeyModel.getModel().noop(); } }); physicalButtonToolbarManager.add(mFBLoginAction); physicalButtonToolbarManager.createControl(buttonComposite); Composite textComposite = new Composite(lowerLeftBase, SWT.BORDER); mText = new Text(textComposite, SWT.SINGLE); mSendTextButton = new Button(textComposite, SWT.PUSH); mSendTextButton.setText("Send\nText"); mSendTextButton.addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { SMonkeyModel.getModel().sendText(mText.getText()); } }); textComposite.setLayout(new FillLayout()); leftSash.setWeights(new int[] { 6, 1 }); // middle sash contains the list of events, which are highlighted as // they happen. // TODO: Add a fast forward button to perform the next event, skipping // the wait SashForm middleSash = new SashForm(baseSash, SWT.VERTICAL); ToolBarManager replayToolbarManager = new ToolBarManager(SWT.FLAT); replayToolbarManager.add(mClearRecordingAction); replayToolbarManager.add(mOpenRecordFileAction); replayToolbarManager.add(mSaveRecordFileAction); replayToolbarManager.add(mToggleAutoRefreshAction); replayToolbarManager.add(mReplayAction); replayToolbarManager.createControl(middleSash); chimpEventTableViewer = new TableViewer(middleSash, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); chimpEventTableViewer.getTable().setMenu(new Menu(chimpEventTableViewer.getTable())); TableViewerColumn waitColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE); waitColumn.getColumn().setText("Wait time"); waitColumn.getColumn().setWidth(100); waitColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof ChimpEvent) { ChimpEvent chimp = (ChimpEvent) element; return chimp.getWait(); } return super.getText(element); } }); TableViewerColumn typeColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE); typeColumn.getColumn().setText("Type"); typeColumn.getColumn().setWidth(100); typeColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof ChimpEvent) { ChimpEvent chimp = (ChimpEvent) element; return chimp.getType(); } return super.getText(element); } }); TableViewerColumn miscColumn = new TableViewerColumn(getChimpEventTableViewer(), SWT.NONE); miscColumn.getColumn().setText("Misc"); miscColumn.getColumn().setWidth(100); miscColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof ChimpEvent) { ChimpEvent chimp = (ChimpEvent) element; return chimp.getMisc(); } return super.getText(element); } }); chimpEventTableViewer.getTable().setLinesVisible(true); chimpEventTableViewer.getTable().setHeaderVisible(true); chimpEventTableViewer.setContentProvider(ArrayContentProvider.getInstance()); chimpEventTableViewer.setInput(SMonkeyModel.getModel().getLog()); middleSash.setWeights(new int[] { 1, 20 }); // right sash is split into 2 parts: upper-right and lower-right // both are composites with borders, so that the horizontal divider can // be highlighted by // the borders SashForm rightSash = new SashForm(baseSash, SWT.VERTICAL); // upper-right base contains the toolbar and the tree Composite upperRightBase = new Composite(rightSash, SWT.BORDER); upperRightBase.setLayout(new GridLayout(1, false)); ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); toolBarManager.add(mOpenFilesAction); toolBarManager.add(mSaveFilesAction); toolBarManager.add(mExpandAllAction); toolBarManager.add(mScreenshotAction); toolBarManager.add(mToggleNafAction); // toolBarManager.add(mClearRecordingAction); // toolBarManager.add(mSaveRecordingAction); toolBarManager.createControl(upperRightBase); // Button b = new Button(upperRightBase.getShell(),SWT.CHECK); // b.setText("Auto"); mTreeViewer = new TreeViewer(upperRightBase, SWT.NONE); mTreeViewer.setContentProvider(new BasicTreeNodeContentProvider()); // default LabelProvider uses toString() to generate text to display mTreeViewer.setLabelProvider(new LabelProvider()); mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection().isEmpty()) { SMonkeyModel.getModel().setSelectedNode(null); } else if (event.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object o = selection.toArray()[0]; if (o instanceof BasicTreeNode) { SMonkeyModel.getModel().setSelectedNode((BasicTreeNode) o); } } } }); Tree tree = mTreeViewer.getTree(); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); // move focus so that it's not on tool bar (looks weird) tree.setFocus(); // lower-right base contains the detail group Composite lowerRightBase = new Composite(rightSash, SWT.BORDER); lowerRightBase.setLayout(new FillLayout()); Group grpNodeDetail = new Group(lowerRightBase, SWT.NONE); grpNodeDetail.setLayout(new FillLayout(SWT.HORIZONTAL)); grpNodeDetail.setText("Node Detail"); Composite tableContainer = new Composite(grpNodeDetail, SWT.NONE); TableColumnLayout columnLayout = new TableColumnLayout(); tableContainer.setLayout(columnLayout); mTableViewer = new TableViewer(tableContainer, SWT.NONE | SWT.FULL_SELECTION); Table table = mTableViewer.getTable(); table.setLinesVisible(true); // use ArrayContentProvider here, it assumes the input to the // TableViewer // is an array, where each element represents a row in the table mTableViewer.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn tableViewerColumnKey = new TableViewerColumn(mTableViewer, SWT.NONE); TableColumn tblclmnKey = tableViewerColumnKey.getColumn(); tableViewerColumnKey.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof AttributePair) { // first column, shows the attribute name return ((AttributePair) element).key; } return super.getText(element); } }); columnLayout.setColumnData(tblclmnKey, new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true)); TableViewerColumn tableViewerColumnValue = new TableViewerColumn(mTableViewer, SWT.NONE); tableViewerColumnValue.setEditingSupport(new AttributeTableEditingSupport(mTableViewer)); TableColumn tblclmnValue = tableViewerColumnValue.getColumn(); columnLayout.setColumnData(tblclmnValue, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true)); tableViewerColumnValue.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof AttributePair) { // second column, shows the attribute value return ((AttributePair) element).value; } return super.getText(element); } }); // sets the ratio of the vertical split: left 5 vs middle 3 vs right 3 baseSash.setWeights(new int[] { 5, 5, 3 }); return baseSash; }
From source file:com.sympedia.genfw.ui.internal.actions.GenerateAction.java
License:Open Source License
public static IFile[] getFiles(ISelection selection, String extension) { List<IFile> files = new ArrayList<IFile>(); if (selection != null && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; for (Object item : ssel.toArray()) { IFile file = null;//from w w w.jav a2 s .c om if (item instanceof IFile) { file = (IFile) item; } else if (item instanceof IAdaptable) { IAdaptable adaptable = (IAdaptable) item; file = (IFile) adaptable.getAdapter(IFile.class); } if (file != null) { if (extension == null || extension.equals(file.getFileExtension())) { files.add(file); } } } } return files.toArray(new IFile[files.size()]); }
From source file:com.sympedia.util.eclipse.ui.UiHelper.java
License:Open Source License
public static List filterSelection(ISelection selection, Class filter) { final List result = new ArrayList<IFile>(); if (selection != null && selection instanceof IStructuredSelection) { IStructuredSelection ssel = (IStructuredSelection) selection; for (Object item : ssel.toArray()) { if (filter.isAssignableFrom(item.getClass())) { result.add(item);/*from w ww . j a v a2s . c o m*/ } else if (item instanceof IAdaptable) { IAdaptable adaptable = (IAdaptable) item; item = adaptable.getAdapter(filter); if (item != null) { result.add(item); } } } } return result; }