KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > jemacs > buffer > EToolkit


1 // Copyright (c) 2002 Per M.A. Bothner.
2
// This is free software; for terms and warranty disclaimer see ./COPYING.
3

4 package gnu.jemacs.buffer;
5 import gnu.lists.LList;
6 import gnu.mapping.WrappedException;
7 import java.awt.Color JavaDoc;
8
9 public abstract class EToolkit
10 {
11   public static final String JavaDoc swingToolkit = "gnu.jemacs.swing.SwingToolkit";
12   public static final String JavaDoc swtToolkit = "gnu.jemacs.swt.SwtToolkit";
13   public static String JavaDoc defaultToolkit = swingToolkit;
14   static EToolkit instance;
15   static Class JavaDoc toolkitClass;
16
17   public static EToolkit getInstance ()
18   {
19     EToolkit inst = instance;
20     if (inst != null)
21       return inst;
22     String JavaDoc 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 JavaDoc 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 JavaDoc ex)
43       {
44         throw new WrappedException(ex);
45       }
46       }
47     return instance;
48   }
49
50   public abstract Buffer newBuffer (String JavaDoc name);
51
52   public abstract EFrame newFrame(Buffer buffer);
53   
54   public abstract EMenu getMenu(LList menubar);
55
56   /** Get a face with the given name. */
57   public abstract Object JavaDoc getFace(String JavaDoc name, boolean create);
58
59   public void setUnderline (Object JavaDoc face, boolean underline)
60   {
61     // Default is to ignore.
62
}
63
64   public void setBold (Object JavaDoc face, boolean bold)
65   {
66     // Default is to ignore.
67
}
68
69   public void setForeground (Object JavaDoc face, Color JavaDoc foreground)
70   {
71     // Default is to ignore.
72
}
73
74   public void setBackground (Object JavaDoc face, Color JavaDoc background)
75   {
76     // Default is to ignore.
77
}
78
79   public abstract Object JavaDoc getIgnoreAction();
80 }
81
Popular Tags