Example usage for org.eclipse.jface.viewers ComboViewer setLabelProvider

List of usage examples for org.eclipse.jface.viewers ComboViewer setLabelProvider

Introduction

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

Prototype

@Override
public void setLabelProvider(IBaseLabelProvider labelProvider) 

Source Link

Document

The list viewer implementation of this Viewer framework method ensures that the given label provider is an instance of ILabelProvider.

Usage

From source file:de.fzi.skillpro.order.dialogs.CreateNewOrderDialog.java

License:Open Source License

private void createContainerItems(Composite container, GridDataFactory gdGrab) {
    final Label orderLabel = new Label(container, SWT.NONE);
    orderLabel.setText("ID");
    final Text orderText = new Text(container, SWT.BORDER);
    orderText.setLayoutData(gdGrab.create());

    final Label nameLabel = new Label(container, SWT.NONE);
    nameLabel.setText("Name");
    final Text nameText = new Text(container, SWT.BORDER);
    nameText.setLayoutData(gdGrab.create());

    final Label productLabel = new Label(container, SWT.NONE);
    productLabel.setText("Product");
    final ComboViewer productCV = new ComboViewer(container);
    productCV.getControl().setLayoutData(gdGrab.create());
    productCV.setContentProvider(new ArrayContentProvider());
    productCV.setLabelProvider(new LabelProvider() {
        @Override/*from   w w  w .  ja v  a2 s. c  om*/
        public String getText(Object element) {
            return ((Product) element).getName();
        }
    });
    productCV.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            product = (Product) ((IStructuredSelection) productCV.getSelection()).getFirstElement();
            validate();
        }
    });
    productCV.setInput(SkillproService.getSkillproProvider().getProductRepo().getEntities());

    final Label quantityLabel = new Label(container, SWT.NONE);
    quantityLabel.setText("Quantity");
    final Text quantityText = new Text(container, SWT.BORDER);
    quantityText.setText(DEFAULT_QUANTITY + "");
    quantityText.setLayoutData(gdGrab.create());

    final Label startDateLabel = new Label(container, SWT.NONE);
    startDateLabel.setText("Start Date");
    final DateTime startDateTime = new DateTime(container, SWT.DATE | SWT.MEDIUM);
    startDateTime.setLayoutData(gdGrab.create());

    final Label endDateLabel = new Label(container, SWT.NONE);
    endDateLabel.setText("End Date");
    final DateTime endDateTime = new DateTime(container, SWT.DATE | SWT.MEDIUM);
    endDateTime.setLayoutData(gdGrab.create());
    // Listeners
    SelectionListener dateListener = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            DateTime source = (DateTime) e.getSource();
            if (source == startDateTime) {
                startDate.set(Calendar.DAY_OF_MONTH, startDateTime.getDay());
                startDate.set(Calendar.MONTH, startDateTime.getMonth() + 1);
                startDate.set(Calendar.YEAR, startDateTime.getYear());
            } else if (source == endDateTime) {
                deadline.set(Calendar.DAY_OF_MONTH, endDateTime.getDay());
                deadline.set(Calendar.MONTH, endDateTime.getMonth() + 1);
                deadline.set(Calendar.YEAR, endDateTime.getYear());
            }
            validate();
        }
    };

    ModifyListener modifyListener = new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            Text source = (Text) e.getSource();
            if (source == quantityText) {
                try {
                    quantity = Integer.parseInt(quantityText.getText());
                } catch (NumberFormatException ex) {
                    quantityText.setText("");
                }
            } else if (source == orderText) {
                id = orderText.getText();
            }
            validate();
        }
    };
    // ADD LISTENERS
    orderText.addModifyListener(modifyListener);
    quantityText.addModifyListener(modifyListener);
    nameText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            name = nameText.getText();
            validate();
        }
    });
    startDateTime.addSelectionListener(dateListener);
    endDateTime.addSelectionListener(dateListener);
}

From source file:de.metadocks.lambdaui.snippets.swt.HelloWorld.java

License:Open Source License

private void customizeComboViewer(ComboViewer viewer) {
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new LabelProvider() {
        @Override//from   w w  w. j  av  a2s .c om
        public String getText(Object element) {
            return super.getText(element);
        }
    });
    viewer.setInput(Arrays.asList("One", "Two", "Three"));
}

From source file:de.quamoco.adaptation.wizard.util.elementsselection.SelectElementsComposite.java

License:Apache License

protected void createButtonGroup() {
    /* [IV]/*from   w  ww .  j a  va  2 s.c om*/
     * Buttons hierarchy, check all and reset **********************************************************************
     */
    Composite buttonComposite = new Composite(this, SWT.NONE);
    buttonComposite.setLayout(new GridLayout(1, true));

    final ToolBar toolBar = new ToolBar(buttonComposite, SWT.NONE);

    /*
     * Toggle button flat / hierarchy. Viewed only when there is at least one hierarchy 
     * defined in the adaptation model for this page!
     */
    if (adaptationElement.getElementHierarchies().size() > 0) {
        final ToolItem toggleHierarchy = new ToolItem(toolBar, SWT.CHECK);
        toggleHierarchy.setImage(Activator.getImageDescriptor("icons/toggle_hierarchy.gif").createImage());
        toggleHierarchy.setToolTipText("Switch between flat and hierarchical view");
        toggleHierarchy.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                if (toggleHierarchy.getSelection()) { // => hierarchy view
                    selectElementsTreeViewer.setContentProvider(getHierarchicalQualityModelContentProvider());
                    showSelectionTreeViewer.setContentProvider(getHierarchicalQualityModelContentProvider());
                    showSelectionTreeViewer.expandAll();
                } else { // => flat view
                    selectElementsTreeViewer.setContentProvider(getFlatQualityModelContentProvider());
                    showSelectionTreeViewer.setContentProvider(getFlatQualityModelContentProvider());
                    showSelectionTreeViewer.expandAll();
                }
            }

        });
        new ToolItem(toolBar, SWT.SEPARATOR);

        /*
         * Show combo box to allow between the hierarchies and preselect the first one.
         */
        final ComboViewer dropDownHierarchy = new ComboViewer(buttonComposite);
        dropDownHierarchy.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                return ((ElementHierarchy) element).getLabel();
            }
        });
        dropDownHierarchy.setContentProvider(new AbstractContentProvider() {
            @Override
            public Object[] getElements(Object inputElement) {
                return ((List<?>) inputElement).toArray();
            }
        });
        dropDownHierarchy.setInput(adaptationElement.getElementHierarchies());

        // Show only when button is active
        toggleHierarchy.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                dropDownHierarchy.getControl().setVisible(toggleHierarchy.getSelection());
            }
        });

        // set selectedElementHierarchy when modified and update view
        dropDownHierarchy.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                selectedElementHierarchy = (ElementHierarchy) selection.getFirstElement();
                if (toggleHierarchy.getSelection()) { // update when necessary
                    selectElementsTreeViewer.setContentProvider(getHierarchicalQualityModelContentProvider());
                    showSelectionTreeViewer.setContentProvider(getHierarchicalQualityModelContentProvider());
                    showSelectionTreeViewer.expandAll();
                }
            }
        });

        // Toggle status according to the showHierarchyByDefault value in the adaptation model      
        toggleHierarchy.setSelection(adaptationElement.isShowHierarchyByDefault());
        dropDownHierarchy
                .setSelection(new StructuredSelection(adaptationElement.getElementHierarchies().get(0)));
        dropDownHierarchy.getControl().setVisible(adaptationElement.isShowHierarchyByDefault());
    }

    /*
     * Select all button, has an selection listener that reacts upon click,
     * and another lister that unchecks it, if not all elements are selected in the view
     */
    final ToolItem selectAllButton = new ToolItem(toolBar, SWT.CHECK);
    selectAllButton.setImage(Activator.getImageDescriptor("icons/select_all.gif").createImage());
    selectAllButton.setToolTipText("Select all");

    SelectAllButtonCustomTreeListener selectAllButtonCustomTreeListener = new SelectAllButtonCustomTreeListener(
            selectAllButton);
    selectElementsTreeViewer.addCheckedElementsChangedListener(selectAllButtonCustomTreeListener);
    selectElementsTreeViewer.addRefreshListener(selectAllButtonCustomTreeListener);

    // Selection listener that reacts upon button click
    selectAllButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectAllButton.getSelection()) {
                selectElementsTreeViewer.checkAllVisible();
            } else {
                selectElementsTreeViewer.uncheckAllVisible();
            }
        }

    });

    new ToolItem(toolBar, SWT.SEPARATOR);

    // Reset button
    // TODO implement with wizard state
    //      ToolItem resetButton = new ToolItem(toolBar, SWT.PUSH);
    //      resetButton.setEnabled(false);
    //      resetButton.setImage(Activator.getImageDescriptor("icons/reset.gif").createImage());
    //      resetButton.setToolTipText("Reset");
    //      resetButton.addSelectionListener(new SelectionAdapter() {
    //         
    //         @Override
    //         public void widgetSelected(SelectionEvent e) {
    ////            // Clear filter text
    ////            selectElementsFilteredTree.getFilterControl().setText("");
    ////            showSelectionFilteredTree.getFilterControl().setText("");
    ////
    ////            // Resets the selectElements viewer
    ////            selectElementsTreeViewer.uncheckAll();
    ////            
    ////            // Restore the default checking
    ////            selectElementsTreeViewer.setChecked(defaultCheckedElements, true);
    ////            
    ////            // Refresh showSelectionTreeViewer since check status may have changed
    ////            showSelectionTreeViewer.refresh();
    ////            
    ////            // Expand both viewer
    ////            selectElementsTreeViewer.expandAll();
    ////            showSelectionTreeViewer.expandAll();
    //         }
    //         
    //      });

}

From source file:de.quamoco.adaptation.wizard.util.preselection.PreselectionDialog.java

License:Apache License

/**
 * Creates the message, the tree viewer and the select all button.
 *//* w w  w .j  av a 2s.  c  o m*/
@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);

    // Message
    Label label = new Label(composite, SWT.WRAP);
    label.setText(message);
    label.setFont(parent.getFont());
    label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    // TreeViewer
    Group treeGroup = SWTUtil.createGroup(composite, "");
    treeGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    CustomFilteredTree filteredTree = new CustomFilteredTree(treeGroup, new NamedElementPatternFilter(),
            wizardState);
    filteredTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    final CustomTreeViewer treeViewer = filteredTree.getCustomTreeViewer();
    treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(new QmItemProviderAdapterFactory()));
    treeViewer.setContentProvider(
            new AdapterFactoryContentProvider(new CustomQmItemProviderAdapterFactory(null)));
    new TreeViewerAttributeTooltip(treeViewer, QmPackage.eINSTANCE.getDescribedElement_Description()); // tooltip
    treeViewer.setSorter(new ViewerSorter());
    treeViewer.setInput(new TransientRoot(null, null) {
        @Override
        public Collection<AnnotatedElement> getReferencedElements() {
            return new LinkedList<AnnotatedElement>(affectedElements);
        }
    });

    final ToolBar toolBar = new ToolBar(composite, SWT.NONE);
    toolBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    // Hierarchies
    List<ElementHierarchy> hierarchies = getHierarchies();
    if (hierarchies.size() > 0) {
        final ToolItem toggleHierarchy = new ToolItem(toolBar, SWT.CHECK);
        final ComboViewer dropDownHierarchy = new ComboViewer(composite);
        toggleHierarchy.setImage(Activator.getImageDescriptor("icons/toggle_hierarchy.gif").createImage());
        toggleHierarchy.setToolTipText("Switch between flat and hierarchical view");
        toggleHierarchy.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                if (toggleHierarchy.getSelection()) { // => hierarchy view
                    ElementHierarchy hierarchy = (ElementHierarchy) ((IStructuredSelection) dropDownHierarchy
                            .getSelection()).getFirstElement();
                    hierarchyUpdated(treeViewer, hierarchy);
                } else { // => flat view
                    hierarchyUpdated(treeViewer, null);
                }
            }

        });
        new ToolItem(toolBar, SWT.SEPARATOR);

        /*
         * Show combo box to allow between the hierarchies and preselect the first one.
         */

        dropDownHierarchy.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                ElementHierarchy hierarchy = (ElementHierarchy) element;
                String elementName = hierarchy.getAdaptationElement().getElementClass().getName();
                return elementName + " - " + hierarchy.getLabel();
            }
        });
        dropDownHierarchy.setContentProvider(new AbstractContentProvider() {
            @Override
            public Object[] getElements(Object inputElement) {
                return ((List<?>) inputElement).toArray();
            }
        });
        dropDownHierarchy.setInput(hierarchies);

        // Show only when button is active
        toggleHierarchy.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                dropDownHierarchy.getControl().setVisible(toggleHierarchy.getSelection());
            }
        });

        // set selectedElementHierarchy when modified and update view
        dropDownHierarchy.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                if (toggleHierarchy.getSelection()) { // update when necessary
                    hierarchyUpdated(treeViewer, (ElementHierarchy) selection.getFirstElement());
                }
            }
        });

        // Set default status   
        toggleHierarchy.setSelection(false);
        dropDownHierarchy.setSelection(new StructuredSelection(hierarchies.get(0)));
        dropDownHierarchy.getControl().setVisible(false);
    }

    // Select All Button      
    final ToolItem selectAllButton = new ToolItem(toolBar, SWT.CHECK);
    selectAllButton.setImage(Activator.getImageDescriptor("icons/select_all.gif").createImage());
    selectAllButton.setToolTipText("Select all");
    selectAllButton.setSelection(treeViewer.areAllVisibleElementsChecked());
    SelectAllButtonCustomTreeListener selectAllButtonCustomTreeListener = new SelectAllButtonCustomTreeListener(
            selectAllButton);
    treeViewer.addCheckedElementsChangedListener(selectAllButtonCustomTreeListener);
    treeViewer.addRefreshListener(selectAllButtonCustomTreeListener);
    // Selection listener that reacts upon button click
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectAllButton.getSelection()) {
                treeViewer.checkAllVisible();
            } else {
                treeViewer.uncheckAllVisible();
            }
            treeViewer.refresh();
            // set focus to ok button
            okButton.setFocus();
        }
    });
    // select everything by default
    selectAllButton.setSelection(true);
    treeViewer.checkAllVisible();
    treeViewer.refresh();

    applyDialogFont(composite);
    return composite;
}

From source file:de.walware.ecommons.emf.ui.forms.DropDownProperty.java

License:Open Source License

@Override
public void create(final Composite parent, final IEFFormPage page) {
    final EFToolkit toolkit = page.getToolkit();

    toolkit.createPropLabel(parent, getLabel(), getTooltip());

    fComposite = new Composite(parent, SWT.NULL);
    toolkit.adapt(fComposite);//ww w  .ja va 2s. c  om
    fComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
    fComposite.setLayout(LayoutUtil.createCompositeGrid(3));

    {
        final ComboViewer viewer = new ComboViewer(fComposite, SWT.READ_ONLY | SWT.DROP_DOWN | SWT.SINGLE);
        fComboViewer = viewer;

        final ILabelProvider labelProvider = createLabelProvider(page);

        viewer.setLabelProvider(labelProvider);
        viewer.setContentProvider(ArrayContentProvider.getInstance());

        final GridData gd = new GridData(SWT.FILL, SWT.CENTER, false, false);
        gd.widthHint = LayoutUtil.hintWidth(getCombo(), fInitialInput, labelProvider);
        viewer.getControl().setLayoutData(gd);
    }

    fDetailStack = createDetails(fComposite, page);
    fDetailStack.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.RRepoPreferencePage.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    final Composite area = new Composite(parent, SWT.NONE);
    area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    area.setLayout(LayoutUtil.createDialogGrid(2));

    {/*from w ww .j  ava2s. c om*/
        final Label label = new Label(area, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
        label.setText("Name:");
    }
    {
        final Text text = new Text(area, SWT.BORDER);
        text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        fNameControl = text;
    }
    {
        final Label label = new Label(area, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
        label.setText("URL:");
    }
    {
        final Text text = new Text(area, SWT.BORDER);
        final GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
        gd.widthHint = LayoutUtil.hintWidth(fNameControl, 60);
        text.setLayoutData(gd);
        fURLControl = text;
    }
    {
        final Label label = new Label(area, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
        label.setText("Type:");
    }
    {
        final ComboViewer viewer = new ComboViewer(area, SWT.READ_ONLY | SWT.BORDER | SWT.DROP_DOWN);
        final GridData gd = new GridData(SWT.LEFT, SWT.CENTER, true, false);
        gd.widthHint = LayoutUtil.hintWidth(viewer.getCombo(), 10);
        viewer.getCombo().setLayoutData(gd);
        viewer.setContentProvider(ArrayContentProvider.getInstance());
        viewer.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(final Object element) {
                if (element instanceof RPkgType) {
                    return ((RPkgType) element).getLabel();
                }
                return super.getText(element);
            }
        });
        viewer.setInput(new Object[] { DEFAULT_TYPE, RPkgType.SOURCE, RPkgType.BINARY });
        viewer.setSelection(new StructuredSelection(DEFAULT_TYPE));
        fTypeControl = viewer;
    }

    LayoutUtil.addSmallFiller(area, true);

    applyDialogFont(area);

    return area;
}

From source file:descent.internal.ui.preferences.FoldingConfigurationBlock.java

License:Open Source License

private ComboViewer createProviderViewer() {
    /* list viewer */
    ComboViewer viewer = new ComboViewer(fProviderCombo);
    viewer.setContentProvider(new IStructuredContentProvider() {

        /*/*from   ww  w  .  jav  a  2s  .  c om*/
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
        }

        /*
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
        }

        /*
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return fProviderDescriptors.values().toArray();
        }
    });
    viewer.setLabelProvider(new LabelProvider() {
        /*
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            return null;
        }

        /*
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            return ((JavaFoldingStructureProviderDescriptor) element).getName();
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (!sel.isEmpty()) {
                fStore.setValue(PreferenceConstants.EDITOR_FOLDING_PROVIDER,
                        ((JavaFoldingStructureProviderDescriptor) sel.getFirstElement()).getId());
                updateListDependencies();
            }
        }
    });
    viewer.setInput(fProviderDescriptors);
    viewer.refresh();

    return viewer;
}

From source file:era.foss.objecteditor.specobject.SpecObjectCompositeViewer.java

License:Open Source License

/**
 * Create button bar showing:/*from w w w . j  a v  a  2 s. co m*/
 * <ul>
 * <li>combo box for the view</li>
 * <li>button for adding new SpecObjects</li>
 * </ul>
 * 
 * 
 * @param viewerComposite the parent composite
 * @return
 */
private void createButtonBar() {
    buttonBarComposite = new Composite(topLevelComposite, SWT.NONE);
    buttonBarComposite.setLayout(new GridLayout(4, true));
    buttonBarComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 0, 0));

    /*
     * create combo box showing the availible views
     */
    ComboViewer viewComboViewer = new ComboViewer(buttonBarComposite, SWT.READ_ONLY) {
        @Override
        protected void doUpdateItem(Widget data, Object element, boolean fullMap) {
            // memorize the selection before updating the item, as the
            // update routine removes the selection...
            ISelection currentSelection = this.getSelection();
            super.doUpdateItem(data, element, fullMap);
            // set the selection to the previous value
            this.setSelection(currentSelection);
        }
    };
    ObservableListContentProvider contentProvider = new ObservableListContentProvider();
    viewComboViewer.setContentProvider(contentProvider);
    viewComboViewer.setLabelProvider(
            new ObservableMapLabelProvider(EMFProperties.value(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)
                    .observeDetail(contentProvider.getKnownElements())));
    IEMFListProperty dataTypeDefinitions = EMFProperties.list(ErfPackage.Literals.ERA_TOOL_EXTENSION__VIEWS);
    IObservableList observableList = dataTypeDefinitions.observe(toolExtension);
    viewComboViewer.setInput(observableList);
    // use first view available
    // TODO: use a dedicated default view if available
    if (toolExtension.getViews().size() > 0) {
        viewComboViewer.setSelection(new StructuredSelection(toolExtension.getViews().get(0)));
    }
    viewComboViewer.getControl().setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));

    viewMaster = ViewerProperties.singleSelection().observe(viewComboViewer);

    // refresh composite table in case view has been changed
    viewMaster.addChangeListener(new IChangeListener() {

        @Override
        public void handleChange(ChangeEvent event) {
            dbc.dispose();

            compositeTable.dispose();
            createCompositeTable();

            binding();

            topLevelComposite.layout();
        }
    });

    /*
     * Create Combo box for selecting the SpecType
     */
    final ComboViewer specTypecomboViewer = new ComboViewer(buttonBarComposite, SWT.READ_ONLY) {
        @Override
        protected void doUpdateItem(Widget data, Object element, boolean fullMap) {
            // memorize the selection before updating the item, as the
            // update routine removes the selection...
            ISelection currentSelection = this.getSelection();
            super.doUpdateItem(data, element, fullMap);
            // set the selection to the previous value
            this.setSelection(currentSelection);
        }
    };
    ObservableListContentProvider comboViewercontentProvider = new ObservableListContentProvider();
    specTypecomboViewer.getControl().setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
    // set content provider
    specTypecomboViewer.setContentProvider(comboViewercontentProvider);
    // set label provider
    specTypecomboViewer.setLabelProvider(
            new ObservableMapLabelProvider(EMFProperties.value(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)
                    .observeDetail(comboViewercontentProvider.getKnownElements())));
    // set input
    IEMFListProperty specTypeProperty = EMFProperties.list(ErfPackage.Literals.CONTENT__SPEC_TYPES);
    specTypecomboViewer.setInput(specTypeProperty.observe(this.erfModel.getCoreContent()));

    // TODO: use a dedicated default type if available
    if (erfModel.getCoreContent().getSpecTypes().size() > 0) {
        specTypecomboViewer
                .setSelection(new StructuredSelection(erfModel.getCoreContent().getSpecTypes().get(0)));
    }
    specTypeMaster = ViewerProperties.singleSelection().observe(specTypecomboViewer);

    /*
     * create add button
     */
    final Button addButton = new Button(buttonBarComposite, SWT.NONE);
    addButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    addButton.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
    addButton.setEnabled(specTypeMaster.getValue() != null);
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            SpecObjectHandler.createNewSpecObject(editingDomain, erfModel.getCoreContent(),
                    (SpecType) SpecObjectCompositeViewer.this.specTypeMaster.getValue(),
                    erfModel.getCoreContent().getSpecifications().get(0));
        }
    });

    specTypeMaster.addValueChangeListener(new IValueChangeListener() {
        @Override
        public void handleValueChange(ValueChangeEvent event) {
            addButton.setEnabled(event.getObservableValue().getValue() != null);
        }
    });

}

From source file:era.foss.typeeditor.view.ViewForm.java

License:Open Source License

/**
 * Create a Combo box for selecting the {@link SpecType} of the respective view
 * //from   w  w  w  .  j av  a2s . c  o m
 * @param parent parent composite
 */
private void createSpecTypeComboViewer(Composite parent) {

    final ComboViewer specTypeComboViewer = new ComboViewer(parent, SWT.READ_ONLY) {
        @Override
        protected void doUpdateItem(Widget data, Object element, boolean fullMap) {
            // memorize the selection before updating the item, as the
            // update routine removes the selection...
            ISelection currentSelection = this.getSelection();
            super.doUpdateItem(data, element, fullMap);
            // set the selection to the previous value
            this.setSelection(currentSelection);
        }
    };
    ObservableListContentProvider contentProvider = new ObservableListContentProvider();
    specTypeComboViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    // set content provider
    specTypeComboViewer.setContentProvider(contentProvider);
    // set label provider
    specTypeComboViewer.setLabelProvider(
            new ObservableMapLabelProvider(EMFProperties.value(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)
                    .observeDetail(contentProvider.getKnownElements())));

    // set input
    IEMFListProperty specTypeProperty = EMFProperties.list(ErfPackage.Literals.CONTENT__SPEC_TYPES);
    specTypeComboViewer.setInput(specTypeProperty.observe(this.erfModel.getCoreContent()));
    specTypeMaster = ViewerProperties.singleSelection().observe(specTypeComboViewer);
    if (erfModel.getCoreContent().getSpecTypes().size() > 0) {
        specTypeComboViewer
                .setSelection(new StructuredSelection(erfModel.getCoreContent().getSpecTypes().get(0)));
    }

    specTypeMaster.addValueChangeListener(new IValueChangeListener() {

        @Override
        public void handleValueChange(ValueChangeEvent event) {
            viewElementTableViewer.refresh();
            viewLayoutViewer.refresh();

        }
    });
}

From source file:eu.esdihumboldt.hale.io.csv.ui.DefaultSchemaTypePage.java

License:Open Source License

/**
 * Update all fields (should be called if page is initialized or the
 * selection of input (file or table) has been changed
 *///from   w ww . jav  a2  s  .c o m
protected void update() {
    int length = 0;

    // the header is not valid so clear all content
    if (header == null || header.length == 0) {
        // clear properties
        clearPage();
        return;
    }

    if (secondRow == null || secondRow.length == 0) {
        secondRow = header;
    }

    if (header.length != 0) {
        length = header.length;
    }

    // dispose all property names if the read configuration has been changed
    if (lastSecondRow != null && !Arrays.equals(header, lastSecondRow)) {
        for (TypeNameField properties : fields) {
            properties.dispose();
            properties.getTextControl(group).dispose();
            properties.getLabelControl(group).dispose();
        }
        for (ComboViewer combViewer : comboFields) {
            combViewer.getCombo().dispose();
        }
        fields.clear();
        comboFields.clear();
    }

    if (!Arrays.equals(header, lastSecondRow)) {
        for (int i = 0; i < length; i++) {
            final TypeNameField propField;
            final ComboViewer cv;

            validSel.add(true);

            propField = new TypeNameField("properties", Integer.toString(i + 1), group);
            fields.add(propField);
            propField.setEmptyStringAllowed(false);
            propField.setErrorMessage("Please enter a valid Property Name");
            propField.setPropertyChangeListener(new IPropertyChangeListener() {

                @Override
                public void propertyChange(PropertyChangeEvent event) {

                    HashSet<String> hs = new HashSet<String>();

                    if (event.getProperty().equals(StringFieldEditor.VALUE)) {
                        for (TypeNameField field : fields) {
                            if (!hs.add(field.getStringValue())) {
                                valid = false;
                                break;
                            } else {
                                valid = true;
                            }

                        }

                    }

                    if (event.getProperty().equals(StringFieldEditor.IS_VALID)) {
                        isValid = (Boolean) event.getNewValue();
                    }

                    setPageComplete(isValid());

                }
            });
            propField.setStringValue(header[i].replace(" ", ""));

            cv = new ComboViewer(group);
            comboFields.add(cv);
            cv.addSelectionChangedListener(new ISelectionChangedListener() {

                @Override
                public void selectionChanged(SelectionChangedEvent event) {

                    int i = comboFields.indexOf(event.getSource());
                    PropertyTypeFactory actualSelection = ((PropertyTypeFactory) ((IStructuredSelection) cv
                            .getSelection()).getFirstElement());

                    try {
                        actualSelection.createExtensionObject().convertFromField(secondRow[i]);
                        validSel.set(i, true);

                    } catch (Exception e) {
                        validSel.set(i, false);
                    }
                    if (validSel.contains(false)) {
                        int j = validSel.indexOf(false) + 1;
                        setMessage("Your selection in field # " + j + " is not valid!", WARNING);
                    } else {
                        setMessage(null);
                    }

                }
            });
            cv.setContentProvider(ArrayContentProvider.getInstance());
            cv.setLabelProvider(new LabelProvider() {

                /**
                 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
                 */
                @Override
                public String getText(Object element) {
                    if (element instanceof PropertyTypeFactory) {
                        return ((PropertyTypeFactory) element).getDisplayName();
                    }
                    return super.getText(element);
                }
            });
            Collection<PropertyTypeFactory> elements = PropertyTypeExtension.getInstance().getFactories();
            cv.setInput(elements);

            PropertyTypeFactory defaultSelection = PropertyTypeExtension.getInstance()
                    .getFactory("java.lang.String");
            if (defaultSelection != null) {
                cv.setSelection(new StructuredSelection(defaultSelection));
            } else if (!elements.isEmpty()) {
                cv.setSelection(new StructuredSelection(elements.iterator().next()));
            }

        }
    }
    group.setLayout(new GridLayout(3, false));

    lastSecondRow = header;

    group.layout();
    sc.layout();
    //      setPageComplete(sfe.isValid() && isValid && valid);
}