1 26 package org.nightlabs.editor2d.viewer.descriptor; 27 28 import java.util.HashMap ; 29 import java.util.Map ; 30 31 import org.nightlabs.editor2d.DrawComponent; 32 33 37 public class DescriptorManager 38 { 40 41 public DescriptorManager() 42 { 43 super(); 44 addDescriptor(defaultDescriptor, DrawComponent.class); 45 } 46 47 protected IDrawComponentDescriptor defaultDescriptor = new DrawComponentDescriptor(null); 48 protected IDrawComponentDescriptor currentDescriptor = defaultDescriptor; 49 50 protected Map <Class , IDrawComponentDescriptor> class2Descriptor = new HashMap <Class , IDrawComponentDescriptor>(); 51 public void addDescriptor(IDrawComponentDescriptor desc, Class dcClass) { 52 class2Descriptor.put(dcClass, desc); 53 } 54 55 protected DrawComponent drawComponent = null; 56 public void setDrawComponent(DrawComponent dc) 57 { 58 this.drawComponent = dc; 59 if (class2Descriptor.keySet().contains(dc.getClass())) { 60 IDrawComponentDescriptor desc = class2Descriptor.get(dc.getClass()); 61 currentDescriptor = desc; 62 } 63 else { 64 currentDescriptor = defaultDescriptor; 65 } 66 currentDescriptor.setDrawComponent(dc); 67 } 68 public DrawComponent getDrawComponent() { 69 return drawComponent; 70 } 71 72 public String getEntriesAsString(boolean lineWrap) { 73 return currentDescriptor.getEntriesAsString(lineWrap); 74 } 75 76 public Map <String , String > getProperties() { 77 return currentDescriptor.getProperties(); 78 } 79 80 } 81 | Popular Tags |