KickJava   Java API By Example, From Geeks To Geeks.

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


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
7 public abstract class EFrame
8 {
9   public static EFrame selectedFrame;
10   public EWindow selectedWindow;
11     
12   static int counter;
13   protected int id = ++counter;
14   public EWindow firstWindow;
15
16   public static String JavaDoc defaultName ()
17   {
18     return "Emacs";
19   }
20
21   public EFrame ()
22   {
23     if (selectedFrame == null)
24       selectedFrame = this;
25   }
26
27   public EFrame (EWindow win)
28   {
29     win.frame = this;
30     firstWindow = win;
31     win.nextWindow = win;
32     win.prevWindow = win;
33     EWindow.setSelected(win);
34   }
35
36   public void validate ()
37   {
38   }
39
40   public void delete()
41   {
42     for (;;)
43       {
44     EWindow win = firstWindow;
45     if (win == null)
46       break;
47         win.deleteNoValidate();
48       }
49     if (this == selectedFrame)
50       selectedFrame = null;
51   }
52
53   public abstract boolean isLive();
54
55   public EWindow getFirstWindow()
56   {
57     return firstWindow;
58   }
59
60   public EWindow getLastWindow()
61   {
62     return firstWindow.prevWindow;
63   }
64
65   public static EFrame getSelectedFrame()
66   {
67     return selectedFrame;
68   }
69
70   public EWindow getSelectedWindow()
71   {
72     return selectedWindow;
73   }
74
75   public EWindow otherWindow(int count)
76   {
77     return selectedWindow.getNextWindowInFrame(count);
78   }
79
80   public abstract void setMenu(LList menu);
81   
82   public abstract String JavaDoc ask(String JavaDoc prompt);
83
84   public String JavaDoc toString()
85   {
86     StringBuffer JavaDoc sbuf = new StringBuffer JavaDoc(100);
87     sbuf.append("#<frame #");
88     sbuf.append(id);
89     sbuf.append('>');
90     return sbuf.toString();
91   }
92 }
93
Popular Tags