0

このツリーの選択をパッケージエクスプローラービュー自体で編集可能にするための解決策を探しています。

アイデア

たとえば、パッケージエクスプローラのいずれかのクラスで[名前の変更]をクリックすると、名前を変更するための新しいウィンドウが表示されます。この機能は、TreeSelectionクラスを実装するすべてのクラスで同じです。

しかし、私が探している解決策は、名前の変更が呼び出されると、名前の変更オプションがツリー自体に表示されることです(Windowsエクスプローラービューの場合と同様)。

Eclipseでこの動作を実現する方法に関する提案。

木の選択

4

1 に答える 1

0

特別な編集可能な選択をする必要はありません。ツリーを編集可能にしたいだけです。このために、次EditingSupportのように使用します(http://www.vogella.com/articles/EclipseJFaceTableAdvanced/article.html#jfacetable_editorから採用):

public class NameEditingSupport extends EditingSupport {
  private final TreeViewer viewer;

  public FirstNameEditingSupport(TreeViewer viewer) {
    super(viewer);
    this.viewer = viewer;
  }

  @Override
  protected CellEditor getCellEditor(Object element) {
    return new TextCellEditor(viewer.getTree());
  }

  @Override
  protected boolean canEdit(Object element) {
    return true;
  }

  @Override
  protected Object getValue(Object element) {
    // return the name
  }

  @Override
  protected void setValue(Object element, Object value) {
    // update the name of your object
    viewer.update(element, null);
  }
} 

// in the code creating the tree
treeViewer.setEditingSupport(new NameEditingSupport(treeViewer));
于 2013-01-28T10:50:37.497 に答える