List of usage examples for org.eclipse.jface.viewers ComboViewer setLabelProvider
@Override public void setLabelProvider(IBaseLabelProvider labelProvider)
Viewer
framework method ensures that the given label provider is an instance of ILabelProvider
. 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); }