2012-03-05 15 views
4

テキストエディタでツリービューを持つエディタを作成しています。私はそれに接続されたプロパティビューを持っているので、各ツリーアイテムの選択時にアイテムのプロパティが表示されます。このため、各ツリー項目はIPropertySourceを実装するクラスです。プロパティ値は、IPropertySourceクラスのメソッド(getPropertyDescriptors、getPropertyValue、setPropertyValueなど)をオーバーライドすることによって取得されます。 プロパティ値が正しく表示されます。しかし、プロパティビューの値は読み取り専用にする必要があります。現在のところ、名前は編集できません。しかし、プロパティビューの行の1つを選択すると、そのプロパティの値が編集可能になります。プロパティビューのプロパティのすべての値を読み取り専用(編集不可)にするにはどうすればよいですか?読み取り専用Eclipseエディタのプロパティビュー

ありがとうございます!

+0

あなたのプロパティビューは何ですか?それはテーブルですか? –

答えて

4

Eclipseの標準プロパティー・シート・ページを使用している場合は、IPropertySource.getPropertyDescriptorsによって返されたIPropertyDescriptorの実装によって、プロパティーがビューで編集可能かどうか、どのように編集可能かによって異なります。

あなたがIPropertyDescriptorのJavaDocを見ている場合は、以下を参照してくださいすることができます

Clients may implement this interface to provide specialized property 
descriptors; however, there are standard implementations declared in this 
package that take care of the most common cases: 

* PropertyDescriptor - read-only property 
* TextPropertyDescriptor - edits with a TextCellEditor 
* CheckboxPropertyDescriptor - edits with a CheckboxCellEditor 
* ComboBoxPropertyDescriptor - edits with a ComboBoxCellEditor 
* ColorPropertyDescriptor - edits with a ColorCellEditor 

だからあなたのケースのためのPropertyDescriptorを返すことはトリックを行う必要があります。

関連する問題