Example usage for org.eclipse.jface.viewers LabelProvider LabelProvider

List of usage examples for org.eclipse.jface.viewers LabelProvider LabelProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers LabelProvider LabelProvider.

Prototype

public LabelProvider() 

Source Link

Document

Creates a new label provider.

Usage

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);
}