2017-03-01 5 views
0

エディタビューを持つEclipseプラグインプロジェクトがあります。そこで私はEditorPartクラスを拡張します。当初、initメソッドが呼び出され、私も同様に、タブのラベルを更新するために、そこにメソッドsetPartNameを呼び出すことができます。EclipseリネームEditorPart

@Override 
public void init(IEditorSite site, IEditorInput input) throws PartInitException { 
    super.init(site, input); 
    //... 
    setPartName(filename); 
} 

setPartName方法は、保護された方法です。私は今私のエディタのデータモデルである別のクラス(DataModelと言う)を持っています。このクラスからエディタの部分を更新することは可能ですか? DataModelクラス内のファイルの名前が変更されたため、新しいファイル名を表示したい/古いファイル名を置き換えたい。

EDIT:それはGeF 4をベースプロジェクトだ、ViewEditorPartを拡張AbstractFXEditorを延びる)init方法でDataModelのインスタンスを作成する:

IFile file = ((IFileEditorInput) input).getFile(); 
URI inputUri = URI.createURI(file.getFullPath().toString(), true); 
getContentViewer().getContents().setAll(createContents(inputUri)); 

createContents(URI)方法でのインスタンスを作成しますDataModel

ありがとうございました

+1

したがって、setPartNameを呼び出してそのメソッドをDataModelから呼び出すパブリックメソッドをエディタで宣言します。 –

答えて

0

あなたは長い日でした。

ちょうど setPartNameを呼び出すパブリックメソッドを宣言し、 DataModelコンストラクタに Viewを追加...自分で答えることができる、あなたは DataModel内側からにしたいどこからそれを呼び出すと、それが行われています。

関連する問題