2016-07-19 19 views
0

私は、プラグイン開発におけるFieldEditorsの使用に疑問があります。FieldEditorsの有効化と無効化

私は、「詳細」と呼ばれるbooleanFiledEditorを持っている:私は基本的に次のように私が直面してる問題があるなど

一部StringFieldEditors、booleanFieldEditors、RadioGroupFieldEditorsで構成設定ページを持っています。ユーザーをチェックしたら

BooleanFieldEditor fullDetails = new BooleanFieldEditor("fullDetails", "Full Details", org.eclipse.swt.SWT.NONE, getFieldEditorParent()); 
addField(fullDetails); 

このブール値フィールドを、このbooleanFieldEditorに従っStringFieldEditorsが有効になって取得する必要があります。このためのコードは次のとおりです。それ以外の場合は無効にしてください。次のように他のStringFieldEditorsのためのコードは以下のとおりです。

StringFieldEditor machineName = new StringFieldEditor("machineName", "Host name", getFieldEditorParent()); 
addField(machineName); 

StringFieldEditor ipaddress = new StringFieldEditor("ipaddress", "IP Address", getFieldEditorParent()); 
addField(ipaddress); 

StringFieldEditor cpuinfo = new StringFieldEditor("cpuinfo", "CPU Info", getFieldEditorParent()); 
addField(cpuinfo); 

誰でものようにこれを行う方法にいくつかのポインタを与えることができればそれは非常に参考になります。

+0

'StringFieldEditor.setEnabled()'はどうしますか? – kaetzacoatl

答えて

0

booleanフィールドエディタのsetPropertyChangeListenerメソッドを使用すると、フィールドが変更されたときにアクションを実行できます。何かが好きです:

fullDetails.setPropertyChangeListener(new IPropertyChangeListener() { 
    @Override 
    public void propertyChange(PropertyChangeEvent event) { 
     boolean newValue = ((Boolean) event.getNewValue()).booleanValue(); 

     // Enable/disable other fields 

     machineName.setEnabled(newValue, getFieldEditorParent()); 
     .... other fields .... 
    }); 
関連する問題