blob: 321b0b2c877550ca5a48e97943a126be863dde25 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2010 Soyatec (http://www.soyatec.com) 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: *
* Soyatec - initial API and implementation *
*******************************************************************************/
package org.eclipse.xwt.internal.utils;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
public class TableEditorHelper {
public static void initEditor(final TableItem tableItem, Control editor, final int column) {
if (editor instanceof Text) {
final Text text = (Text) editor;
text.setText(tableItem.getText(column));
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
tableItem.setText(column, text.getText());
}
});
} else if (editor instanceof CCombo) {
final CCombo combo = (CCombo) editor;
combo.setText(tableItem.getText(column));
combo.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
tableItem.setText(column, combo.getText());
}
public void widgetSelected(SelectionEvent e) {
tableItem.setText(column, combo.getItem(combo.getSelectionIndex()));
}
});
} else if (editor instanceof Combo) {
final Combo combo = (Combo) editor;
combo.setText(tableItem.getText(column));
combo.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
tableItem.setText(column, combo.getText());
}
public void widgetSelected(SelectionEvent e) {
tableItem.setText(column, combo.getItem(combo.getSelectionIndex()));
}
});
}
}
}