List of usage examples for org.eclipse.jface.viewers LabelProvider LabelProvider
public LabelProvider()
From source file:com.nokia.cdt.internal.debug.launch.newwizard.DebugRunProcessDialog.java
License:Open Source License
/** * Allow user to enter an executable path. * @param radioGroup//from ww w . jav a2s . c o m */ private void createRemoteExecutableRadioButton(Composite radioGroup) { remoteExecutableRadioButton = new Button(radioGroup, SWT.RADIO); GridDataFactory.fillDefaults().grab(false, false).applyTo(remoteExecutableRadioButton); remoteExecutableRadioButton.setText(Messages.getString("DebugRunProcessDialog.LaunchRemoteProgLabel")); //$NON-NLS-1$ remoteExecutableRadioButton.setData(UID, "radio_remote_program"); //$NON-NLS-1$ remoteExecutableRadioButton .setToolTipText(Messages.getString("DebugRunProcessDialog.LaunchRemoteProgramRadioTooltip")); //$NON-NLS-1$ remoteProgramViewer = new ComboViewer(radioGroup, SWT.BORDER); GridDataFactory.fillDefaults().grab(true, false).applyTo(remoteProgramViewer.getControl()); projectGeneratedRemotePaths = new ArrayList<IPath>(); for (IPath launchable : debugRunProcessWizardData.getLaunchableExes()) { projectGeneratedRemotePaths.add(createSuggestedRemotePath(launchable)); } // add the entries before the user MRU entries remotePathEntries.addAll(0, projectGeneratedRemotePaths); remoteProgramViewer.setContentProvider(new ArrayContentProvider()); remoteProgramViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof IPath) return PathUtils.convertPathToWindows((IPath) element); return super.getText(element); } }); remoteProgramViewer.setInput(remotePathEntries); remoteProgramViewer.getCombo().setVisibleItemCount(Math.min(10, remotePathEntries.size())); remoteProgramViewer.setData(UID, "combo_remote_program"); //$NON-NLS-1$ remoteProgramViewer.getControl() .setToolTipText(Messages.getString("DebugRunProcessDialog.LaunchRemoteProgramSelectorTooltip")); //$NON-NLS-1$ remoteExecutableRadioButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { handleRemoteExecutableRadioSelected(); } }); remoteProgramViewer.getCombo().addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { IPath path = PathUtils.createPath(remoteProgramViewer.getCombo().getText().trim()); if (remoteExecutableRadioButton.getSelection()) { debugRunProcessWizardData.setExeSelectionPath(path); } if (!projectExecutableRadioButton.getSelection()) { IPath projPath = getHostFileForRemoteLocation(path); if (projPath != null) { projectExecutableViewer.setSelection(new StructuredSelection(projPath)); } } validate(); } }); remoteProgramViewer.getCombo().addFocusListener(new FocusAdapter() { /* (non-Javadoc) * @see org.eclipse.swt.events.FocusAdapter#focusLost(org.eclipse.swt.events.FocusEvent) */ @Override public void focusLost(FocusEvent e) { IPath path = PathUtils.createPath(remoteProgramViewer.getCombo().getText().trim()); // MRU behavior remotePathEntries.remove(path); remotePathEntries.add(0, path); } }); }
From source file:com.nokia.cdt.internal.debug.launch.wizard.MainExecutableSelectionWizardPage.java
License:Open Source License
public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NULL); composite.setLayout(new GridLayout(1, false)); composite.setLayoutData(new GridData()); final Label exeLabel = new Label(composite, SWT.NONE); exeLabel.setText(getAltString("MainExecutableSelectionWizardPage.ExeLabel")); //$NON-NLS-1$ exeLabel.setToolTipText(getAltString("MainExecutableSelectionWizardPage.ExeToolTip")); //$NON-NLS-1$ exeLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); exeLabel.setData(".uid", "MainExecutableSelectionWizardPage.exeLabel"); viewer = new ComboViewer(composite, SWT.READ_ONLY); Combo combo = viewer.getCombo();// w w w . j a v a 2 s . co m combo.setData(".uid", "MainExecutableCombo"); //$NON-NLS-1$ //$NON-NLS-2$ combo.setToolTipText(getAltString("MainExecutableSelectionWizardPage.ExeToolTip")); //$NON-NLS-1$ combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); combo.setVisibleItemCount(20); combo.setData(".uid", "MainExecutableSelectionWizardPage.combo"); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LabelProvider()); viewer.setSorter(new ViewerSorter() { public int compare(Viewer viewer, Object o1, Object o2) { if (o1.equals(EMULATOR) || o2.equals(BROWSE_ITEM)) return -1; if (o2.equals(EMULATOR) || o1.equals(BROWSE_ITEM)) return 1; if (!asProcessToLaunch) { // put .exe before any other extension, if not as process to launch boolean isEXE1 = EXE.equalsIgnoreCase(new Path(o1.toString()).getFileExtension()); boolean isEXE2 = EXE.equalsIgnoreCase(new Path(o2.toString()).getFileExtension()); if (isEXE1 != isEXE2) { // if only one is an exe return isEXE1 ? -1 : 1; // return -1 if exe path is .exe, 1 otherwise, sorting .exe paths ahead of anything else } } return o1.toString().compareToIgnoreCase(o2.toString()); } }); input = new ArrayList<String>(displayStringToExeMmpPair.keySet()); if (emulatorPath != null) { input.add(EMULATOR); //$NON-NLS-1$ input.add(BROWSE_ITEM); } if (asProcessToLaunch) { Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); label.setText(Messages.getString("MainExecutableSelectionWizardPage.FullPathLabel")); //$NON-NLS-1$ if (emulatorPath == null) label.setVisible(false); exePathLabel = new Text(composite, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY); exePathLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); exePathLabel.setData(".uid", "MainExecutableSelectionWizardPage.exePathLabel"); if (emulatorPath == null) { exePathLabel.setVisible(false); usePathCheck = new Button(composite, SWT.CHECK); usePathCheck.setSelection(false); usePathCheck.setText(Messages.getString("MainExecutableSelectionWizardPage.UsePathLabel.device")); //$NON-NLS-1$ usePathCheck.setToolTipText( Messages.getString("MainExecutableSelectionWizardPage.UsePathLabel.device.ToolTip")); //$NON-NLS-1$ usePathCheck.setData(".uid", "MainExecutableSelectionWizardPage.usePathCheck"); GridData gd = new GridData(SWT.FILL, SWT.CENTER, false, false); gd.verticalIndent = 30; usePathCheck.setLayoutData(gd); usePathCheck.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (input.isEmpty()) usePathCheck.setSelection(true); enableControls(usePathCheck.getSelection()); } }); pathText = new Text(composite, SWT.BORDER); pathText.setEnabled(false); pathText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); pathText.setToolTipText( Messages.getString("MainExecutableSelectionWizardPage.UsePathLabel.device.ToolTip")); //$NON-NLS-1$ pathText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { validatePage(); } }); pathText.setData(".uid", "MainExecutableSelectionWizardPage.pathText"); if (input.isEmpty()) { usePathCheck.setSelection(true); enableControls(true); } } viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); String item = (String) selection.getFirstElement(); if (item.equals(BROWSE_ITEM)) { FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN); fileDialog.setText( Messages.getString("MainExecutableSelectionWizardPage.SelectExectuableTitle")); //$NON-NLS-1$ BrowseDialogUtils.initializeFrom(fileDialog, emulatorPath); fileDialog.setFilterExtensions(FILTER_EXTS); fileDialog.setFilterNames(FILTER_EXT_NAMES); String pathstr = fileDialog.open(); if (pathstr != null) { IPath path = new Path(pathstr); String displayString = path.lastSegment(); Pair<IPath, IPath> pair = new Pair<IPath, IPath>(path, null); if (!displayStringToExeMmpPair.values().contains(pair)) { displayStringToExeMmpPair.put(displayString, pair); input.add(displayString); viewer.setInput(input); } item = displayString; } else { // just set selection to first item in combo, if user cancels browse item = viewer.getCombo().getItem(0); } viewer.setSelection(new StructuredSelection(item)); } else { Pair<IPath, IPath> pair = getSelectedExeMmpPair(item); exePathLabel.setText(pair.first.toOSString()); exePathLabel.getParent().layout(); } } }); } viewer.setInput(input); if (!input.isEmpty()) { int index = (emulatorPath != null && combo.getItemCount() > 1 && !useEmulatorByDefault) ? 1 : 0; if (index == 1 && defaultExecutable != null) { int defaultExeIndex = index = combo.indexOf(defaultExecutable.lastSegment()); if (defaultExeIndex > 0) index = defaultExeIndex; } combo.select(index); if (exePathLabel != null) { Pair<IPath, IPath> pair = getSelectedExeMmpPair(combo.getItem(index)); exePathLabel.setText(pair.first.toOSString()); } } setControl(composite); Dialog.applyDialogFont(parent); validatePage(); }
From source file:com.nokia.s60tools.analyzetool.global.Util.java
License:Open Source License
/** * Opens selection dialog.// w w w . ja va 2s . c o m * * @param title * Dialog title * @param message * Dialog message text * @param input * Dialog input * @return Selected item */ public static String openSelectionDialog(final String title, final String message, final AbstractList<String> input) { Activator.getDefault().getWorkbench().getDisplay().syncExec(new Runnable() { public void run() { userSelection = ""; ListDialog ld = new ListDialog(new Shell()); ld.setAddCancelButton(true); ld.setContentProvider(new ArrayContentProvider()); ld.setLabelProvider(new LabelProvider()); int width = 0; // calculate dialog width for (int i = 0; i < input.size(); i++) { String tempStr = input.get(i); if (tempStr.length() > width) { width = tempStr.length(); } } // set dialog width // ld.setWidthInChars( width + 2 ); ld.setInput(input); ld.setTitle(title); if (message != null) { ld.setMessage(message); } ld.setHelpAvailable(false); ld.open(); Object[] objs = ld.getResult(); if (objs != null) { userSelection = objs[0].toString(); } } }); return userSelection; }
From source file:com.nokia.s60tools.testdrop.ui.dialogs.TestDropTargetImageSelectionDialog.java
License:Open Source License
/** * Creates master device image selection dialog area * /*from w w w.j ava 2 s . co m*/ * @param dialogAreaComposite * the dialogAreaComposite contains the dialog area */ private void createMasterImageDialogArea(Composite dialogAreaComposite) { final int cols = 2; GridLayout gdl = new GridLayout(cols, false); GridData gd = new GridData(GridData.FILL_BOTH); gd.widthHint = widthHint; gd.heightHint = heightHint; dialogAreaComposite.setLayout(gdl); dialogAreaComposite.setLayoutData(gd); GridData gdLabel = new GridData(GridData.FILL_HORIZONTAL); gdLabel.horizontalSpan = 2; Label masterDeviceSelectionLabel = new Label(dialogAreaComposite, SWT.LEFT); masterDeviceSelectionLabel.setLayoutData(gdLabel); masterDeviceSelectionLabel.setText(String.format(TARGET_MASTER_IMAGE_SELECTION_LABEL, dialogModel.getSelectedMasterDevice().getAlias())); GridData gd2 = new GridData(GridData.FILL_BOTH); masterListViewer = new ListViewer(dialogAreaComposite); masterListViewer.getControl().setLayoutData(gd2); masterListViewer.setContentProvider(new IStructuredContentProvider() { @SuppressWarnings("unchecked") public Object[] getElements(Object inputElement) { List<IPath> paths = (List<IPath>) inputElement; return paths.toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); if (dialogModel.getSelectedMasterDevice().getImages() != null && !dialogModel.getSelectedMasterDevice().getImages().isEmpty()) { masterImages = dialogModel.getSelectedMasterDevice().getImages(); } masterListViewer.setInput(masterImages); masterListViewer.setLabelProvider(new LabelProvider() { public Image getImage(Object element) { return null; } public String getText(Object file) { return ((File) file).getName(); } }); Composite buttonComposite = new Composite(dialogAreaComposite, SWT.NONE); GridLayout gridLayout = new GridLayout(1, false); GridData gridData = new GridData(GridData.FILL_VERTICAL); buttonComposite.setLayout(gridLayout); buttonComposite.setLayoutData(gridData); GridData buttonGridData = new GridData(GridData.FILL_HORIZONTAL); addButton = new Button(buttonComposite, SWT.PUSH); addButton.setText(addButtonText); addButton.setLayoutData(buttonGridData); removeButton = new Button(buttonComposite, SWT.PUSH); removeButton.setText(removeButtonText); removeButton.setLayoutData(buttonGridData); addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { FileDialog dlg = new FileDialog(getShell(), SWT.OPEN); dlg.setFilterNames(FILTER_IMAGES_NAMES); dlg.setFilterExtensions(FILTER_IMAGES_EXTS); String imageFile = dlg.open(); if (imageFile != null) { masterImages.add(new File(imageFile)); } masterListViewer.update(masterImages, null); masterListViewer.refresh(false); } }); removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) masterListViewer.getSelection(); File image = (File) selection.getFirstElement(); if (image == null) { if (masterImages.size() != 0) { LogExceptionHandler.showNotifyDialog(Messages .getString("TestDropTargetImageSelectionDialog.selectDeviceImageFirstException")); } else { LogExceptionHandler.showNotifyDialog(Messages .getString("TestDropTargetImageSelectionDialog.deviceImageListIsEmptyException")); } return; } masterImages.remove(image); masterListViewer.update(masterImages, null); masterListViewer.refresh(false); } }); // set context-sensitive help PlatformUI.getWorkbench().getHelpSystem().setHelp(removeButton, TestDropHelpContextIDs.TESTDROP_IMAGE_SELECTION_DIALOG_REMOVE_BUTTON); PlatformUI.getWorkbench().getHelpSystem().setHelp(addButton, TestDropHelpContextIDs.TESTDROP_IMAGE_SELECTION_DIALOG_BROWSE_BUTTON); PlatformUI.getWorkbench().getHelpSystem().setHelp(masterListViewer.getControl(), TestDropHelpContextIDs.TESTDROP_IMAGE_SELECTION_DIALOG_LIST); }
From source file:com.nokia.sdt.component.symbian.actions.EnableSourceGenDebugAction.java
License:Open Source License
/** * Put up a dialog showing components for selected projects and allow * user to select which of these is debugged. * @param allComponentIds list of all components * @param debuggableComponentIds modified list of selected components * @return true if changes made/*from w w w . j ava 2 s . c o m*/ */ private boolean selectComponents(final Collection<String> allComponentIds, final Collection<String> debuggableComponentIds) { final List<String> sortedComponentIds = new ArrayList<String>(allComponentIds); Collections.sort(sortedComponentIds); ListSelectionDialog dlg = new ListSelectionDialog(workbenchWindow.getShell(), new Object(), new IStructuredContentProvider() { public void dispose() { } public void inputChanged(Viewer arg0, Object arg1, Object arg2) { } public Object[] getElements(Object arg0) { return sortedComponentIds.toArray(); } }, new LabelProvider() { public String getText(Object element) { return element.toString(); } }, "Select components for which to save generated sourcegen scripts:"); dlg.setInitialSelections(debuggableComponentIds.toArray()); dlg.setTitle("Debug Component Sourcegen"); //$NON-NLS-1$ int result = dlg.open(); if (result == IDialogConstants.CANCEL_ID) return false; debuggableComponentIds.clear(); List results = Arrays.asList(dlg.getResult()); for (Iterator iter = results.iterator(); iter.hasNext();) { Object obj = iter.next(); debuggableComponentIds.add((String) obj); } return true; }
From source file:com.nokia.sdt.component.symbian.actions.SelectCustomComponentProjectsAction.java
License:Open Source License
/** * Put up a dialog showing projects in workspace and allow * user to select which of these is searched for custom components. *//* w ww . j a v a2 s . c om*/ private void selectProjects() { IProject[] projectArray = ResourcesPlugin.getWorkspace().getRoot().getProjects(); List<IProject> projects = new ArrayList(Arrays.asList(projectArray)); for (Iterator iter = projects.iterator(); iter.hasNext();) { IProject project = (IProject) iter.next(); if (!project.isOpen()) iter.remove(); } // If the editor list is empty, return. if (projects.isEmpty()) return; // Find the custom component projects List<IProject> customComponentProjects = new ArrayList<IProject>(); for (Iterator iter = projects.iterator(); iter.hasNext();) { IProject project = (IProject) iter.next(); if (UserComponentProjectNature.hasNature(project)) customComponentProjects.add(project); } // Convert the list into an element collection. AdaptableList input = new AdaptableList(projects); ListSelectionDialog dlg = new ListSelectionDialog(workbenchWindow.getShell(), input, new BaseWorkbenchContentProvider(), new LabelProvider() { public String getText(Object element) { return ((IProject) element).getName(); } }, com.nokia.sdt.component.symbian.actions.Messages .getString("SelectCustomComponentProjectsAction.DialogMessage")); //$NON-NLS-1$ dlg.setInitialSelections(customComponentProjects.toArray()); dlg.setTitle(com.nokia.sdt.component.symbian.actions.Messages .getString("SelectCustomComponentProjectsAction.DialogTitle")); //$NON-NLS-1$ int result = dlg.open(); if (result == IDialogConstants.CANCEL_ID) return; final List newCustomComponentProjects = Arrays.asList(dlg.getResult()); // turn off excluded projects for (Iterator iter = customComponentProjects.iterator(); iter.hasNext();) { IProject project = (IProject) iter.next(); if (!newCustomComponentProjects.contains(project)) UserComponentProjectNature.setNature(project, false); } // turn on included projects (redundantly) for (Iterator iter = newCustomComponentProjects.iterator(); iter.hasNext();) { IProject project = (IProject) iter.next(); UserComponentProjectNature.setNature(project, true); } }
From source file:com.nokia.sdt.component.symbian.properties.AbstractPropertyDescriptor.java
License:Open Source License
public ILabelProvider getLabelProvider() { if (labelProvider == null) { ILabelProvider newProvider = null; if (editorFactory != null) { EObject obj = getValueSource().getEObject(); newProvider = editorFactory.createLabelProvider(obj, getPropertyPath()); }//www . j ava 2s .co m if (newProvider == null) { newProvider = new LabelProvider() { public String getText(Object object) { return typeDescriptor.toDisplayString(object); } public Image getImage(Object object) { return typeDescriptor.getImage(); } }; } labelProvider = new LabelProviderDelegate(newProvider, this); } return labelProvider; }
From source file:com.nokia.sdt.component.symbian.properties.ComponentReferencePropertyDescriptor.java
License:Open Source License
public CellEditor doCreatePropertyEditor(Composite parent, int style) { ILabelProvider labelProvider = new LabelProvider() { public String getText(Object element) { String result;/*from w w w .ja v a2 s. c o m*/ if (element == null) { result = Messages.getString("ComponentReferencePropertyDescriptor.2"); //$NON-NLS-1$ } else if (element instanceof NewComponentReferenceParameter) { NewComponentReferenceParameter param = (NewComponentReferenceParameter) element; result = getStrings().getString(param.getCreationKey()); } else result = element.toString(); return result; } }; return new ComponentReferenceCellEditor(parent, getValueList(), labelProvider); }
From source file:com.nokia.sdt.component.symbian.properties.CompoundPropertyDescriptor.java
License:Open Source License
public ILabelProvider getLabelProvider() { ILabelProvider result = null;/*w w w . j a v a2s . co m*/ IPropertyEditorFactory factory = getEditorFactory(); if (factory != null) { EObject obj = getValueSource().getEObject(); result = factory.createLabelProvider(obj, getPropertyPath()); } if (result == null) { final ITypeDescriptor td = getTypeDescriptor(); result = new LabelProvider() { public String getText(Object object) { if (td instanceof CompoundPropertyTypeDescriptor) { ITypeDescriptor editableType = ((CompoundPropertyTypeDescriptor) td).getEditableType(); if ((editableType instanceof EnumPropertyTypeDescriptor) && (object instanceof String)) { String displayString = editableType.toDisplayString(object); if (displayString == null) return Messages.getString("CompoundPropertyDescriptor.CUSTOM"); //$NON-NLS-1$ return displayString; } } return td.toDisplayString(object); } public Image getImage(Object object) { return td.getImage(); } }; } return result; }
From source file:com.nokia.sdt.component.symbian.properties.EnumPropertyTypeDescriptor.java
License:Open Source License
public CellEditor createPropertyEditor(Composite parent, int styl, EObject object, String propertyPath) { ILabelProvider labelProvider = new LabelProvider() { public String getText(Object element) { return toDisplayString(element); }/*from w w w. ja v a 2 s .c o m*/ }; return new ModelObjectComboBoxCellEditor(parent, getValueList(), labelProvider); }