1 20 21 package org.apache.directory.ldapstudio.ldifeditor.editor.actions; 22 23 24 import java.util.Arrays ; 25 26 import org.apache.directory.ldapstudio.ldifeditor.editor.LdifEditor; 27 import org.apache.directory.ldapstudio.valueeditors.IValueEditor; 28 29 30 public class OpenValueEditorAction extends AbstractOpenValueEditorAction 31 { 32 33 public OpenValueEditorAction( LdifEditor editor, IValueEditor valueEditor ) 34 { 35 super( editor ); 36 super.valueEditor = valueEditor; 37 } 38 39 40 public void update() 41 { 42 String attributeDescription = getAttributeDescription(); 43 Object rawValue = getValueEditorRawValue(); 44 45 if ( isEditableLineSelected() ) 46 { 47 IValueEditor[] alternativeVps = this.editor.getValueEditorManager().getAlternativeValueEditors( 48 getConnection().getSchema(), attributeDescription ); 49 super.setEnabled( Arrays.asList( alternativeVps ).contains( this.valueEditor ) && rawValue != null ); 50 } 51 else 52 { 53 super.setEnabled( false ); 54 } 55 56 setText( valueEditor.getValueEditorName() ); 57 setImageDescriptor( valueEditor.getValueEditorImageDescriptor() ); 58 } 59 60 } 61 | Popular Tags |