List of usage examples for org.eclipse.jface.viewers DecoratingLabelProvider DecoratingLabelProvider
public DecoratingLabelProvider(ILabelProvider provider, ILabelDecorator decorator)
From source file:org.eclipse.mylyn.internal.tasks.ui.commands.RemoteTaskSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite area = (Composite) super.createDialogArea(parent); Label idLabel = new Label(area, SWT.NULL); idLabel.setText(Messages.RemoteTaskSelectionDialog_Enter_Key_ID__use_comma_for_multiple_); idText = new Text(area, SWT.BORDER); idText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); Label matchingTasksLabel = new Label(area, SWT.NONE); matchingTasksLabel.setText(Messages.RemoteTaskSelectionDialog_Matching_tasks); tasksViewer = new TableViewer(area, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); tasksViewer.getControl()//from w w w . j a v a 2s. co m .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 400).create()); tasksViewer.setLabelProvider(new DecoratingLabelProvider(new TaskElementLabelProvider(true), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); tasksViewer.setContentProvider(new ArrayContentProvider()); tasksViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (selectedIds == null) { return false; } // Only shows exact task matches if (!(element instanceof ITask)) { return false; } ITask task = (ITask) element; String taskId = task.getTaskKey(); for (String id : selectedIds) { if (id.equals(taskId)) { return true; } } return false; } }); tasksViewer.setInput(TasksUiPlugin.getTaskList().getAllTasks()); idText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { computeIds(); validate(); tasksViewer.refresh(false); } }); tasksViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { validate(); } }); tasksViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { if (getOkButton().getEnabled()) { okPressed(); } } }); Table table = tasksViewer.getTable(); table.showSelection(); Composite repositoriesComposite = new Composite(area, SWT.NONE); repositoriesComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); repositoriesComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create()); Label repositoriesLabel = new Label(repositoriesComposite, SWT.NONE); repositoriesLabel.setText(Messages.RemoteTaskSelectionDialog_Select_a_task_repository); repositoriesViewer = new ComboViewer(repositoriesComposite, SWT.DROP_DOWN | SWT.READ_ONLY); repositoriesViewer.setLabelProvider(new TaskRepositoryLabelProvider()); repositoriesViewer.setContentProvider(new ArrayContentProvider()); List<TaskRepository> taskRepositories = getTaskRepositories(); repositoriesViewer.setInput(taskRepositories); if (taskRepositories.size() == 1) { repositoriesViewer.setSelection(new StructuredSelection(taskRepositories.get(0))); } TaskRepository currentRepository = TasksUiUtil.getSelectedRepository(null); if (currentRepository != null) { repositoriesViewer.setSelection(new StructuredSelection(currentRepository), true); } repositoriesViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); repositoriesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { tasksViewer.setSelection(StructuredSelection.EMPTY); validate(); } }); Button addRepositoryButton = new Button(repositoriesComposite, SWT.NONE); addRepositoryButton.setText(Messages.RemoteTaskSelectionDialog_Add_); addRepositoryButton.setEnabled(TasksUiPlugin.getRepositoryManager().hasUserManagedRepositoryConnectors()); addRepositoryButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { IHandlerService hndSvc = (IHandlerService) PlatformUI.getWorkbench() .getService(IHandlerService.class); try { hndSvc.executeCommand(ITaskCommandIds.ADD_TASK_REPOSITORY, null); repositoriesViewer.setInput(getTaskRepositories()); } catch (CommandException e) { StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, e.getMessage(), e)); } } }); Composite addToTaskListComposite = new Composite(area, SWT.NONE); addToTaskListComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); addToTaskListCheck = new Button(addToTaskListComposite, SWT.CHECK); addToTaskListCheck.setText(Messages.RemoteTaskSelectionDialog_Add_to_Task_List_category); categoryViewer = new ComboViewer(addToTaskListComposite, SWT.DROP_DOWN | SWT.READ_ONLY); categoryViewer.setContentProvider(new ArrayContentProvider()); TaskList taskList = TasksUiPlugin.getTaskList(); LinkedList<AbstractTaskContainer> categories = new LinkedList<AbstractTaskContainer>( taskList.getCategories()); categories.addFirst(taskList.getDefaultCategory()); categoryViewer.setInput(categories); categoryViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof IRepositoryElement) { return ((IRepositoryElement) element).getSummary(); } return super.getText(element); } }); categoryViewer.setSelection(new StructuredSelection(taskList.getDefaultCategory())); categoryViewer.getControl().setEnabled(addToTaskListCheck.getSelection()); addToTaskListCheck.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { categoryViewer.getControl().setEnabled(addToTaskListCheck.getSelection()); } }); idText.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { tasksViewer.getControl().setFocus(); } } }); validate(); Dialog.applyDialogFont(area); return area; }
From source file:org.eclipse.mylyn.internal.tasks.ui.notifications.TaskListNotification.java
License:Open Source License
private LabelProvider getLabelProvider() { // lazily instantiate on UI thread if (labelProvider == null) { labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(true), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()); }/*w ww . j a va 2 s. com*/ return labelProvider; }
From source file:org.eclipse.mylyn.internal.tasks.ui.properties.ProjectTaskRepositoryPage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Font font = parent.getFont(); Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); composite.setLayout(layout);/*from w ww . j av a 2 s .c o m*/ composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); composite.setFont(font); initialize(); Label description = createDescriptionLabel(composite); description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER); listViewer.getTable().setFont(font); GridData data = new GridData(GridData.FILL_BOTH); data.grabExcessHorizontalSpace = true; // Only set a height hint if it will not result in a cut off dialog if (DialogUtil.inRegularFontMode(parent)) { data.heightHint = getDefaultFontHeight(listViewer.getTable(), REPOSITORY_LIST_MULTIPLIER); } listViewer.getTable().setLayoutData(data); listViewer.getTable().setFont(font); listViewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); listViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer v, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object parent) { return TasksUi.getRepositoryManager().getAllRepositories().toArray(); } }); listViewer.setSorter(new TaskRepositoriesSorter()); listViewer.setInput(project.getWorkspace()); listViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { // only allow single selection listViewer.setAllChecked(false); listViewer.setChecked(event.getElement(), event.getChecked()); } modified = true; } }); updateLinkedRepository(); // TODO this code was copied from SelectRepositoryPage final AddRepositoryAction action = new AddRepositoryAction(); action.setPromptToAddQuery(false); Button button = new Button(composite, SWT.NONE); button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING)); button.setText(AddRepositoryAction.TITLE); button.setEnabled(action.isEnabled()); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TaskRepository taskRepository = action.showWizard(); if (taskRepository != null) { listViewer.setInput(project.getWorkspace()); listViewer.setSelection(new StructuredSelection(taskRepository)); updateLinkedRepository(); } } }); return composite; }
From source file:org.eclipse.mylyn.internal.tasks.ui.views.TaskRepositoriesView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { contentProvider = new TaskRepositoriesContentProvider(); viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setContentProvider(contentProvider); viewer.setUseHashlookup(true);/*from w w w . j ava2 s.c om*/ ViewerFilter[] filters = { new EmptyCategoriesFilter(contentProvider) }; viewer.setFilters(filters); viewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); viewer.setSorter(new TaskRepositoriesViewSorter()); viewer.setInput(getViewSite()); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { WorkbenchUtil.openProperties(getSite()); } }); final IThemeManager themeManager = getSite().getWorkbenchWindow().getWorkbench().getThemeManager(); new GradientDrawer(themeManager, getViewer()) { @Override protected boolean shouldApplyGradient(org.eclipse.swt.widgets.Event event) { return event.item.getData() instanceof Category; } }; makeActions(); hookContextMenu(); hookGlobalActions(); contributeToActionBars(); getViewer().expandAll(); getSite().setSelectionProvider(getViewer()); }
From source file:org.eclipse.mylyn.internal.tasks.ui.wizards.SelectRepositoryConnectorPage.java
License:Open Source License
public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).applyTo(container); viewer = new TableViewer(container, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new RepositoryContentProvider()); viewer.setSorter(new TaskRepositoriesSorter()); viewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); viewer.setInput(TasksUi.getRepositoryManager().getRepositoryConnectors()); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.getFirstElement() instanceof AbstractRepositoryConnector) { connector = (AbstractRepositoryConnector) selection.getFirstElement(); setPageComplete(true);// w ww .ja v a 2 s . c om } } }); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { getContainer().showPage(getNextPage()); } }); GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl()); // add a hyperlink for connector discovery if it's available and enabled. // we integrate with discovery via a well-known command, which when invoked launches the discovery wizard final Command discoveryWizardCommand = TasksUiInternal.getConfiguredDiscoveryWizardCommand(); if (discoveryWizardCommand != null && discoveryWizardCommand.isEnabled()) { Button discoveryButton = new Button(container, SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(discoveryButton); discoveryButton.setText(Messages.SelectRepositoryConnectorPage_activateDiscovery); discoveryButton.setImage(CommonImages.getImage(CommonImages.DISCOVERY)); discoveryButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench() .getService(IHandlerService.class); try { handlerService.executeCommand(discoveryWizardCommand.getId(), null); } catch (Exception e) { IStatus status = new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, NLS.bind(Messages.SelectRepositoryConnectorPage_discoveryProblemMessage, new Object[] { e.getMessage() }), e); TasksUiInternal.logAndDisplayStatus( Messages.SelectRepositoryConnectorPage_discoveryProblemTitle, status); } } }); } Dialog.applyDialogFont(container); setControl(container); }
From source file:org.eclipse.mylyn.internal.tasks.ui.wizards.SelectRepositoryPage.java
License:Open Source License
protected Tree createTableViewer(Composite container) { viewer = new TreeViewer(container, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); // contentProvider = new TeamRepositoriesContentProvider(); viewer.setContentProvider(new RepositoryContentProvider()); // ViewerFilter[] filters = { new EmptyCategoriesFilter(contentProvider) }; // viewer.setFilters(filters); // viewer.setLabelProvider(new TaskRepositoryLabelProvider()); viewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); viewer.setInput(TasksUi.getRepositoryManager().getRepositoryConnectors()); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.getFirstElement() instanceof TaskRepository) { setSelectedNode(new CustomWizardNode((TaskRepository) selection.getFirstElement())); setPageComplete(true);/*from w w w.j a va 2 s. co m*/ } else { setSelectedNode(null); setPageComplete(false); } } }); TaskRepository selectedRepository = TasksUiUtil.getSelectedRepository(null); if (selectedRepository != null) { Category category = ((TaskRepositoryManager) TasksUi.getRepositoryManager()) .getCategory(selectedRepository); Object[] path = { category, selectedRepository }; viewer.setSelection(new TreeSelection(new TreePath(path))); } else { TaskRepository localRepository = TasksUi.getRepositoryManager().getRepository( LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL); viewer.setSelection(new StructuredSelection(localRepository)); } final IThemeManager themeManager = PlatformUI.getWorkbench().getThemeManager(); new GradientDrawer(themeManager, getViewer()) { @Override protected boolean shouldApplyGradient(org.eclipse.swt.widgets.Event event) { return event.item.getData() instanceof Category; } }; viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { if (canFlipToNextPage()) { getContainer().showPage(getNextPage()); } else if (canFinish()) { if (getWizard().performFinish()) { ((WizardDialog) getContainer()).close(); } } } }); viewer.expandAll(); viewer.getTree().showSelection(); viewer.getTree().setFocus(); return viewer.getTree(); }
From source file:org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetPage.java
License:Open Source License
public void createControl(Composite parent) { initializeDialogUnits(parent);//from ww w. ja v a2 s . c o m Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); composite.setLayout(layout); composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); setControl(composite); // PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, IIDEHelpContextIds.WORKING_SET_RESOURCE_PAGE); Label label = new Label(composite, SWT.WRAP); label.setText(Messages.TaskWorkingSetPage_Working_set_name); label.setLayoutData(new GridData( GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER)); text = new Text(composite, SWT.SINGLE | SWT.BORDER); text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL)); text.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { validateInput(); } }); // text.setBackground(FieldAssistColors.getRequiredFieldBackgroundColor(text)); label = new Label(composite, SWT.WRAP); label.setText(Messages.TaskWorkingSetPage_Working_set_contents); label.setLayoutData(new GridData( GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER)); treeViewer = new CheckboxTreeViewer(composite); treeViewer.setUseHashlookup(true); treeViewer.setContentProvider(workingSetPageContentProvider); treeViewer.setLabelProvider(new DecoratingLabelProvider(new AggregateLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); treeViewer.setSorter(new CustomSorter()); ArrayList<Object> containers = new ArrayList<Object>(); for (TaskRepository repository : TasksUi.getRepositoryManager().getAllRepositories()) { containers.add(repository); } containers.addAll(Arrays.asList(ResourcesPlugin.getWorkspace().getRoot().getProjects())); treeViewer.setInput(containers); // tree.setComparator(new ResourceComparator(ResourceComparator.NAME)); GridData data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL); data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT; data.widthHint = SIZING_SELECTION_WIDGET_WIDTH; treeViewer.getControl().setLayoutData(data); treeViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { handleCheckStateChange(event); } }); // Add select / deselect all buttons for bug 46669 Composite buttonComposite = new Composite(composite, SWT.NONE); layout = new GridLayout(2, false); layout.marginWidth = 0; layout.marginHeight = 0; layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); buttonComposite.setLayout(layout); buttonComposite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); Button selectAllButton = new Button(buttonComposite, SWT.PUSH); selectAllButton.setText(Messages.TaskWorkingSetPage_Select_All); selectAllButton.setToolTipText(""); //$NON-NLS-1$ selectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent selectionEvent) { treeViewer.setCheckedElements(workingSetPageContentProvider.getElements(treeViewer.getInput())); validateInput(); } }); setButtonLayoutData(selectAllButton); Button deselectAllButton = new Button(buttonComposite, SWT.PUSH); deselectAllButton.setText(Messages.TaskWorkingSetPage_Deselect_All); deselectAllButton.setToolTipText(""); //$NON-NLS-1$ deselectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent selectionEvent) { treeViewer.setCheckedElements(new Object[0]); validateInput(); } }); setButtonLayoutData(deselectAllButton); if (workingSet != null) { for (Object object : workingSet.getElements()) { treeViewer.expandToLevel(object, 1); } } else { treeViewer.expandToLevel(2); } initializeCheckedState(); if (workingSet != null) { text.setText(workingSet.getName()); treeViewer.getControl().setFocus(); } else { text.setFocus(); } setPageComplete(false); Dialog.applyDialogFont(composite); }
From source file:org.eclipse.papyrus.infra.gmfdiag.outline.DiagramNavigator.java
License:Open Source License
/** * Set the tree providers for the outline *//* ww w . j ava 2s. c om*/ protected void initProviders() { AdapterFactoryContentProvider adapterContentProvider = new NavigatorAdapterFactoryContentProvider( getAdapterFactory()); adapterContentProvider.inputChanged(viewer, null, null); viewer.setContentProvider(new DiagramOrientedContentProvider(adapterContentProvider)); ILabelProvider labelProvider = new DiagramOrientedLabelProvider( new AdapterFactoryLabelProvider(getAdapterFactory())); ILabelProvider fullLabelProvider = new DecoratingLabelProvider(labelProvider, Activator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()); viewer.setLabelProvider(fullLabelProvider); }
From source file:org.eclipse.pde.emfforms.editor.EmfMasterDetailBlock.java
License:Open Source License
@Override protected void createMasterPart(final IManagedForm managedForm, Composite parent) { FormToolkit toolkit = parentEditor.getToolkit(); section = toolkit.createSection(parent, getSectionOptions()); section.setText(title);// w ww. ja va 2 s. co m section.setDescription("Edit " + title); //$NON-NLS-1$ section.marginWidth = 5; section.setLayout(new FillLayout()); section.marginHeight = 5; Composite client = toolkit.createComposite(section, SWT.WRAP); GridLayoutFactory.fillDefaults().numColumns(showPushButtons() ? 2 : 1).applyTo(client); // deliberate use of the 3.4 API // TODO try to use the new look using a 3.5 fragment FilteredTree ft = new FilteredTree(client, getViewerOptions(), new PatternFilter()); treeViewer = ft.getViewer(); // Prevent scrollbars to be managed by the editor's root composite GridDataFactory.fillDefaults().grab(true, true).hint(50, 50).applyTo(treeViewer.getTree()); //Buttons if (showPushButtons()) { Composite buttonComposite = new Composite(client, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(buttonComposite); if (showGenericPushButtons()) addButton = createButton(buttonComposite, "Add"); //$NON-NLS-1$ if (showCustomPushButtons()) createCustomButtons(buttonComposite); if (showGenericPushButtons()) removeButton = createButton(buttonComposite, "Remove"); //$NON-NLS-1$ GridDataFactory.fillDefaults().grab(false, false).applyTo(buttonComposite); } //SectionToolBar removeAction = createCustomToolbarRemoveAction(); if (showToolbarButtons()) { toolBarManager = PDEFormToolkit.createSectionToolBarManager(section); Action addAction = createCustomToolbarAddAction(); if (addAction != null) { toolBarManager.add(addAction); } if (removeAction != null) { toolBarManager.add(removeAction); } if (showExpandCollapseButtons()) { toolBarManager.add(new Separator()); toolBarManager .add(new Action("Expand All", Activator.getImageDescriptor("icons/obj16/expand.gif")) { //$NON-NLS-1$ //$NON-NLS-2$ @Override public void run() { treeViewer.getTree().setRedraw(false); treeViewer.expandAll(); treeViewer.getTree().setRedraw(true); } }); toolBarManager .add(new Action("Collapse All", Activator.getImageDescriptor("icons/obj16/collapse.gif")) { //$NON-NLS-1$ //$NON-NLS-2$ @Override public void run() { treeViewer.getTree().setRedraw(false); treeViewer.collapseAll(); treeViewer.getTree().setRedraw(true); } }); } toolBarManager.update(true); section.setTextClient(toolBarManager.getControl()); } treeViewer.setContentProvider(new AdapterFactoryContentProvider(parentEditor.getAdapterFactory())); treeViewer.setLabelProvider( new DecoratingLabelProvider(new AdapterFactoryLabelProvider(parentEditor.getAdapterFactory()), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); treeViewer.addFilter(getTreeFilter()); int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() }; treeViewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(treeViewer)); treeViewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(parentEditor.getEditingDomain(), treeViewer)); final SectionPart spart = new SectionPart(section); managedForm.addPart(spart); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { managedForm.fireSelectionChanged(spart, event.getSelection()); } }); treeViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { detailsPart.setFocus(); } }); // Add listeners to manage activation/deactivation of the treeViewer's // ActionBarContributor's global handlers configureActionBarManagement(); if (getRemoveButton() != null) { DataBindingContext bindingContext = new DataBindingContext(); IValueProperty p = JFaceProperties.value(IAction.class, IAction.ENABLED, IAction.ENABLED); bindingContext.bindValue(SWTObservables.observeEnabled(getRemoveButton()), p.observe(removeAction)); //Generic action for remove button getRemoveButton().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (removeAction != null) removeAction.run(); } }); } createContextMenuFor(treeViewer); //update Editor selection getEditor().addViewerToListenTo(getTreeViewer()); section.setClient(client); }
From source file:org.eclipse.pde.emfforms.internal.editor.EmfContentOutlinePage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); contentOutlineViewer = getTreeViewer(); contentOutlineViewer.addSelectionChangedListener(this); // Set up the tree viewer. contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(editor.getAdapterFactory())); contentOutlineViewer.setLabelProvider( new DecoratingLabelProvider(new AdapterFactoryLabelProvider(editor.getAdapterFactory()), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); contentOutlineViewer.setInput(viewerInput); contentOutlineViewer.setComparator(viewerComparator); contentOutlineViewer.addFilter(new ViewerFilter() { @Override/*w w w . jav a 2 s.c o m*/ public boolean select(Viewer viewer, Object parentElement, Object element) { return (!(AdapterFactoryEditingDomain.unwrap(element) instanceof String)); } }); // Make sure our popups work. createContextMenuFor(contentOutlineViewer); if (!editor.getEditingDomain().getResourceSet().getResources().isEmpty()) { // Select the root object in the view. contentOutlineViewer.setSelection( new StructuredSelection(editor.getEditingDomain().getResourceSet().getResources().get(0)), true); } }