package jp.co.cybec.laxide.editParts;

import jp.co.cybec.laxide.model.base.LetsAjaxLabelModel;

import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.tools.CellEditorLocator;
import org.eclipse.gef.tools.DirectEditManager;
import org.eclipse.swt.widgets.Text;

public class LetsAjaxDirectEditManager extends DirectEditManager {

	  private LetsAjaxLabelModel labelModel;

	  public LetsAjaxDirectEditManager(
	    GraphicalEditPart source,
	    Class editorType,
	    CellEditorLocator locator) {
	    super(source, editorType, locator);
	    labelModel = (LetsAjaxLabelModel) source.getModel();
	  }

	  protected void initCellEditor() {
	    // セル・エディタを表示する前に、現在モデルに設定されている
	    // テキストをセル・エディタの初期値として設定する
	    getCellEditor().setValue(labelModel.getValue());

	    // 表示されたTextCellEditorのTextコントロールで
	    // テキスト全体が選択状態になるようにする
	    Text text = (Text) getCellEditor().getControl();
	    text.selectAll();
	  }
}
