Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java')
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java304
1 files changed, 0 insertions, 304 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java
deleted file mode 100644
index b4d9cc2531..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/XSDComboBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.properties;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.PopupList;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-public class XSDComboBoxPropertyDescriptor extends PropertyDescriptor
-{
- private String[] values;
-
- public XSDComboBoxPropertyDescriptor(Object id, String displayName, String[] valuesArray) {
- super(id, displayName);
- values = valuesArray;
- }
- /**
- * The <code>ComboBoxPropertyDescriptor</code> implementation of this
- * <code>IPropertyDescriptor</code> method creates and returns a new
- * <code>ComboBoxCellEditor</code>.
- * <p>
- * The editor is configured with the current validator if there is one.
- * </p>
- */
- public CellEditor createPropertyEditor(Composite parent) {
- CellEditor editor = new XSDComboBoxCellEditor(parent, values);
- //CellEditor editor = new StringComboBoxCellEditor(parent, values);
- if (getValidator() != null)
- editor.setValidator(getValidator());
- return editor;
- }
-
- public class XSDComboBoxCellEditor extends CellEditor
- {
- DynamicCellEditor comboBox;
-
- private String fSelection;
- protected String[] fItems;
- protected Object fValue;
- int selection;
- Object typeObject;
-
- public void createItems(String[] items)
- {
- fItems = items;
- }
-
- public String[] getComboBoxItems()
- {
- return fItems;
- }
-
- /**
- * Creates a new combo box cell editor with the given choices.
- */
- public XSDComboBoxCellEditor(Composite parent, String[] items)
- {
- super(parent);
- fSelection = "";
- setItems(items);
-// fText.setText("");
- }
-
- public void activate() {
- if (doGetValue() != null)
- {
-// int i = ((Integer)doGetValue()).intValue();
-// if (i >= 0)
-// {
-// comboBox.setText(fItems[i]);
-// }
- comboBox.setText((String)fValue);
- }
- }
-
- public void deactivate() {
- super.deactivate();
- }
-
- public void setItems(String[] items) {
- Assert.isNotNull(items);
- this.fItems = items;
- populateComboBoxItems();
- }
-
- private void populateComboBoxItems() {
- if (comboBox != null && fItems != null) {
- comboBox.removeAll();
- for (int i = 0; i < fItems.length; i++)
- comboBox.add(fItems[i], i);
-
- setValueValid(true);
- selection = 0;
- }
- }
-
- /**
- * Creates the actual UI representation.
- */
-
- protected Control createControl(Composite parent)
- {
- comboBox = new DynamicCellEditor(parent, SWT.READ_ONLY |SWT.NONE | SWT.NO_TRIM);
- comboBox.addKeyListener(new KeyAdapter() {
- // hook key pressed - see PR 14201
- public void keyPressed(KeyEvent e) {
-// System.out.println("Key e " + e);
- keyReleaseOccured(e);
- }
- });
-
- comboBox.addSelectionListener(new SelectionAdapter() {
- public void widgetDefaultSelected(SelectionEvent event) {
- }
-
- public void widgetSelected(SelectionEvent event) {
-// System.out.println("combo selected");
- selection = comboBox.getSelectionIndex();
- if (!comboBox.isDropped()) // allows user to traverse list using keyboard without applying value
- applyEditorValueAndDeactivate();
- }
- });
-
- comboBox.addTraverseListener(new TraverseListener() {
- public void keyTraversed(TraverseEvent e) {
-// System.out.println("TRAVERSE e " + e);
- if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
- e.doit = false;
- }
- }
- });
-
-
- comboBox.addFocusListener(new FocusAdapter() {
- public void focusLost(FocusEvent e) {
- XSDComboBoxCellEditor.this.focusLost();
- }
- public void focusGained(FocusEvent e) {
-// System.out.println("focusGained");
- }
- });
- setValueValid(true);
- return comboBox;
- }
-
- protected void focusLost() {
-// System.out.println("CELLEDITOR FOCUS LOST");
- if (isActivated()) {
- applyEditorValueAndDeactivate();
- }
- }
-
- protected void keyReleaseOccured(KeyEvent keyEvent) {
- if (keyEvent.character == '\u001b') { // Escape character
- comboBox.setText(""); // clear text
- fireCancelEditor();
- } else if (keyEvent.character == '\r') { // Return key
- //fireApplyEditorValue();
- applyEditorValueAndDeactivate();
- deactivate();
- }
- }
-
- void applyEditorValueAndDeactivate() {
- // must set the selection before getting value
- selection = comboBox.getSelectionIndex();
- if (selection < 0)
- {
- deactivate();
- return;
- }
- // Object newValue = new Integer(selection);
- Object newValue = fItems[selection];
- markDirty();
- boolean isValid = isCorrect(newValue);
- setValueValid(isValid);
- if (!isValid) {
- // try to insert the current value into the error message.
- setErrorMessage(
- MessageFormat.format(getErrorMessage(), new Object[] {fItems[selection]}));
- }
- doSetValue(newValue);
- fireApplyEditorValue();
- deactivate();
- }
-
- protected Object doGetValue() {
- return fValue;
- // otherwise limits to set of valid values
-// Object index = super.doGetValue();
-// int selection = -1;
-// if (index instanceof Integer)
-// selection = ((Integer) index).intValue();
-// if (selection >= 0)
-// return fItems[selection];
-// else if (getControl() instanceof CCombo) {
-// // retrieve the actual text as the list of valid items doesn't contain the value
-// return ((CCombo) getControl()).getText();
-// }
-// return null;
- }
- private boolean fSettingValue = false;
- protected void doSetValue(Object value) {
- if (fSettingValue)
- return;
- fSettingValue = true;
- if (value instanceof Integer) {
- //super.doSetValue(value);
- fValue = value;
- }
- else {
- String stringValue = value.toString();
- int selection = -1;
- for (int i = 0; i < fItems.length; i++)
- if (fItems[i].equals(stringValue))
- selection = i;
- if (selection >= 0)
- //super.doSetValue(new Integer(selection));
- fValue = stringValue;
- else {
- // super.doSetValue(new Integer(-1));
- // fValue = new Integer(-1);
- fValue = stringValue;
- if (getControl() instanceof CCombo && !stringValue.equals(((CCombo) getControl()).getText())) {
- // update the Text widget
- ((CCombo) getControl()).setText(stringValue);
- }
- }
- }
- fSettingValue = false;
- }
-
- /**
- * Returns the cell editor's value.
- */
-// protected Object doGetValue()
-// {
-// return fValue;
-// }
-
- /**
- * Set the focus to the cell editor's UI representation.
- */
- protected void doSetFocus()
- {
-// fButton.setFocus();
-// System.out.println("doSetFocus() " + moreButton.setFocus());
- comboBox.setFocus();
- }
-
- /**
- * Sets the value of the cell editor to the given value.
- */
-// protected void doSetValue(Object value)
-// {
-// fValue = value;
-// }
-
- protected void fillPopupList(PopupList list)
- {
- String[] labels= new String[fItems.length];
- for (int i= 0; i < labels.length; i++)
- {
- String item= fItems[i];
- labels[i]= item;
-// System.out.println(fItems[i]);
- if (fSelection == null && fValue != null && fValue.equals(item))
- {
- fSelection = item;
- }
- }
-
- list.setItems(labels);
- if (fSelection != null)
- {
-// fText.setText(fSelection);
- list.select(fSelection);
- }
- }
- }
-}

Back to the top