List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:org.eclipse.emf.ecp.spi.common.ui.TreeViewerFactory.java
License:Open Source License
/** * @param labelProvider// w ww. j a v a 2 s . co m * @param contentProvider * @param input * @param labelDecorator * @param viewer */ private static void createTreeViewer(ILabelProvider labelProvider, ITreeContentProvider contentProvider, Object input, ILabelDecorator labelDecorator, TreeViewer viewer, boolean sort) { viewer.setContentProvider(contentProvider); viewer.setLabelProvider(labelProvider); if (sort) { viewer.setSorter(new ViewerSorter()); } viewer.setInput(input); if (labelDecorator != null) { if (!(labelProvider instanceof DecoratingLabelProvider)) { viewer.setLabelProvider(new DecoratingLabelProvider(labelProvider, labelDecorator)); } } }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer.java
License:Open Source License
/** * Configures the passed tree viewer./* ww w. java2s. co m*/ * * @param treeViewer the {@link TreeViewer} to configure * @param editorComposite the composite of the editor */ protected void setupTreeViewer(final TreeViewer treeViewer, final ScrolledComposite editorComposite) { treeViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return VCategorizableElement.class.isInstance(element) && ((VCategorizableElement) element).isVisible(); } }); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, true).hint(400, SWT.DEFAULT) .applyTo(treeViewer.getTree()); final List<TreeEditor> editors = new ArrayList<TreeEditor>(); final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); final AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory) { @Override public boolean hasChildren(Object object) { final boolean hasChildren = super.hasChildren(object); if (hasChildren) { for (final Object o : getChildren(object)) { for (final ViewerFilter viewerFilter : treeViewer.getFilters()) { if (viewerFilter.select(treeViewer, object, o)) { return true; } } } } return false; } }; final TreeTableLabelProvider treeTableLabelProvider = getTreeLabelProvider(adapterFactory); treeViewer.getTree().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent event) { contentProvider.dispose(); treeTableLabelProvider.dispose(); adapterFactory.dispose(); } }); treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(treeTableLabelProvider); treeViewer.addSelectionChangedListener(new TreeSelectionChangedListener(getViewModelContext(), editorComposite, getCategorizationElement(), treeViewer, editors)); addTreeEditor(treeViewer, getVElement(), editors); }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer.java
License:Open Source License
/** * Configures the passed tree viewer./*from w w w .j a v a2 s . com*/ * * @param treeViewer the {@link TreeViewer} to configure * @param vCategorizationElement the {@link VCategorizationElement} * @param editorComposite the composite of the editor * @param viewModelContext the {@link ViewModelContext} to use */ protected void setupTreeViewer(final TreeViewer treeViewer, final VCategorizationElement vCategorizationElement, final ScrolledComposite editorComposite, final ViewModelContext viewModelContext) { treeViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return VCategorizableElement.class.isInstance(element) && ((VCategorizableElement) element).isVisible(); } }); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, true).hint(400, SWT.DEFAULT) .applyTo(treeViewer.getTree()); final List<TreeEditor> editors = new ArrayList<TreeEditor>(); final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); final AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory) { /** * {@inheritDoc} * * @see org.eclipse.emf.ecp.internal.ui.view.emf.AdapterFactoryContentProvider#hasChildren(java.lang.Object) */ @Override public boolean hasChildren(Object object) { final boolean hasChildren = super.hasChildren(object); if (hasChildren) { for (final Object o : getChildren(object)) { for (final ViewerFilter viewerFilter : treeViewer.getFilters()) { if (viewerFilter.select(treeViewer, object, o)) { return true; } } } } return false; } }; final TreeTableLabelProvider treeTableLabelProvider = new TreeTableLabelProvider(adapterFactory); treeViewer.getTree().addDisposeListener(new DisposeListener() { private static final long serialVersionUID = 1L; public void widgetDisposed(DisposeEvent event) { contentProvider.dispose(); treeTableLabelProvider.dispose(); adapterFactory.dispose(); } }); treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(treeTableLabelProvider); treeViewer.addSelectionChangedListener(new TreeSelectionChangedListener(viewModelContext, editorComposite, vCategorizationElement, treeViewer, editors)); addTreeEditor(treeViewer, vCategorizationElement, editors); }
From source file:org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.TreeMasterDetailSWTRenderer.java
License:Open Source License
/** * {@inheritDoc}.//from ww w .j a va 2s. co m * * @see org.eclipse.emf.ecp.ui.view.swt.internal.AbstractSWTRenderer#renderModel(org.eclipse.swt.widgets.Composite, * org.eclipse.emf.ecp.view.model.VElement, org.eclipse.emf.ecp.view.context.ViewModelContext) */ @Override protected List<RenderingResultRow<Control>> renderModel(Composite parent, VTreeMasterDetail vElement, ViewModelContext viewContext) throws NoRendererFoundException, NoPropertyDescriptorFoundExeption { final SashForm sash = new SashForm(parent, SWT.HORIZONTAL); GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(sash); GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(sash); sash.setSashWidth(5); final Composite leftPanel = new Composite(sash, SWT.FILL); leftPanel.setLayout(GridLayoutFactory.fillDefaults().create()); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, true).applyTo(leftPanel); leftPanel.setBackground(parent.getBackground()); final ScrolledComposite rightPanel = new ScrolledComposite(sash, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); rightPanel.setShowFocusedControl(true); rightPanel.setExpandVertical(true); rightPanel.setExpandHorizontal(true); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(rightPanel); rightPanel.setLayout(GridLayoutFactory.fillDefaults().create()); rightPanel.setBackground(parent.getBackground()); sash.setWeights(new int[] { 1, 3 }); final EObject modelElement = viewContext.getDomainModel(); final VView detailView = vElement.getDetailView(); final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(modelElement); final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); final AdapterFactoryContentProvider adapterFactoryContentProvider = new AdapterFactoryContentProvider( adapterFactory) { /** * {@inheritDoc} * * @see org.eclipse.emf.ecp.internal.ui.view.emf.AdapterFactoryContentProvider#getElements(java.lang.Object) */ @Override public Object[] getElements(Object object) { return new Object[] { ((RootObject) object).getRoot() }; } }; final AdapterFactoryLabelProvider adapterFactoryLabelProvider = new AdapterFactoryLabelProvider( adapterFactory); final TreeViewer treeViewer = new TreeViewer(leftPanel); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(100, SWT.DEFAULT) .applyTo(treeViewer.getTree()); treeViewer.setContentProvider(adapterFactoryContentProvider); treeViewer.setLabelProvider(adapterFactoryLabelProvider); treeViewer.setInput(new RootObject(modelElement)); // Drag and Drop addDragAndDropSupport(modelElement, treeViewer, editingDomain); // Selection Listener treeViewer.addSelectionChangedListener(new TreeMasterViewSelectionListener(rightPanel, detailView)); fillContextMenu(treeViewer, editingDomain); final RenderingResultRow<Control> createRenderingResultRow = SWTRenderingHelper.INSTANCE .getResultRowFactory().createRenderingResultRow(parent); final List<RenderingResultRow<Control>> renderingList = new ArrayList<RenderingResultRow<Control>>(); renderingList.add(createRenderingResultRow); treeViewer.getTree().addDisposeListener(new DisposeListener() { private static final long serialVersionUID = 1L; public void widgetDisposed(DisposeEvent event) { adapterFactoryContentProvider.dispose(); adapterFactoryLabelProvider.dispose(); adapterFactory.dispose(); } }); return renderingList; }
From source file:org.eclipse.emf.eef.runtime.ui.widgets.ElementSelectionDialog.java
License:Open Source License
/** * Used to display a page//from w ww . j av a 2 s.c o m * * @param parent * composite which contains the tree * @return the composite of this page */ public Control fillModelpage(Composite parent) { Composite composite = new Composite(parent, SWT.None); GridLayout layout = new GridLayout(); layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); composite.setLayout(layout); // use pattern filter PatternFilter patternFilter = new TreeSelectionPatternFilter(); patternFilter.setIncludeLeadingWildcard(true); FilteredTree filteredTree = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.RESIZE, patternFilter, true); // use of EMF facilities final TreeViewer treeViewer = filteredTree.getViewer(); treeViewer.setFilters(new ViewerFilter[0]); treeViewer.setUseHashlookup(true); if (input instanceof EEFEditorSettings) treeViewer.setContentProvider( new HideResourcesContentProvider(new AdvancedEEFEditorContentProvider(adapterFactory))); else treeViewer.setContentProvider( new HideResourcesContentProvider(new AdapterFactoryContentProvider(adapterFactory))); ArrayList<ViewerFilter> filters = new ArrayList<ViewerFilter>(); if (viewerFilters != null && !viewerFilters.isEmpty()) { for (ViewerFilter filter : viewerFilters) { filters.add(filter); } } // for now, add the businessRuleFilters to the 'normal' filters if (brFilters != null && !brFilters.isEmpty()) { for (ViewerFilter filter : brFilters) { filters.add(filter); } } filters.add(patternFilter); ViewerFilter[] v = filters.toArray(new ViewerFilter[filters.size()]); treeViewer.setFilters(v); treeViewer.setLabelProvider(new EEFLabelProvider() { @Override public Color getForeground(Object element) { if (input instanceof ReferencesTableSettings && element instanceof EObject && ((ReferencesTableSettings) input).contains((EObject) element)) { return getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW); } return super.getForeground(element); } }); filteredTree.setLayoutData(new GridData(550, 300)); // handle selection change if (input instanceof EEFEditorSettings) { treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection() instanceof IStructuredSelection) { // Check selection IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection(); if (structuredSelection != null && !structuredSelection.isEmpty()) { Object o = structuredSelection.getFirstElement(); // Check type matching Button okButton = getButton(IDialogConstants.OK_ID); if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory)) .contains(o)) { if (input instanceof ReferencesTableSettings) { if (o instanceof EObject && !((ReferencesTableSettings) input).contains((EObject) o)) { selection = structuredSelection; if (okButton != null) { okButton.setEnabled(true); } } else { // Reject selection if (okButton != null) { okButton.setEnabled(false); } } } else { selection = structuredSelection; if (okButton != null) { okButton.setEnabled(true); } } } else { // Reject selection if (okButton != null) { okButton.setEnabled(false); } } } } } }); // handle double click to validate treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (selection != null && !selection.isEmpty()) { Object o = selection.getFirstElement(); if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory)).contains(o) && input instanceof ReferencesTableSettings && o instanceof EObject && !((ReferencesTableSettings) input).contains((EObject) o)) { okPressed(); } } } }); } treeViewer.setInput(input); // Init selected element if (selection != null) { treeViewer.setSelection(selection); } return composite; }
From source file:org.eclipse.emf.eef.runtime.ui.widgets.masterdetails.tree.EEFTreeMasterPart.java
License:Open Source License
/** * {@inheritDoc}//from w ww. j ava 2s .co m * * @see org.eclipse.emf.eef.runtime.ui.widgets.masterdetails.AbstractEEFMasterPart#createSectionClientContents(org.eclipse.swt.widgets.Composite, * org.eclipse.ui.forms.widgets.FormToolkit) */ protected TreeViewer createSectionClientContents(Composite sectionContainer, FormToolkit toolkit) { Tree tree = toolkit.createTree(sectionContainer, SWT.MULTI | SWT.BORDER); TreeViewer result = new TreeViewer(tree); result.setContentProvider(new AdapterFactoryContentProvider(getAdapterFactory())); result.setLabelProvider(new AdapterFactoryLabelProvider(getAdapterFactory())); GridData gd = new GridData(GridData.FILL_BOTH); gd.widthHint = 80; tree.setLayoutData(gd); return result; }
From source file:org.eclipse.emf.eef.runtime.ui.widgets.TabElementTreeSelectionDialog.java
License:Open Source License
/** * Used to display a page in a tab/*from ww w .j a va 2 s.com*/ * * @param tabFolder * that contains all tabs * @param specificTabFilter * a specific filter to this page * @return the composite of this page */ public Control fillModelpage(CTabFolder tabFolder, final boolean showResourceItem, final ViewerFilter specificTabFilter) { Composite composite = new Composite(tabFolder, SWT.None); GridLayout layout = new GridLayout(); layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); composite.setLayout(layout); // use pattern filter PatternFilter patternFilter = new TreeSelectionPatternFilter(); patternFilter.setIncludeLeadingWildcard(true); FilteredTree filteredTree = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.RESIZE, patternFilter); // use of EMF facilities final TreeViewer treeViewer = filteredTree.getViewer(); treeViewer.setFilters(new ViewerFilter[0]); treeViewer.setUseHashlookup(true); if (input instanceof EEFEditorSettings) treeViewer.setContentProvider(new AdvancedEEFEditorContentProvider(adapterFactory)); else treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); ArrayList<ViewerFilter> filters = new ArrayList<ViewerFilter>(); if (specificTabFilter != null) { filters.add(specificTabFilter); } if (viewerFilters != null && !viewerFilters.isEmpty()) { for (ViewerFilter filter : viewerFilters) { filters.add(filter); } } // for now, add the businessRuleFilters to the 'normal' filters if (brFilters != null && !brFilters.isEmpty()) { for (ViewerFilter filter : brFilters) { filters.add(filter); } } filters.add(patternFilter); ViewerFilter[] v = filters.toArray(new ViewerFilter[filters.size()]); treeViewer.setFilters(v); treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); filteredTree.setLayoutData(new GridData(550, 300)); // handle selection change if (input instanceof EEFEditorSettings) { treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection() instanceof IStructuredSelection) { // Check selection IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection(); if (structuredSelection != null && !structuredSelection.isEmpty()) { Object o = structuredSelection.getFirstElement(); // Check type matching Button okButton = getButton(IDialogConstants.OK_ID); if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory)) .contains(o)) { selection = structuredSelection; if (okButton != null) { okButton.setEnabled(true); } } else { // Reject selection if (okButton != null) { okButton.setEnabled(false); } } } } } }); // handle double click to validate treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (selection != null && !selection.isEmpty()) { Object o = selection.getFirstElement(); if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory)).contains(o)) { okPressed(); } } } }); } treeViewer.setInput(input); // Init selected element if (selection != null) { treeViewer.setSelection(selection); } return composite; }
From source file:org.eclipse.emf.example.databinding.project.ui.rcp.views.ProjectExplorerPart.java
License:Open Source License
private TreeViewer init(Composite parent, Foundation foundation) { TreeViewer viewer = new TreeViewer(parent); ObservableListTreeContentProvider cp = new ObservableListTreeContentProvider(new TreeFactoryImpl(), new TreeStructureAdvisorImpl()); viewer.setContentProvider(cp); IObservableSet set = cp.getKnownElements(); IObservableMap[] map = new IObservableMap[4]; map[0] = EMFProperties.value(ProjectPackage.Literals.PROJECT__SHORTNAME).observeDetail(set); map[1] = EMFProperties.value(ProjectPackage.Literals.PROJECT__COMMITTERS).observeDetail(set); map[2] = EMFProperties.value(FeaturePath.fromList(ProjectPackage.Literals.COMMITTER_SHIP__PERSON, ProjectPackage.Literals.PERSON__FIRSTNAME)).observeDetail(set); map[3] = EMFProperties.value(FeaturePath.fromList(ProjectPackage.Literals.COMMITTER_SHIP__PERSON, ProjectPackage.Literals.PERSON__LASTNAME)).observeDetail(set); viewer.setLabelProvider(new TreeLabelProviderImpl(map)); IEMFListProperty projects = EMFProperties.list(ProjectPackage.Literals.FOUNDATION__PROJECTS); viewer.setInput(projects.observe(foundation)); MenuManager mgr = new MenuManager(); mgr.add(new GroupMarker("additions")); viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl())); site.registerContextMenu(Activator.PLUGIN_ID + ".projectexp", mgr, viewer); site.setSelectionProvider(viewer);/*from ww w .ja v a2 s .c o m*/ ColumnViewerToolTipSupportImpl.enableFor(viewer, toolkit); IObservableValue treeObs = ViewerProperties.singleSelection().observe(viewer); treeObs.addValueChangeListener(new IValueChangeListener() { public void handleValueChange(ValueChangeEvent event) { ISourceProviderService s = (ISourceProviderService) site.getService(ISourceProviderService.class); ResourceProvider p = (ResourceProvider) s.getSourceProvider(ResourceProvider.MODEL_RESOURCE_NAME); if (event.diff.getNewValue() instanceof Project) { Project pr = (Project) event.diff.getNewValue(); master.setValue(pr); p.setCommitter(null); p.setProject(pr); } else if (event.diff.getNewValue() != null) { CommitterShip cm = (CommitterShip) event.diff.getNewValue(); master.setValue(cm.getProject()); p.setCommitter(cm); p.setProject(cm.getProject()); } else { p.setCommitter(null); p.setProject(null); } } }); return viewer; }
From source file:org.eclipse.emfforms.spi.swt.treemasterdetail.TreeViewerSWTBuilder.java
License:Open Source License
/** * Creates a {@link TreeViewer}./*from w w w . j a va 2 s . c o m*/ * * @param behaviour the {@link TreeViewerCustomization} * @param composite the parent {@link Composite} * @param editingDomain the {@link EditingDomain} * @param input the input * @return the viewer */ static TreeViewer create(TreeViewerCustomization behaviour, Composite composite, EditingDomain editingDomain, Object input) { final TreeViewer treeViewer = behaviour.createTree(composite); GridDataFactory.fillDefaults().grab(true, true).applyTo(treeViewer.getControl()); if (behaviour.hasDND()) { treeViewer.addDragSupport(behaviour.getDragOperations(), behaviour.getDragTransferTypes(), behaviour.getDragListener(treeViewer)); treeViewer.addDropSupport(behaviour.getDropOperations(), behaviour.getDropTransferTypes(), behaviour.getDropListener(editingDomain, treeViewer)); } treeViewer.setContentProvider(behaviour.getContentProvider()); treeViewer.setLabelProvider(behaviour.getLabelProvider()); treeViewer.setFilters(behaviour.getViewerFilters()); treeViewer.getControl().setMenu(behaviour.getMenu(treeViewer, editingDomain)); treeViewer.setInput(input); final EObject initialSelection = behaviour.getInitialSelection(input); if (initialSelection != null) { treeViewer.setSelection(new StructuredSelection(initialSelection), true); } return treeViewer; }
From source file:org.eclipse.epf.authoring.ui.forms.ConfigViewPage.java
License:Open Source License
/** * Add view/*from w w w. j av a2 s . com*/ * * @param obj */ private void addView(ContentCategory obj) { selectedItem = obj; Composite composite = new Composite(tabFolder, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); TreeViewer treeViewer = new TreeViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); treeViewer.getTree().setLayout(new GridLayout()); treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); IFilter configFilter = new ConfigurationViewFilter(config, treeViewer); AdapterFactory adapterFactory = TngAdapterFactory.INSTANCE .getConfigurationView_AdapterFactory(configFilter); AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory) { public Object[] getElements(Object object) { // Get the adapter from the factory. ITreeItemContentProvider itemProvider = (ITreeItemContentProvider) adapterFactory .adapt(selectedItem, ITreeItemContentProvider.class); return itemProvider.getChildren(selectedItem).toArray(); // return itemProvider.getElements(selectedItem).toArray(); } }; treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(new ConfigurationLabelProvider(config, adapterFactory)); try { treeViewer.setInput(config); } catch (Exception ex) { logger.logError("Error creating treeviewer for config", ex); //$NON-NLS-1$ } CTabItem item = new CTabItem(tabFolder, SWT.TOP); item.setText(((ContentCategory) obj).getName()); item.setControl(composite); // make all buttons enabled removeButton.setEnabled(true); makeDefaultButton.setEnabled(true); toolkit.paintBordersFor(composite); tabFolder.setSelection(item); }