1 4 package gnu.jemacs.buffer; 5 import gnu.lists.LList; 6 import gnu.mapping.WrappedException; 7 import java.awt.Color ; 8 9 public abstract class EToolkit 10 { 11 public static final String swingToolkit = "gnu.jemacs.swing.SwingToolkit"; 12 public static final String swtToolkit = "gnu.jemacs.swt.SwtToolkit"; 13 public static String defaultToolkit = swingToolkit; 14 static EToolkit instance; 15 static Class toolkitClass; 16 17 public static EToolkit getInstance () 18 { 19 EToolkit inst = instance; 20 if (inst != null) 21 return inst; 22 String name = System.getProperty("gnu.jemacs.toolkit"); 23 if (name == null) 24 name = defaultToolkit; 25 else if (name.equals("swing")) 26 name = swingToolkit; 27 else if (name.equals("swt")) 28 name = swtToolkit; 29 return getInstance(name); 30 } 31 32 public static synchronized EToolkit getInstance (String toolkitClassname) 33 { 34 if (instance == null) 35 { 36 try 37 { 38 if (toolkitClass == null) 39 toolkitClass = Class.forName(toolkitClassname); 40 instance = (EToolkit) toolkitClass.newInstance(); 41 } 42 catch (Exception ex) 43 { 44 throw new WrappedException(ex); 45 } 46 } 47 return instance; 48 } 49 50 public abstract Buffer newBuffer (String name); 51 52 public abstract EFrame newFrame(Buffer buffer); 53 54 public abstract EMenu getMenu(LList menubar); 55 56 57 public abstract Object getFace(String name, boolean create); 58 59 public void setUnderline (Object face, boolean underline) 60 { 61 } 63 64 public void setBold (Object face, boolean bold) 65 { 66 } 68 69 public void setForeground (Object face, Color foreground) 70 { 71 } 73 74 public void setBackground (Object face, Color background) 75 { 76 } 78 79 public abstract Object getIgnoreAction(); 80 } 81 | Popular Tags |