List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:org.eclipse.ecf.internal.discovery.ui.views.DiscoveryView.java
License:Open Source License
public void createPartControl(Composite parent) { ComposedAdapterFactory adapterFactory = DiscoveryEditingDomainProvider.eINSTANCE.getAdapterFactory(); // create the viewer setSelectionViewer(new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL)); getSelectionViewer().setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); getSelectionViewer().setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); getSelectionViewer().setComparator(new ViewerComparator()); getSelectionViewer().setFilters(getViewerFilters()); getSite().setSelectionProvider(getSelectionViewer()); // populate the viewer with the model if available EList resources = DiscoveryEditingDomainProvider.eINSTANCE.getEditingDomain().getResourceSet() .getResources();//from w ww .jav a 2 s . c o m if (resources != null) { getSelectionViewer().setInput(resources.get(0)); getSelectionViewer().setSelection(new StructuredSelection(resources.get(0)), true); } new AdapterFactoryTreeEditor(getSelectionViewer().getTree(), adapterFactory); getSelectionViewer().addPostSelectionChangedListener(new AdapterFactoryStatuslineProvider(adapterFactory, getViewSite().getActionBars().getStatusLineManager())); drillDownAdapter = new DrillDownAdapter(getSelectionViewer()); createContextMenuFor(getSelectionViewer()); hookContextMenu(); contributeToActionBars(); // add collapse handler IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class); collapseHandler = new CollapseAllHandler(getSelectionViewer()); handlerService.activateHandler(CollapseAllHandler.COMMAND_ID, collapseHandler); // add DND support Transfer[] supportedTransfers = { LocalSelectionTransfer.getTransfer() }; getSelectionViewer().addDragSupport(DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_MOVE, supportedTransfers, new DragSourceAdapter() { public void dragSetData(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(getSelectionViewer().getSelection()); } }); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "org.eclipse.ecf.discovery.ui.ServiceView"); //$NON-NLS-1$ getSite().getWorkbenchWindow().getSelectionService().addPostSelectionListener(this); }
From source file:org.eclipse.ecf.internal.example.collab.ui.ChatComposite.java
License:Open Source License
protected void sendShowViewRequest(IUser touser) { final IWorkbenchWindow ww = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); final IWorkbenchPage page = ww.getActivePage(); if (page == null) return;/*from w ww . j a va 2s .c o m*/ final ElementTreeSelectionDialog dlg = new ElementTreeSelectionDialog(getShell(), new LabelProvider() { private HashMap images = new HashMap(); public Image getImage(Object element) { ImageDescriptor desc = null; if (element instanceof IViewCategory) desc = PlatformUI.getWorkbench().getSharedImages() .getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER); else if (element instanceof IViewDescriptor) desc = ((IViewDescriptor) element).getImageDescriptor(); if (desc == null) return null; Image image = (Image) images.get(desc); if (image == null) { image = desc.createImage(); images.put(desc, image); } return image; } public String getText(Object element) { String label; if (element instanceof IViewCategory) label = ((IViewCategory) element).getLabel(); else if (element instanceof IViewDescriptor) label = ((IViewDescriptor) element).getLabel(); else label = super.getText(element); for (int i = label.indexOf('&'); i >= 0 && i < label.length() - 1; i = label.indexOf('&', i + 1)) if (!Character.isWhitespace(label.charAt(i + 1))) return label.substring(0, i) + label.substring(i + 1); return label; } public void dispose() { for (final Iterator i = images.values().iterator(); i.hasNext();) ((Image) i.next()).dispose(); images = null; super.dispose(); } }, new ITreeContentProvider() { private HashMap parents = new HashMap(); public Object[] getChildren(Object element) { if (element instanceof IViewRegistry) return ((IViewRegistry) element).getCategories(); else if (element instanceof IViewCategory) { final IViewDescriptor[] children = ((IViewCategory) element).getViews(); for (int i = 0; i < children.length; ++i) parents.put(children[i], element); return children; } else return new Object[0]; } public Object getParent(Object element) { if (element instanceof IViewCategory) return PlatformUI.getWorkbench().getViewRegistry(); else if (element instanceof IViewDescriptor) return parents.get(element); else return null; } public boolean hasChildren(Object element) { if (element instanceof IViewRegistry || element instanceof IViewCategory) return true; else return false; } public Object[] getElements(Object inputElement) { return getChildren(inputElement); } public void dispose() { parents = null; } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { parents.clear(); } }); dlg.setTitle(MessageLoader.getString("LineChatClientView.contextmenu.sendShowViewRequest")); //$NON-NLS-1$ dlg.setMessage(MessageLoader.getString("LineChatClientView.contextmenu.sendShowViewRequest.dialog.title")); //$NON-NLS-1$ dlg.addFilter(new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IViewDescriptor && "org.eclipse.ui.internal.introview".equals(((IViewDescriptor) element).getId())) //$NON-NLS-1$ return false; else return true; } }); dlg.setComparator(new ViewerComparator()); dlg.setValidator(new ISelectionStatusValidator() { public IStatus validate(Object[] selection) { for (int i = 0; i < selection.length; ++i) if (!(selection[i] instanceof IViewDescriptor)) return new Status(Status.ERROR, ClientPlugin.getDefault().getBundle().getSymbolicName(), 0, "", null); //$NON-NLS-1$ return new Status(Status.OK, ClientPlugin.getDefault().getBundle().getSymbolicName(), 0, "", null); //$NON-NLS-1$ } }); final IViewRegistry reg = PlatformUI.getWorkbench().getViewRegistry(); dlg.setInput(reg); final IDialogSettings dlgSettings = ClientPlugin.getDefault().getDialogSettings(); final String DIALOG_SETTINGS = "SendShowViewRequestDialog"; //$NON-NLS-1$ final String SELECTION_SETTING = "SELECTION"; //$NON-NLS-1$ IDialogSettings section = dlgSettings.getSection(DIALOG_SETTINGS); if (section == null) section = dlgSettings.addNewSection(DIALOG_SETTINGS); else { final String[] selectedIDs = section.getArray(SELECTION_SETTING); if (selectedIDs != null && selectedIDs.length > 0) { final ArrayList list = new ArrayList(selectedIDs.length); for (int i = 0; i < selectedIDs.length; ++i) { final IViewDescriptor desc = reg.find(selectedIDs[i]); if (desc != null) list.add(desc); } dlg.setInitialElementSelections(list); } } dlg.open(); if (dlg.getReturnCode() == Window.CANCEL) return; final Object[] descs = dlg.getResult(); if (descs == null) return; final String[] selectedIDs = new String[descs.length]; for (int i = 0; i < descs.length; ++i) { selectedIDs[i] = ((IViewDescriptor) descs[i]).getId(); view.lch.sendShowView(touser, selectedIDs[i]); } section.put(SELECTION_SETTING, selectedIDs); }
From source file:org.eclipse.ecf.presence.collab.ui.view.ViewShare.java
License:Open Source License
public void sendOpenViewRequest(final String senderuser, final ID toID) { Display.getDefault().asyncExec(new Runnable() { public void run() { final IWorkbenchWindow ww = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); final IWorkbenchPage page = ww.getActivePage(); if (page == null) return; final ElementTreeSelectionDialog dlg = new ElementTreeSelectionDialog(null, new ShowViewDialogLabelProvider(), new ShowViewDialogTreeContentProvider()); dlg.setTitle(Messages.ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_TITLE); dlg.setMessage(Messages.ViewShare_VIEWSHARE_VIEW_REQUEST_DIALOG_MESSAGE); dlg.addFilter(new ShowViewDialogViewerFilter()); dlg.setComparator(new ViewerComparator()); dlg.setValidator(new ISelectionStatusValidator() { public IStatus validate(Object[] selection) { for (int i = 0; i < selection.length; ++i) if (!(selection[i] instanceof IViewDescriptor)) return new Status(IStatus.ERROR, Activator.PLUGIN_ID, 0, "", null); //$NON-NLS-1$ return new Status(IStatus.OK, Activator.getDefault().getBundle().getSymbolicName(), 0, "", //$NON-NLS-1$ null);//w ww.jav a 2s .co m } }); final IViewRegistry reg = PlatformUI.getWorkbench().getViewRegistry(); dlg.setInput(reg); dlg.open(); if (dlg.getReturnCode() == Window.CANCEL) return; final Object[] descs = dlg.getResult(); if (descs == null) return; final String[] selectedIDs = new String[descs.length]; for (int i = 0; i < descs.length; ++i) { selectedIDs[i] = ((IViewDescriptor) descs[i]).getId(); try { // Actually send messages to target remote user (toID), // with selectedIDs (view IDs) to show sendMessage(toID, serialize(new Object[] { senderuser, selectedIDs[i] })); } catch (final ECFException e) { logError(e.getStatus()); } catch (final Exception e) { logError(Messages.Share_EXCEPTION_LOG_SEND, e); } } } }); }
From source file:org.eclipse.ecf.remoteservice.ui.serviceview.AbstractServicesView.java
License:Open Source License
protected TreeViewer createTreeViewer(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = layout.marginWidth = 0; composite.setLayout(layout);// w w w . j a v a2 s . c o m composite.setLayoutData(new GridData(GridData.FILL_BOTH)); filteredTree = createFilteredTree(composite, SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter()); TreeViewer viewer = filteredTree.getViewer(); viewer.setContentProvider(contentProvider); viewer.setLabelProvider(new WorkbenchLabelProvider()); viewer.setUseHashlookup(true); viewer.setInput(getViewSite()); viewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof ServiceNode && e2 instanceof ServiceNode) { return new Long(((ServiceNode) e2).getServiceId() - ((ServiceNode) e1).getServiceId()) .intValue(); } return super.compare(viewer, e1, e2); } }); getViewSite().setSelectionProvider(viewer); return viewer; }
From source file:org.eclipse.ecf.sync.resources.views.RemoteResourcesView.java
License:Open Source License
public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new ViewContentProvider()); viewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof BatchModelChange) { BatchModelChange c1 = (BatchModelChange) e1; BatchModelChange c2 = (BatchModelChange) e2; // newest goes last return (int) (c2.getTime() - c1.getTime()); }/*from w w w . ja v a2 s. co m*/ // no sorting for resource changes return 0; } }); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(true); labelProvider = WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(); final SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); //$NON-NLS-1$ final CompareConfiguration config = new CompareConfiguration(); TreeViewerColumn resourceColumn = new TreeViewerColumn(viewer, SWT.LEAD); resourceColumn.getColumn().setText("Changes"); resourceColumn.getColumn().setWidth(100); resourceColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof BatchModelChange) { StringBuffer buffer = new StringBuffer(); BatchModelChange batchChange = (BatchModelChange) element; buffer.append(batchChange.isOutgoing() ? "Outgoing" : "Incoming"); buffer.append(" ("); buffer.append(formatter.format(new Date(batchChange.getTime()))); buffer.append(')'); return buffer.toString(); } else { return new Path(((ResourceChangeMessage) element).getPath()).lastSegment(); } } public Image getImage(Object element) { if (element instanceof BatchModelChange) { Image image = PlatformUI.getWorkbench().getSharedImages() .getImage(ISharedImages.IMG_OBJ_FOLDER); int kind = 0; if (((BatchModelChange) element).isOutgoing()) { kind = (kind & ~SyncInfo.OUTGOING) | SyncInfo.INCOMING | SyncInfo.CHANGE; } else { kind = (kind & ~SyncInfo.OUTGOING) | SyncInfo.OUTGOING | SyncInfo.CHANGE; } return config.getImage(image, kind); } else { ResourceChangeMessage message = (ResourceChangeMessage) element; int type = message.getType(); IPath path = new Path(message.getPath()); Image image = null; if (type == IResource.FILE) { image = labelProvider.getImage(ResourcesPlugin.getWorkspace().getRoot().getFile(path)); } else { image = labelProvider.getImage(ResourcesPlugin.getWorkspace().getRoot().getFolder(path)); } if (message.isConflicted()) { return config.getImage(image, SyncInfo.CHANGE | SyncInfo.CONFLICTING); } int imageKind = 0; switch (message.getKind()) { case IResourceDelta.ADDED: imageKind = (imageKind & ~SyncInfo.CHANGE) | SyncInfo.DELETION; break; case IResourceDelta.CHANGED: imageKind = (imageKind & ~SyncInfo.CHANGE) | SyncInfo.CHANGE; break; case IResourceDelta.REMOVED: imageKind = (imageKind & ~SyncInfo.CHANGE) | SyncInfo.ADDITION; break; default: return null; } return config.getImage(image, imageKind); } } }); TreeViewerColumn pathColumn = new TreeViewerColumn(viewer, SWT.LEAD); pathColumn.getColumn().setText("Path"); pathColumn.getColumn().setWidth(200); pathColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof BatchModelChange) { return null; } else { return ((ResourceChangeMessage) element).getPath(); } } }); TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.LEAD); typeColumn.getColumn().setText("Type"); typeColumn.getColumn().setWidth(75); typeColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof BatchModelChange) { return null; } else { switch (((ResourceChangeMessage) element).getKind()) { case IResourceDelta.ADDED: return "Added"; case IResourceDelta.CHANGED: return "Changed"; case IResourceDelta.REMOVED: return "Removed"; default: return null; } } } }); TreeViewerColumn resolutionColumn = new TreeViewerColumn(viewer, SWT.LEAD); resolutionColumn.getColumn().setText("Resolution"); resolutionColumn.getColumn().setWidth(100); resolutionColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { if (element instanceof BatchModelChange) { return null; } else { return ((ResourceChangeMessage) element).isIgnored() ? "Ignored" : "Committed"; } } }); SyncResourcesCore.setView(this); }
From source file:org.eclipse.eclemma.internal.ui.editors.ExecutedClassesPage.java
License:Open Source License
@Override protected void createFormContent(IManagedForm managedForm) { final FormToolkit toolkit = managedForm.getToolkit(); final ScrolledForm form = managedForm.getForm(); form.setText(ExecutionDataEditorExecutedClassesPage_title); toolkit.decorateFormHeading(form.getForm()); final Composite body = form.getBody(); body.setLayout(new org.eclipse.swt.layout.GridLayout(1, true)); filter = toolkit.createText(body, null, SWT.SINGLE | SWT.SEARCH | SWT.ICON_CANCEL); filter.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { triggerRefresh();//from ww w .j av a2 s .co m } }); filter.setMessage(ExecutionDataEditorExecutedClassesPageFilter_message); filter.setLayoutData(new GridData(SWT.FILL, 0, true, false)); final Table dataTable = toolkit.createTable(body, SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.BORDER); dataTable.setHeaderVisible(true); dataTable.setLinesVisible(true); dataTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); dataTableViewer = new TableViewer(dataTable); final TableViewerColumn classIdColumnViewer = new TableViewerColumn(dataTableViewer, SWT.NONE); classIdColumnViewer.setLabelProvider(new ClassIdLabelProvider()); final TableColumn classIdColumn = classIdColumnViewer.getColumn(); classIdColumn.setText(ExecutionDataEditorExecutedClassesPageColumnId_label); classIdColumn.setWidth(200); classIdColumn.setResizable(true); final TableViewerColumn vmNameColumnViewer = new TableViewerColumn(dataTableViewer, SWT.NONE); vmNameColumnViewer.setLabelProvider(new VMNameLabelProvider()); final TableColumn vmNameColumn = vmNameColumnViewer.getColumn(); vmNameColumn.setText(ExecutionDataEditorExecutedClassesPageColumnName_label); vmNameColumn.setWidth(500); vmNameColumn.setResizable(true); final TableViewerColumn totalProbesColumnViewer = new TableViewerColumn(dataTableViewer, SWT.RIGHT); totalProbesColumnViewer.setLabelProvider(new TotalProbesLabelProvider()); final TableColumn totalProbesColumn = totalProbesColumnViewer.getColumn(); totalProbesColumn.setText(ExecutionDataEditorExecutedClassesPageColumnTotalProbes_label); totalProbesColumn.setWidth(100); totalProbesColumn.setResizable(true); final TableViewerColumn executedProbesColumnViewer = new TableViewerColumn(dataTableViewer, SWT.RIGHT); executedProbesColumnViewer.setLabelProvider(new ExecutedProbesLabelProvider()); final TableColumn executedProbesColumn = executedProbesColumnViewer.getColumn(); executedProbesColumn.setText(ExecutionDataEditorExecutedClassesPageColumnExecutedProbes_label); executedProbesColumn.setWidth(100); executedProbesColumn.setResizable(true); dataTable.setSortColumn(vmNameColumn); dataTable.setSortDirection(SWT.UP); dataTableViewer.setComparator(new ViewerComparator()); dataTableViewer.setContentProvider(new AbstractExecutionDataContentProvider() { @Override public Object[] getElements(ExecutionDataContent content) { return content.getExecutionData(); } }); dataTableViewer.setInput(content); }
From source file:org.eclipse.edt.ide.ui.internal.preferences.ContentAssistAdvancedConfigurationBlock.java
License:Open Source License
private void createDefaultViewer(Composite composite, int h_span) { fDefaultViewer = CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.BORDER); Table table = fDefaultViewer.getTable(); table.setHeaderVisible(true);/*from ww w.j av a 2s . c o m*/ table.setLinesVisible(false); table.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false, h_span, 1)); TableColumn nameColumn = new TableColumn(table, SWT.NONE); nameColumn.setText( PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_category_column_title); nameColumn.setResizable(false); // TableColumn keyColumn= new TableColumn(table, SWT.NONE); // keyColumn.setText(PreferencesMessages.CodeAssistAdvancedConfigurationBlock_default_table_keybinding_column_title); // keyColumn.setResizable(false); fDefaultViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { boolean checked = event.getChecked(); ModelElement element = (ModelElement) event.getElement(); element.setInDefaultCategory(checked); } }); fDefaultViewer.setContentProvider(new ArrayContentProvider()); DefaultTableLabelProvider labelProvider = new DefaultTableLabelProvider(); fDefaultViewer.setLabelProvider(labelProvider); fDefaultViewer.setInput(fModel.elements); fDefaultViewer.setComparator(new ViewerComparator()); // sort alphabetically final int ICON_AND_CHECKBOX_WITH = 50; final int HEADER_MARGIN = 20; int minNameWidth = computeWidth(table, nameColumn.getText()) + HEADER_MARGIN; // int minKeyWidth= computeWidth(table, keyColumn.getText()) + HEADER_MARGIN; for (int i = 0; i < fModel.elements.size(); i++) { minNameWidth = Math.max(minNameWidth, computeWidth(table, labelProvider.getColumnText(fModel.elements.get(i), 0)) + ICON_AND_CHECKBOX_WITH); // minKeyWidth= Math.max(minKeyWidth, computeWidth(table, labelProvider.getColumnText(fModel.elements.get(i), 1))); } nameColumn.setWidth(minNameWidth); // keyColumn.setWidth(minKeyWidth); }
From source file:org.eclipse.edt.ide.ui.internal.property.pages.VariableBlock.java
License:Open Source License
public VariableBlock(boolean inPreferencePage, String initSelection) { fSelectedElements = new ArrayList(0); fEditOnDoubleclick = inPreferencePage; fAskToBuild = true;/*from ww w . j a va 2 s. c o m*/ String[] buttonLabels = new String[] { NewWizardMessages.VariableBlock_vars_add_button, NewWizardMessages.VariableBlock_vars_edit_button, NewWizardMessages.VariableBlock_vars_remove_button }; VariablesAdapter adapter = new VariablesAdapter(); CPVariableElementLabelProvider labelProvider = new CPVariableElementLabelProvider(inPreferencePage); fVariablesList = new ListDialogField(adapter, buttonLabels, labelProvider); fVariablesList.setDialogFieldListener(adapter); fVariablesList.setLabelText(NewWizardMessages.VariableBlock_vars_label); fVariablesList.setRemoveButtonIndex(2); fVariablesList.enableButton(1, false); fVariablesList.setViewerComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof CPVariableElement && e2 instanceof CPVariableElement) { return getComparator().compare(((CPVariableElement) e1).getName(), ((CPVariableElement) e2).getName()); } return super.compare(viewer, e1, e2); } }); refresh(initSelection); }
From source file:org.eclipse.egit.internal.importing.GitScmUrlImportWizardPage.java
License:Open Source License
public void createControl(Composite parent) { Composite comp = SWTUtils.createHVFillComposite(parent, SWTUtils.MARGINS_NONE, 1); Composite group = SWTUtils.createHFillComposite(comp, SWTUtils.MARGINS_NONE, 1); Button versions = SWTUtils.createRadioButton(group, Messages.GitScmUrlImportWizardPage_importVersion); useMaster = SWTUtils.createRadioButton(group, Messages.GitScmUrlImportWizardPage_importMaster); SelectionListener listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { bundlesViewer.refresh(true); }// w ww .j a v a 2s. c om }; versions.addSelectionListener(listener); useMaster.addSelectionListener(listener); Table table = new Table(comp, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 200; gd.widthHint = 225; table.setLayoutData(gd); bundlesViewer = new TableViewer(table); bundlesViewer.setLabelProvider(new GitLabelProvider()); bundlesViewer.setContentProvider(new ArrayContentProvider()); bundlesViewer.setComparator(new ViewerComparator()); counterLabel = new Label(comp, SWT.NONE); counterLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); setControl(comp); setPageComplete(true); // Initialize versions versus master // TODO: temporarily disabled, until bug 367712 is fixed // IDialogSettings settings = getWizard().getDialogSettings(); // boolean useHEAD = settings != null // && settings.getBoolean(GIT_PAGE_USE_MASTER); // useHead.setSelection(useHEAD); // versions.setSelection(!useHEAD); useMaster.setSelection(true); versions.setEnabled(false); if (descriptions != null) { bundlesViewer.setInput(descriptions); updateCount(); } }
From source file:org.eclipse.egit.ui.internal.clone.GitProjectsImportPage.java
License:Open Source License
/** * Create the checkbox list for the found projects. * * @param workArea/*from www.j ava2 s . com*/ */ private void createProjectsList(Composite workArea) { Label title = new Label(workArea, SWT.NONE); title.setText(UIText.WizardProjectsImportPage_ProjectsListTitle); Composite listComposite = new Composite(workArea, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginWidth = 0; layout.makeColumnsEqualWidth = false; listComposite.setLayout(layout); listComposite.setLayoutData( new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH)); PatternFilter filter = new PatternFilter() { @Override public boolean isElementVisible(Viewer viewer, Object element) { if (getCheckedProjects().contains(element)) return true; return super.isElementVisible(viewer, element); } }; FilteredCheckboxTree filteredTree = new FilteredCheckboxTree(listComposite, null, SWT.NONE, filter); filteredTree.setInitialText(UIText.WizardProjectsImportPage_filterText); projectsList = filteredTree.getCheckboxTreeViewer(); GridData listData = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); projectsList.getControl().setLayoutData(listData); projectsList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { ProjectRecord element = (ProjectRecord) event.getElement(); if (isProjectInWorkspace(element.getProjectName())) { projectsList.setChecked(element, false); } enableSelectAllButtons(); } }); // a bug in the CachedCheckboxTreeView requires us to not return null final Object[] children = new Object[0]; projectsList.setContentProvider(new ITreeContentProvider() { public Object[] getChildren(Object parentElement) { return children; } public Object[] getElements(Object inputElement) { return selectedProjects; } public boolean hasChildren(Object element) { return false; } public Object getParent(Object element) { return null; } public void dispose() { // ignore } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // ignore } }); projectsList.getTree().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { checkPageComplete(); } }); projectsList.setLabelProvider(new ProjectLabelProvider()); projectsList.setInput(this); projectsList.setComparator(new ViewerComparator()); createSelectionButtons(listComposite); }