package tk.eclipse.plugin.htmleditor.editors; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.events.VerifyEvent; import org.eclipse.swt.events.VerifyListener; import tk.eclipse.plugin.htmleditor.HTMLPlugin; public class SoftTabVerifyListener implements VerifyListener { private boolean useSoftTab; private String softTab; public void verifyText(VerifyEvent evt) { if(useSoftTab){ if(evt.text.equals("\t")){ evt.text = softTab; } } } public void preferenceChanged(PropertyChangeEvent event){ String key = event.getProperty(); if(key.equals(HTMLPlugin.PREF_USE_SOFTTAB)){ Object value = event.getNewValue(); boolean enable = false; if ( value instanceof String) { enable = Boolean.valueOf((String)value).booleanValue(); } else if ( value instanceof Boolean) { enable = ((Boolean)value).booleanValue(); } setUseSoftTab(enable); } if(key.equals(HTMLPlugin.PREF_SOFTTAB_WIDTH)){ int width = ((Integer)event.getNewValue()).intValue(); setSoftTabWidth(width); } } public void setUseSoftTab(boolean useSoftTab){ this.useSoftTab = useSoftTab; } public void setSoftTabWidth(int softTabWidth){ softTab = ""; for(int i=0;i<softTabWidth;i++){ softTab = softTab + " "; } } }