1 19 20 21 package org.netbeans.core.execution.beaninfo.editors; 22 23 24 import java.awt.Component ; 25 import java.awt.Graphics ; 26 import java.awt.Rectangle ; 27 import java.beans.PropertyChangeListener ; 28 import java.beans.PropertyChangeSupport ; 29 import java.io.File ; 30 import org.openide.execution.NbProcessDescriptor; 31 import org.openide.explorer.propertysheet.ExPropertyEditor; 32 import org.openide.explorer.propertysheet.PropertyEnv; 33 34 35 40 public class NbProcessDescriptorEditor extends Object implements ExPropertyEditor { 41 private PropertyEnv env; 42 43 44 NbProcessDescriptor pd; 45 46 private PropertyChangeSupport support; 47 48 49 50 public NbProcessDescriptorEditor() { 51 support = new PropertyChangeSupport (this); 52 } 53 54 55 56 public Object getValue () { 57 return pd; 58 } 59 60 61 public void setValue (Object value) { 62 pd = (NbProcessDescriptor) value; 63 support.firePropertyChange("", null, null); } 65 66 67 public String getAsText () { 68 if ( pd == null ) 69 return "null"; return pd.getProcessName () + " " + pd.getArguments (); } 72 73 74 public void setAsText(String string) { 75 string = string.trim (); 76 77 int indx = string.indexOf(' '); 78 79 String prg; 80 String args; 81 82 if(indx == -1 || new File (string).exists()) { 85 prg = string; 86 args = ""; } else { 88 prg = string.substring(0, indx); 89 args = string.substring(indx + 1); 90 } 91 92 NbProcessDescriptor newPD = null; 93 if ( pd == null ) 94 newPD = new NbProcessDescriptor ( 95 prg, 96 args 97 ); 98 else 99 newPD = new NbProcessDescriptor ( 100 prg, 101 args, 102 pd.getInfo() 103 ); 104 105 setValue(newPD); 106 } 107 108 111 public String getJavaInitializationString () { 112 return null; } 114 115 117 public String [] getTags () { 118 return null; 119 } 120 121 124 public boolean isPaintable () { 125 return false; 126 } 127 128 130 public void paintValue (Graphics g, Rectangle rectangle) { 131 } 132 133 136 public boolean supportsCustomEditor () { 137 return true; 138 } 139 140 143 public Component getCustomEditor () { 144 return new NbProcessDescriptorCustomEditor (this, env); 145 } 146 147 149 public void addPropertyChangeListener (PropertyChangeListener propertyChangeListener) { 150 support.addPropertyChangeListener (propertyChangeListener); 151 } 152 153 155 public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) { 156 support.removePropertyChangeListener(propertyChangeListener); 157 } 158 159 164 public void attachEnv(PropertyEnv env) { 165 this.env = env; 166 } 167 } 168 | Popular Tags |