1 20 21 package org.apache.directory.ldapstudio.browser.common.widgets.entryeditor; 22 23 24 import org.apache.directory.ldapstudio.valueeditors.IValueEditor; 25 import org.apache.directory.ldapstudio.valueeditors.ValueEditorManager; 26 import org.eclipse.jface.resource.ImageDescriptor; 27 import org.eclipse.jface.viewers.TreeViewer; 28 29 30 37 public class OpenBestEditorAction extends AbstractOpenEditorAction 38 { 39 40 41 private IValueEditor bestValueEditor; 42 43 44 51 public OpenBestEditorAction( TreeViewer viewer, EntryEditorWidgetActionGroup actionGroup, 52 ValueEditorManager valueEditorManager ) 53 { 54 super( viewer, actionGroup, valueEditorManager ); 55 } 56 57 58 63 public IValueEditor getBestValueEditor() 64 { 65 return this.bestValueEditor; 66 } 67 68 69 72 public void dispose() 73 { 74 bestValueEditor = null; 75 super.dispose(); 76 } 77 78 79 82 @Override 83 public String getCommandId() 84 { 85 return null; 86 } 87 88 89 92 @Override 93 public ImageDescriptor getImageDescriptor() 94 { 95 return isEnabled() ? bestValueEditor.getValueEditorImageDescriptor() : null; 96 } 97 98 99 102 @Override 103 public String getText() 104 { 105 return isEnabled() ? bestValueEditor.getValueEditorName() : null; 106 } 107 108 109 112 @Override 113 public boolean isEnabled() 114 { 115 if ( getSelectedValues().length == 1 116 && getSelectedAttributes().length == 0 117 && viewer.getCellModifier().canModify( getSelectedValues()[0], 118 EntryEditorWidgetTableMetadata.VALUE_COLUMN_NAME ) ) 119 { 120 bestValueEditor = valueEditorManager.getCurrentValueEditor( getSelectedValues()[0] ); 122 super.cellEditor = bestValueEditor.getCellEditor(); 123 124 return true; 125 } 126 else 127 { 128 return false; 129 } 130 } 131 132 } 133 | Popular Tags |