package org.eclipse.iee.editor.core.pad.table.ui; import org.eclipse.draw2d.BorderLayout; import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.IFigure; import org.eclipse.iee.editor.core.bindings.IObservableValue; import org.eclipse.iee.editor.core.bindings.ObservableProperty; import org.eclipse.iee.editor.core.pad.common.text.AbstractVisualTextEditor; import org.eclipse.iee.editor.core.pad.common.text.IEditorLocation; import org.eclipse.iee.editor.core.pad.common.text.TextPartEditor; import org.eclipse.iee.editor.core.pad.table.TableColumn; import org.eclipse.iee.editor.core.pad.table.ui.TablePad.CellFigureBorder; import org.eclipse.swt.widgets.Caret; import com.google.common.base.Optional; public class TableColumnEditor extends AbstractVisualTextEditor<TableColumn, IFigure> { private TextPartEditor fTextPartEditor; private ObservableProperty<String> fValue; public TableColumnEditor() { fTextPartEditor = new TextPartEditor(); addEditor(fTextPartEditor); } @Override public boolean isSelectable() { // TODO Auto-generated method stub return false; } @Override public void setSelected(boolean b) { // TODO Auto-generated method stub } @Override public void setActive(boolean b) { // TODO Auto-generated method stub } @Override protected IFigure createFigure() { Figure figure = new Figure(); figure.setLayoutManager(new BorderLayout()); figure.setBorder(new CellFigureBorder()); figure.add(fTextPartEditor.getFigure(), BorderLayout.CENTER); return figure; } public void bindValue(IObservableValue<TableColumn> cell) { setValue(Optional.of(cell)); } @Override protected void doBindValue(TableColumn value) { fValue = new ObservableProperty<String>(value, "header", String.class); fTextPartEditor.bindValue(fValue); } @Override protected void doUnbindValue(TableColumn oldValue) { fValue.dispose(); } }