1 package freemarker.eclipse.outline; 2 3 import org.eclipse.jface.viewers.LabelProvider; 4 import org.eclipse.swt.graphics.Image; 5 6 import freemarker.eclipse.FreemarkerPlugin; 7 import freemarker.eclipse.ImageManager; 8 import freemarker.eclipse.preferences.IPreferenceConstants; 9 10 16 public class OutlineLabelProvider 17 extends LabelProvider 18 implements IPreferenceConstants { 19 20 private Image fMacroImage = null; 21 private Image fFunctionImage = null; 22 private Image fImportImage = null; 23 private Image fImportCollectionImage = null; 24 25 public OutlineLabelProvider() { 26 super(); 27 fMacroImage = ImageManager.getImage(ImageManager.IMG_MACRO); 28 fFunctionImage = ImageManager.getImage(ImageManager.IMG_FUNCTION); 29 fImportImage = ImageManager.getImage(ImageManager.IMG_IMPORT); 30 fImportCollectionImage = ImageManager.getImage(ImageManager.IMG_IMPORT_COLLECTION); 31 } 32 33 public Image getImage(Object anElement) { 34 if (null == anElement) 35 return null; 36 boolean bShowIcons = 37 FreemarkerPlugin.getInstance().getPreferenceStore().getBoolean( 38 SHOW_ICONS); 39 if (bShowIcons) { 40 if (anElement instanceof ImportNode) { 41 return fImportImage; 42 } else if (anElement instanceof ImportCollectionNode) { 43 return fImportCollectionImage; 44 } else if (anElement instanceof MacroNode) { 45 if(((MacroNode)anElement).isFunction()) { 46 return fFunctionImage; 47 } else { 48 return fMacroImage; 49 } 50 } else { 51 return null; 52 } 53 } else { 54 return null; 55 } 56 } 57 58 public String getText(Object anElement) { 59 return anElement!=null?anElement.toString():""; 60 } 61 62 public void dispose() { 63 if(fImportCollectionImage!=null) {fImportCollectionImage.dispose();} 64 if(fImportImage!=null) {fImportImage.dispose();} 65 if(fMacroImage!=null) {fMacroImage.dispose();} 66 if(fFunctionImage!=null) {fFunctionImage.dispose();} 67 } 68 } 69 | Popular Tags |