List of usage examples for org.eclipse.jface.viewers ITableLabelProvider ITableLabelProvider
ITableLabelProvider
From source file:org.eclipse.team.svn.ui.wizard.checkoutas.MultipleCheckoutMethodSelectionPage.java
License:Open Source License
public Composite createControlImpl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); // GridLayout GridLayout layout = new GridLayout(); composite.setLayout(layout);//from w w w .ja v a 2 s .com // GridData GridData data = new GridData(GridData.FILL_BOTH); composite.setLayoutData(data); Button findProjectsButton = new Button(composite, SWT.RADIO); data = new GridData(GridData.FILL_HORIZONTAL); findProjectsButton.setLayoutData(data); findProjectsButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { MultipleCheckoutMethodSelectionPage.this.checkoutType = MultipleCheckoutMethodSelectionPage.FIND_PROJECTS; MultipleCheckoutMethodSelectionPage.this.validateContent(); } }); findProjectsButton.setText(SVNUIMessages.MultipleCheckoutMethodSelectionPage_Find); findProjectsButton.setSelection(true); Button checkoutAsFolder = new Button(composite, SWT.RADIO); data = new GridData(GridData.FILL_HORIZONTAL); checkoutAsFolder.setLayoutData(data); checkoutAsFolder.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { MultipleCheckoutMethodSelectionPage.this.checkoutType = MultipleCheckoutMethodSelectionPage.CHECKOUT_AS_FOLDER; MultipleCheckoutMethodSelectionPage.this.validateContent(); } }); checkoutAsFolder.setText(SVNUIMessages.MultipleCheckoutMethodSelectionPage_Folders); Button simpleCheckoutButton = new Button(composite, SWT.RADIO); data = new GridData(GridData.FILL_HORIZONTAL); simpleCheckoutButton.setLayoutData(data); simpleCheckoutButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { MultipleCheckoutMethodSelectionPage.this.checkoutType = MultipleCheckoutMethodSelectionPage.CHECKOUT_AS_PROJECTS; MultipleCheckoutMethodSelectionPage.this.validateContent(); } }); simpleCheckoutButton.setText(SVNUIMessages.MultipleCheckoutMethodSelectionPage_Projects); data = new GridData(GridData.FILL_BOTH); Table table = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER); TableLayout tLayout = new TableLayout(); table.setLayout(tLayout); TableViewer tableViewer = new TableViewer(table); tableViewer.getTable().setLayoutData(data); int maxLength = FileUtility.getMaxStringLength(SVNUtility.asURLArray(this.selectedResources, false)); this.initializeDialogUnits(composite); int width = this.convertWidthInCharsToPixels(maxLength + 12); TableColumn col = new TableColumn(table, SWT.NONE); col.setResizable(true); ColumnLayoutData cData = null; if (width > CheckoutAsWizard.SIZING_WIZARD_WIDTH) { cData = new ColumnPixelData(width, true); } else { cData = new ColumnWeightData(100, true); } tLayout.addColumnData(cData); tableViewer.setLabelProvider(new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { IRepositoryResource resource = (IRepositoryResource) element; return resource.getUrl(); } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }); tableViewer.setContentProvider(new ArrayStructuredContentProvider()); tableViewer.setInput(this.selectedResources); this.depthSelector = new DepthSelectionComposite(composite, SWT.NONE, false); data = new GridData(GridData.FILL_HORIZONTAL); this.depthSelector.setLayoutData(data); this.revisionComposite = new RevisionComposite(composite, this, false, new String[] { SVNUIMessages.RevisionComposite_Revision, SVNUIMessages.RevisionComposite_HeadRevision }, SVNRevision.HEAD, false); data = new GridData(GridData.FILL_HORIZONTAL); this.revisionComposite.setLayoutData(data); this.revisionComposite.setSelectedResource(this.selectedResources[0].getRoot()); // Setting context help PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, "org.eclipse.team.svn.help.multiSelectionContext"); //$NON-NLS-1$ return composite; }
From source file:org.eclipse.team.svn.ui.wizard.shareproject.AlreadyConnectedPage.java
License:Open Source License
public Composite createControlImpl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); composite.setLayout(layout);//from w w w . j a va 2 s . c o m GridData data = new GridData(); data.verticalAlignment = GridData.FILL; data.horizontalAlignment = GridData.FILL; composite.setLayoutData(data); this.initializeDialogUnits(parent); Label description = new Label(composite, SWT.WRAP); description.setLayoutData(this.makeGridData()); description.setText(SVNUIMessages.AlreadyConnectedPage_ProjectURL); this.urlText = new Text(composite, SWT.SINGLE | SWT.BORDER); data = new GridData(GridData.FILL_HORIZONTAL); data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; this.urlText.setLayoutData(data); this.urlText.setEditable(false); description = new Label(composite, SWT.WRAP); description.setLayoutData(this.makeGridData()); description.setText(SVNUIMessages.AlreadyConnectedPage_RepositoryLocation); Table table = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); table.setLayoutData(new GridData(GridData.FILL_BOTH)); table.setHeaderVisible(true); table.setLinesVisible(true); TableLayout tLayout = new TableLayout(); tLayout.addColumnData(new ColumnWeightData(30, true)); tLayout.addColumnData(new ColumnWeightData(70, true)); table.setLayout(tLayout); this.repositoryRootsView = new TableViewer(table); this.repositoryRootsView.setContentProvider(new ArrayStructuredContentProvider()); final ITableLabelProvider labelProvider = new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { IRepositoryRoot root = (IRepositoryRoot) element; if (columnIndex == 0) { return root.getRepositoryLocation().getLabel(); } return root.getRepositoryLocation().getUrl(); } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return true; } public void removeListener(ILabelProviderListener listener) { } }; this.repositoryRootsView.setLabelProvider(labelProvider); ColumnedViewerComparator comparator = new ColumnedViewerComparator(this.repositoryRootsView) { public int compareImpl(Viewer viewer, Object row1, Object row2) { String val1 = labelProvider.getColumnText(row1, this.column); String val2 = labelProvider.getColumnText(row2, this.column); return ColumnedViewerComparator.compare(val1, val2); } }; this.repositoryRootsView.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) AlreadyConnectedPage.this.repositoryRootsView .getSelection(); AlreadyConnectedPage.this.selectedRoot = (IRepositoryRoot) selection.getFirstElement(); AlreadyConnectedPage.this.setPageComplete(true); } }); TableColumn col = new TableColumn(table, SWT.LEFT); col.setResizable(true); col.setText(SVNUIMessages.AlreadyConnectedPage_LocationLabel); col.addSelectionListener(comparator); col = new TableColumn(table, SWT.LEFT); col.setResizable(true); col.setText(SVNUIMessages.AlreadyConnectedPage_URL); col.addSelectionListener(comparator); this.repositoryRootsView.getTable().setSortDirection(SWT.UP); this.repositoryRootsView.getTable().setSortColumn(this.repositoryRootsView.getTable().getColumn(0)); Composite btnComposite = new Composite(composite, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; btnComposite.setLayout(layout); data = new GridData(); data.verticalAlignment = GridData.FILL; data.horizontalAlignment = GridData.FILL; btnComposite.setLayoutData(data); description = new Label(btnComposite, SWT.WRAP); data = new GridData(GridData.FILL_HORIZONTAL); data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; data.heightHint = this.convertHeightInCharsToPixels(2); description.setLayoutData(data); description.setText(SVNUIMessages.AlreadyConnectedPage_Hint); this.useProjectSettingsButton = new Button(btnComposite, SWT.RADIO); this.useProjectSettingsButton.setLayoutData(this.makeGridData()); this.useProjectSettingsButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button button = (Button) e.widget; boolean selectEnabled = AlreadyConnectedPage.this.useProjectSettings = button.getSelection(); AlreadyConnectedPage.this.repositoryRootsView.getTable().setEnabled(selectEnabled); AlreadyConnectedPage.this.setPageComplete(true); } }); this.useProjectSettingsButton.setText(SVNUIMessages.AlreadyConnectedPage_UseProjectSettings); this.createProjectLocationButton = new Button(btnComposite, SWT.RADIO); this.createProjectLocationButton.setLayoutData(this.makeGridData()); this.createProjectLocationButton.setText(SVNUIMessages.AlreadyConnectedPage_CreateLocation); this.createProjectLocationButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Button button = (Button) e.widget; AlreadyConnectedPage.this.createUsingProjectSettings = button.getSelection(); AlreadyConnectedPage.this.repositoryRootsView.getTable().setEnabled(false); AlreadyConnectedPage.this.setPageComplete(true); } }); this.reconnectButton = new Button(btnComposite, SWT.RADIO); this.reconnectButton.setLayoutData(this.makeGridData()); this.reconnectButton.setText(SVNUIMessages.AlreadyConnectedPage_ReconnectToAnother); this.initControls(); // Setting context help PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, "org.eclipse.team.svn.help.alreadyConnectedContext"); //$NON-NLS-1$ return composite; }
From source file:org.eclipse.team.svn.ui.wizard.shareproject.SelectProjectsGroupPage.java
License:Open Source License
protected Composite createControlImpl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2;//from www. j a v a 2 s . co m composite.setLayout(layout); GridData data = new GridData(GridData.FILL_BOTH); composite.setLayoutData(data); this.initializeDialogUnits(parent); Label label = new Label(composite, SWT.WRAP); data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; data.heightHint = this.convertHeightInCharsToPixels(3); data.widthHint = 420; label.setLayoutData(data); label.setText(SVNUIMessages.SelectProjectsGroupPage_Hint); Button shareProjectsButton = new Button(composite, SWT.RADIO); data = new GridData(); data.horizontalSpan = 2; shareProjectsButton.setLayoutData(data); shareProjectsButton.setText(SVNUIMessages.SelectProjectsGroupPage_ShareNew); boolean newEnabled = this.projectGroups.get(null) != null; shareProjectsButton.setEnabled(newEnabled); shareProjectsButton.setSelection(newEnabled); shareProjectsButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (((Button) e.widget).getSelection()) { SelectProjectsGroupPage.this.groupsCombo.setEnabled(false); SelectProjectsGroupPage.this.analysisDepthCombo.setEnabled(false); SelectProjectsGroupPage.this.selectedGroup = null; } SelectProjectsGroupPage.this.viewer.setInput(SelectProjectsGroupPage.this.projectGroups); } }); Button reconnectProjectsButton = new Button(composite, SWT.RADIO); data = new GridData(); data.horizontalSpan = 2; reconnectProjectsButton.setLayoutData(data); reconnectProjectsButton.setEnabled(this.projectGroups.size() > 1 || this.projectGroups.get(null) == null); reconnectProjectsButton.setText(SVNUIMessages.SelectProjectsGroupPage_Reconnect); reconnectProjectsButton.setSelection(!newEnabled); reconnectProjectsButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (((Button) e.widget).getSelection()) { SelectProjectsGroupPage.this.groupsCombo.setEnabled(true); SelectProjectsGroupPage.this.analysisDepthCombo.setEnabled(true); SelectProjectsGroupPage.this.selectedGroup = SelectProjectsGroupPage.this.groupsCombo .getItem(SelectProjectsGroupPage.this.groupsCombo.getSelectionIndex()); } SelectProjectsGroupPage.this.viewer.setInput(SelectProjectsGroupPage.this.projectGroups); } }); this.analysisDepthCombo = new Combo(composite, SWT.BORDER | SWT.READ_ONLY); data = new GridData(); this.analysisDepthCombo.setLayoutData(data); this.analysisDepthCombo.setVisibleItemCount(10); this.analysisDepthCombo.setEnabled(!newEnabled); this.analysisDepthCombo.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { SelectProjectsGroupPage.this.analysisDepth = ((Combo) e.widget).getSelectionIndex() + 1; SelectProjectsGroupPage.this.performAnalysis(); SelectProjectsGroupPage.this.setGroupsComboItems(); SelectProjectsGroupPage.this.viewer.setInput(SelectProjectsGroupPage.this.projectGroups); } }); String[] allItems = new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ String[] items = allItems; if (this.maxURLLength < 10) { items = new String[this.maxURLLength]; System.arraycopy(allItems, 0, items, 0, this.maxURLLength); } this.analysisDepthCombo.setItems(items); this.analysisDepthCombo.select(1); this.groupsCombo = new Combo(composite, SWT.BORDER | SWT.READ_ONLY); data = new GridData(GridData.FILL_HORIZONTAL); this.groupsCombo.setLayoutData(data); this.setGroupsComboItems(); this.groupsCombo.setEnabled(!newEnabled); this.groupsCombo.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { Combo c = (Combo) e.widget; SelectProjectsGroupPage.this.selectedGroup = c.getItem(c.getSelectionIndex()); SelectProjectsGroupPage.this.viewer.setInput(SelectProjectsGroupPage.this.projectGroups); } }); label = new Label(composite, SWT.NONE); data = new GridData(); data.horizontalSpan = 2; label.setLayoutData(data); label.setText(SVNUIMessages.SelectProjectsGroupPage_ProjectsList); this.viewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); Table table = this.viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); data = new GridData(GridData.FILL_BOTH); data.widthHint = 420; data.horizontalSpan = 2; table.setLayoutData(data); this.viewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { List group = SelectProjectsGroupPage.this .getProjectsGroup(SelectProjectsGroupPage.this.selectedGroup); return group.toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); this.viewer.setLabelProvider(new ITableLabelProvider() { public void removeListener(ILabelProviderListener listener) { } public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { } public void addListener(ILabelProviderListener listener) { } public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { return ((IProject) element).getName(); } }); ColumnedViewerComparator comparator = new ColumnedViewerComparator(this.viewer) { public int compareImpl(Viewer viewer, Object row1, Object row2) { return ColumnedViewerComparator.compare(row1.toString(), row2.toString()); } }; TableColumn col = new TableColumn(table, SWT.NONE); col.setResizable(false); col.setText(SVNUIMessages.SelectProjectsGroupPage_ProjectName); col.addSelectionListener(comparator); TableLayout tLayout = new TableLayout(); tLayout.addColumnData(new ColumnWeightData(100)); table.setLayout(tLayout); this.viewer.getTable().setSortDirection(SWT.UP); this.viewer.getTable().setSortColumn(this.viewer.getTable().getColumn(0)); this.selectedGroup = this.projectGroups.get(null) != null ? null : (String) this.projectGroups.keySet().iterator().next(); this.viewer.setInput(this.projectGroups); // Setting context help PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, "org.eclipse.team.svn.help.projectGroupContext"); //$NON-NLS-1$ return composite; }
From source file:org.eclipse.team.svn.ui.wizard.shareproject.SelectRepositoryLocationPage.java
License:Open Source License
public static TableViewer createRepositoriesListTable(Composite parent, IRepositoryLocation[] repositories) { Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = 200;/* w w w.j a v a 2s .c o m*/ table.setLayoutData(data); table.setHeaderVisible(true); table.setLinesVisible(true); TableLayout tLayout = new TableLayout(); tLayout.addColumnData(new ColumnWeightData(30, true)); tLayout.addColumnData(new ColumnWeightData(70, true)); table.setLayout(tLayout); TableViewer repositoriesView = new TableViewer(table); ColumnedViewerComparator comparator = new ColumnedViewerComparator(repositoriesView) { public int compareImpl(Viewer viewer, Object row1, Object row2) { IRepositoryLocation location1 = (IRepositoryLocation) row1; IRepositoryLocation location2 = (IRepositoryLocation) row2; if (this.column == 0) { return ColumnedViewerComparator.compare(location1.getLabel(), location2.getLabel()); } return ColumnedViewerComparator.compare(location1.getUrl(), location2.getUrl()); } }; TableColumn col = new TableColumn(table, SWT.LEFT); col.setResizable(true); col.setText("Label"); col.addSelectionListener(comparator); col = new TableColumn(table, SWT.LEFT); col.setResizable(true); col.setText("URL"); col.addSelectionListener(comparator); repositoriesView.setComparator(comparator); repositoriesView.getTable().setSortDirection(SWT.UP); repositoriesView.getTable().setSortColumn(repositoriesView.getTable().getColumn(0)); repositoriesView.setContentProvider(new ArrayStructuredContentProvider()); repositoriesView.setLabelProvider(new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { IRepositoryLocation location = (IRepositoryLocation) element; if (columnIndex == 0) { return location.getLabel(); } return location.getUrlAsIs(); } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return true; } public void removeListener(ILabelProviderListener listener) { } }); repositoriesView.setInput(repositories); repositoriesView.getTable().select(0); return repositoriesView; }
From source file:org.eclipse.tm.terminal.view.ui.preferences.PreferencePage.java
License:Open Source License
@Override protected Control createContents(final Composite parent) { final GC gc = new GC(parent); gc.setFont(JFaceResources.getDialogFont()); Composite panel = new Composite(parent, SWT.NONE); panel.setLayout(new GridLayout()); GridData layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); panel.setLayoutData(layoutData);/*from www. j av a 2s. c o m*/ Label label = new Label(panel, SWT.HORIZONTAL); label.setText(Messages.PreferencePage_label); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); if (!Platform.OS_WIN32.equals(Platform.getOS())) { Group group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_command_label); group.setLayout(new GridLayout(2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); command = new Text(group, SWT.SINGLE | SWT.BORDER); command.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); command.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { boolean valid = true; String message = null; String text = command.getText(); if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ IPath p = new Path(text.trim()); valid = p.toFile().isFile() && p.toFile().canRead() && p.toFile().canExecute(); if (!valid) message = Messages.PreferencePage_command_invalid; } setValid(valid); setErrorMessage(message); } }); commandBrowseButton = new Button(group, SWT.PUSH); commandBrowseButton.setText(Messages.PreferencePage_command_button_browse); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); commandBrowseButton.setLayoutData(layoutData); commandBrowseButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FileDialog dialog = new FileDialog(parent.getShell(), SWT.OPEN); String text = command.getText(); if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ IPath p = new Path(text); if (p.toFile().isFile() || !p.toFile().exists()) { dialog.setFilterPath(p.removeLastSegments(1).toOSString()); dialog.setFileName(p.lastSegment()); } else if (p.toFile().isDirectory()) { dialog.setFilterPath(p.toOSString()); } } String selected = dialog.open(); if (selected != null) { IPath sp = new Path(selected); command.setText(sp.toOSString()); } } }); String cmd = UIPlugin.getScopedPreferences() .getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX); if (cmd != null && !"".equals(cmd)) { //$NON-NLS-1$ command.setText(new Path(cmd).toOSString()); } Composite argsPanel = new Composite(group, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; argsPanel.setLayout(layout); layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); layoutData.horizontalSpan = 2; argsPanel.setLayoutData(layoutData); label = new Label(argsPanel, SWT.NONE); label.setText(Messages.PreferencePage_command_arguments_label); arguments = new Text(argsPanel, SWT.SINGLE | SWT.BORDER); arguments.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); String args = UIPlugin.getScopedPreferences() .getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS); if (args != null && !"".equals(args)) { //$NON-NLS-1$ arguments.setText(args); } NoteCompositeHelper.createNoteComposite(group.getFont(), group, Messages.PreferencePage_command_note_label, Messages.PreferencePage_command_note_text); } Group group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_workingDir_label); group.setLayout(new GridLayout(hasVariablesButton ? 3 : 2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); workingDir = new Combo(group, SWT.DROP_DOWN); Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label, Messages.PreferencePage_workingDir_eclipsews_label }); } else { workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label }); } workingDir.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); workingDir.select(0); workingDir.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { boolean valid = true; String message = null; String text = workingDir.getText(); if (text != null && !"".equals(text.trim()) //$NON-NLS-1$ && !Messages.PreferencePage_workingDir_userhome_label.equals(text) && !Messages.PreferencePage_workingDir_eclipsehome_label.equals(text) && !Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { try { // Resolve possible dynamic variables IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); String resolved = vm.performStringSubstitution(text.trim()); IPath p = new Path(resolved); valid = p.toFile().canRead() && p.toFile().isDirectory(); if (!valid) message = Messages.PreferencePage_workingDir_invalid; } catch (CoreException ex) { valid = false; message = ex.getLocalizedMessage(); } } setValid(valid); setErrorMessage(message); } }); browseButton = new Button(group, SWT.PUSH); browseButton.setText(Messages.PreferencePage_workingDir_button_browse); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); browseButton.setLayoutData(layoutData); browseButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IPath uh = null; IPath eh = null; IPath ew = null; // HOME String home = System.getProperty("user.home"); //$NON-NLS-1$ if (home != null && !"".equals(home)) //$NON-NLS-1$ uh = new Path(home); // ECLIPSE_HOME String eclipseHomeLocation = System.getProperty("eclipse.home.location"); //$NON-NLS-1$ if (eclipseHomeLocation != null) { try { URI uri = URIUtil.fromString(eclipseHomeLocation); File f = URIUtil.toFile(uri); eh = new Path(f.getAbsolutePath()); } catch (URISyntaxException ex) { /* ignored on purpose */ } } // ECLIPSE_WORKSPACE Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { if (org.eclipse.core.resources.ResourcesPlugin.getWorkspace() != null && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() != null && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() .getLocation() != null) { ew = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation(); } } DirectoryDialog dialog = new DirectoryDialog(parent.getShell(), SWT.OPEN); // Determine the filter path String text = workingDir.getText(); if (Messages.PreferencePage_workingDir_userhome_label.equals(text)) { dialog.setFilterPath(uh.toOSString()); } else if (Messages.PreferencePage_workingDir_eclipsehome_label.equals(text)) { dialog.setFilterPath(eh.toOSString()); } else if (Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { dialog.setFilterPath(ew.toOSString()); } else if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ try { // Resolve possible dynamic variables IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); String resolved = vm.performStringSubstitution(text.trim()); dialog.setFilterPath(resolved); } catch (CoreException ex) { if (Platform.inDebugMode()) { UIPlugin.getDefault().getLog().log(ex.getStatus()); } } } String selected = dialog.open(); if (selected != null) { IPath sp = new Path(selected); if (uh.equals(sp)) { workingDir.select(0); } else if (eh.equals(sp)) { workingDir.select(1); } else if (ew.equals(sp)) { workingDir.select(2); } else { workingDir.setText(sp.toOSString()); } } } }); if (hasVariablesButton) { variablesButton = new Button(group, SWT.PUSH); variablesButton.setText(Messages.PreferencePage_workingDir_button_variables); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); variablesButton.setLayoutData(layoutData); variablesButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { org.eclipse.debug.ui.StringVariableSelectionDialog dialog = new org.eclipse.debug.ui.StringVariableSelectionDialog( getShell()); dialog.open(); String expression = dialog.getVariableExpression(); if (expression != null) { if ("${eclipse_home}".equals(expression)) { //$NON-NLS-1$ workingDir.select(1); } else if ("${workspace_loc}".equals(expression)) { //$NON-NLS-1$ workingDir.select(2); } else { workingDir.setText(expression); } } } }); } String initialCwd = UIPlugin.getScopedPreferences() .getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ workingDir.select(0); } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd) || "${eclipse_home}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(1); } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd) || "${workspace_loc}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(2); } else { workingDir.setText(new Path(initialCwd).toOSString()); } NoteCompositeHelper.createNoteComposite(group.getFont(), group, Messages.PreferencePage_workingDir_note_label, Messages.PreferencePage_workingDir_note_text); group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_executables_label); group.setLayout(new GridLayout(2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); viewer = new TableViewer(group, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn column = new TableColumn(table, SWT.LEFT); column.setText(Messages.PreferencePage_executables_column_name_label); column = new TableColumn(table, SWT.LEFT); column.setText(Messages.PreferencePage_executables_column_path_label); ColumnViewerToolTipSupport.enableFor(viewer); TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(35)); tableLayout.addColumnData(new ColumnWeightData(65)); table.setLayout(tableLayout); layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); layoutData.heightHint = Dialog.convertHeightInCharsToPixels(gc.getFontMetrics(), 10); table.setLayoutData(layoutData); Composite buttonsPanel = new Composite(group, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttonsPanel.setLayout(layout); buttonsPanel.setLayoutData(new GridData(SWT.LEAD, SWT.BEGINNING, false, false)); addButton = new Button(buttonsPanel, SWT.PUSH); addButton.setText(Messages.PreferencePage_executables_button_add_label); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); addButton.setLayoutData(layoutData); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ExternalExecutablesDialog dialog = new ExternalExecutablesDialog(PreferencePage.this.getShell(), false); if (dialog.open() == Window.OK) { // Get the executable properties and add it to the the list Map<String, String> executableData = dialog.getExecutableData(); if (executableData != null && !executables.contains(executableData)) { executables.add(executableData); viewer.refresh(); } } } }); editButton = new Button(buttonsPanel, SWT.PUSH); editButton.setText(Messages.PreferencePage_executables_button_edit_label); layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); editButton.setLayoutData(layoutData); editButton.addSelectionListener(new SelectionAdapter() { @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { ISelection s = viewer.getSelection(); if (s instanceof IStructuredSelection && !s.isEmpty()) { Object element = ((IStructuredSelection) s).getFirstElement(); if (element instanceof Map) { final Map<String, String> m = (Map<String, String>) element; ExternalExecutablesDialog dialog = new ExternalExecutablesDialog( PreferencePage.this.getShell(), true); dialog.setExecutableData(m); if (dialog.open() == Window.OK) { Map<String, String> executableData = dialog.getExecutableData(); if (executableData != null) { m.clear(); m.putAll(executableData); viewer.refresh(); } } } } } }); removeButton = new Button(buttonsPanel, SWT.PUSH); removeButton.setText(Messages.PreferencePage_executables_button_remove_label); layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); removeButton.setLayoutData(layoutData); removeButton.addSelectionListener(new SelectionAdapter() { @SuppressWarnings("unchecked") @Override public void widgetSelected(SelectionEvent e) { ISelection s = viewer.getSelection(); if (s instanceof IStructuredSelection && !s.isEmpty()) { Iterator<?> iterator = ((IStructuredSelection) s).iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (element instanceof Map) { Map<String, Object> m = (Map<String, Object>) element; executables.remove(m); } viewer.refresh(); } } } }); viewer.setContentProvider(new IStructuredContentProvider() { @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof List && !((List<?>) inputElement).isEmpty()) { return ((List<?>) inputElement).toArray(); } return NO_ELEMENTS; } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public void dispose() { } }); viewer.setLabelProvider(new ITableLabelProvider() { @SuppressWarnings("unchecked") @Override public String getColumnText(Object element, int columnIndex) { if (element instanceof Map) { Map<String, Object> m = (Map<String, Object>) element; switch (columnIndex) { case 0: return (String) m.get(IExternalExecutablesProperties.PROP_NAME); case 1: return (String) m.get(IExternalExecutablesProperties.PROP_PATH); } } return null; } @SuppressWarnings("unchecked") @Override public Image getColumnImage(Object element, int columnIndex) { Image i = null; if (element instanceof Map) { switch (columnIndex) { case 0: Map<String, Object> m = (Map<String, Object>) element; String icon = (String) m.get(IExternalExecutablesProperties.PROP_ICON); if (icon != null) { i = images.get(icon); if (i == null) { ImageData id = ExternalExecutablesManager.loadImage(icon); if (id != null) { ImageDescriptor d = ImageDescriptor.createFromImageData(id); if (d != null) i = d.createImage(); if (i != null) images.put(icon, i); } } } break; case 1: break; } } return i; } @Override public void removeListener(ILabelProviderListener listener) { } @Override public boolean isLabelProperty(Object element, String property) { return false; } @Override public void dispose() { } @Override public void addListener(ILabelProviderListener listener) { } }); List<Map<String, String>> l = ExternalExecutablesManager.load(); if (l != null) executables.addAll(l); viewer.setInput(executables); viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); updateButtons(); gc.dispose(); return panel; }
From source file:org.eclipse.ui.ide.markers.compatibility.internal.QuickFixPage.java
License:Open Source License
/** * Create the table that shows the markers. * //from w w w . java 2 s. c om * @param control */ private void createMarkerTable(Composite control) { markersTable = CheckboxTableViewer.newCheckList(control, SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE); createTableColumns(); markersTable.setContentProvider(new IStructuredContentProvider() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ public Object[] getElements(Object inputElement) { IMarkerResolution selected = getSelectedResolution(); if (selected == null) { return new Object[0]; } if (resolutions.containsKey(selected)) { return ((Collection) resolutions.get(selected)).toArray(); } return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); markersTable.setLabelProvider(new ITableLabelProvider() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, * int) */ public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 0) return Util.getImage(((IMarker) element).getAttribute(IMarker.SEVERITY, -1)); return null; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, * int) */ public String getColumnText(Object element, int columnIndex) { if (columnIndex == 0) return Util.getResourceName((IMarker) element); int line = ((IMarker) element).getAttribute(IMarker.LINE_NUMBER, -1); if (line < 0) { return MarkerMessages.Unknown; } return NLS.bind(MarkerMessages.label_lineNumber, Integer.toString(line)); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void addListener(ILabelProviderListener listener) { // do nothing } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ public void dispose() { // do nothing } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, * java.lang.String) */ public boolean isLabelProperty(Object element, String property) { return false; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { // do nothing } }); markersTable.addCheckStateListener(new ICheckStateListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked() == true) { setPageComplete(true); } else { setPageComplete(markersTable.getCheckedElements().length > 0); } } }); markersTable.addSelectionChangedListener(new ISelectionChangedListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection().isEmpty()) return; IMarker marker = (IMarker) ((IStructuredSelection) event.getSelection()).getFirstElement(); ExtendedMarkersView.openMarkerInEditor(marker, site.getPage()); } }); markersTable.setInput(this); }
From source file:org.eclipse.ui.internal.statushandlers.StatusDialog.java
License:Open Source License
private void initLabelProvider() { ITableLabelProvider provider = new ITableLabelProvider() { Map imageTable = new HashMap(); /*//from ww w . j a va2 s .co m * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void addListener(ILabelProviderListener listener) { // Do nothing } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ public void dispose() { if (!imageTable.isEmpty()) { for (Iterator iter = imageTable.values().iterator(); iter.hasNext();) { Image image = (Image) iter.next(); // image.dispose(); } } } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, * int) */ public Image getColumnImage(Object element, int columnIndex) { if (element != null) { StatusAdapter statusAdapter = ((StatusInfo) element).getStatus(); Job job = (Job) (statusAdapter.getAdapter(Job.class)); if (job != null) { return getIcon(job); } } return null; } /* * Get the icon for the job. Code copied from NewProgressViewer */ private Image getIcon(Job job) { // if (job != null) { // // Object property = job // .getProperty(IProgressConstants.ICON_PROPERTY); // // // If we already have an image cached, return it // Image im = (Image) imageTable.get(property); // if (im != null) { // return im; // } // // // Create an image from the job's icon property or family // Display display = getShell().getDisplay(); // if (property instanceof ImageDescriptor) { // im = ((ImageDescriptor) property).createImage(display); // imageTable.put(property, im); // Cache for disposal // } else if (property instanceof URL) { // im = ImageDescriptor.createFromURL((URL) property) // .createImage(display); // imageTable.put(property, im); // Cache for disposal // } else { // im = ProgressManager.getInstance().getIconFor(job); // // No need to cache since the progress manager will // } // return im; // } return null; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, * int) */ public String getColumnText(Object element, int columnIndex) { return ((StatusInfo) element).getDisplayString(); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, * java.lang.String) */ public boolean isLabelProperty(Object element, String property) { return false; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { // Do nothing } }; statusListViewer.setLabelProvider(provider); }
From source file:org.eclipse.ui.internal.views.markers.QuickFixPage.java
License:Open Source License
/** * Create the table that shows the markers. * /*ww w .ja v a 2 s.com*/ * @param control */ private void createMarkerTable(Composite control) { markersTable = CheckboxTableViewer.newCheckList(control, SWT.BORDER | SWT.V_SCROLL | SWT.SINGLE); createTableColumns(); markersTable.setContentProvider(new IStructuredContentProvider() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ public Object[] getElements(Object inputElement) { IMarkerResolution selected = getSelectedResolution(); if (selected == null) { return new Object[0]; } if (resolutions.containsKey(selected)) { return ((Collection) resolutions.get(selected)).toArray(); } return MarkerSupportInternalUtilities.EMPTY_MARKER_ARRAY; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); markersTable.setLabelProvider(new ITableLabelProvider() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, * int) */ public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 0) return Util.getImage(((IMarker) element).getAttribute(IMarker.SEVERITY, -1)); return null; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, * int) */ public String getColumnText(Object element, int columnIndex) { IMarker marker = (IMarker) element; if (columnIndex == 0) return Util.getResourceName(marker); // Is the location override set? String locationString = marker.getAttribute(IMarker.LOCATION, MarkerSupportInternalUtilities.EMPTY_STRING); if (locationString.length() > 0) { return locationString; } // No override so use line number int lineNumber = marker.getAttribute(IMarker.LINE_NUMBER, -1); String lineNumberString = null; if (lineNumber < 0) lineNumberString = MarkerMessages.Unknown; else lineNumberString = NLS.bind(MarkerMessages.label_lineNumber, Integer.toString(lineNumber)); return lineNumberString; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void addListener(ILabelProviderListener listener) { // do nothing } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ public void dispose() { // do nothing } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, * java.lang.String) */ public boolean isLabelProperty(Object element, String property) { return false; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { // do nothing } }); markersTable.addCheckStateListener(new ICheckStateListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked() == true) { setPageComplete(true); } else { setPageComplete(markersTable.getCheckedElements().length > 0); } } }); new OpenAndLinkWithEditorHelper(markersTable) { { setLinkWithEditor(false); } protected void activate(ISelection selection) { open(selection, true); } /** Not supported*/ protected void linkToEditor(ISelection selection) { } protected void open(ISelection selection, boolean activate) { if (selection.isEmpty()) return; IMarker marker = (IMarker) ((IStructuredSelection) selection).getFirstElement(); if (marker != null && marker.getResource() instanceof IFile) { try { IDE.openEditor(site.getPage(), marker, activate); } catch (PartInitException e) { MarkerSupportInternalUtilities.showViewError(e); } } } }; markersTable.setInput(this); }
From source file:org.eclipse.ui.tests.statushandlers.LabelProviderWrapperTest.java
License:Open Source License
public void testDisposing() { final boolean[] disposed = new boolean[] { false }; ITableLabelProvider provider = new ITableLabelProvider() { public void removeListener(ILabelProviderListener listener) { }//from w w w . j a v a2 s. c o m public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { disposed[0] = true; } public void addListener(ILabelProviderListener listener) { } public String getColumnText(Object element, int columnIndex) { return null; } public Image getColumnImage(Object element, int columnIndex) { return null; } }; dialogState.put(IStatusDialogConstants.CUSTOM_LABEL_PROVIDER, provider); dialogState.put(IStatusDialogConstants.MODALITY_SWITCH, Boolean.TRUE); wrapper.dispose(); assertFalse("Provider should not be disposed during modality switch", disposed[0]); dialogState.put(IStatusDialogConstants.MODALITY_SWITCH, Boolean.FALSE); wrapper.dispose(); assertTrue("Provider should be disposed", disposed[0]); }
From source file:org.eclipse.ui.tests.statushandlers.StatusDialogManagerTest.java
License:Open Source License
/** * Be sure that label provider is not disposed during modality switch. *//*from w w w .j a v a 2s . c o m*/ public void testModalitySwitch4() { final boolean[] disposed = new boolean[] { false }; ITableLabelProvider provider = new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { return ""; } public void addListener(ILabelProviderListener listener) { } public void dispose() { disposed[0] = true; } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }; wsdm.setStatusListLabelProvider(provider); wsdm.addStatusAdapter(createStatusAdapter(MESSAGE_1), false); wsdm.addStatusAdapter(createStatusAdapter(MESSAGE_1), false); wsdm.addStatusAdapter(createStatusAdapter(MESSAGE_2), true); assertFalse("Label provider should not be disposed during modality switch.", disposed[0]); selectWidget(StatusDialogUtil.getOkButton()); assertTrue("Label should be disposed when the dialog is closed.", disposed[0]); }