summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Kennke <roman@kennke.org>2007-06-22 09:52:04 +0000
committerRoman Kennke <roman@kennke.org>2007-06-22 09:52:04 +0000
commit3f1a4e8cdf9c4efd500d3f49490cea5d16e35563 (patch)
treedf42925e77c347adc23d5ee88383bda78f876533
parentc811fcb3307525899e33413e083ef34b2282fc34 (diff)
downloadclasspath-3f1a4e8cdf9c4efd500d3f49490cea5d16e35563.tar.gz
2007-06-22 Roman Kennke <roman@kennke.org>
* sun/awt/CausedFocusEvent.java: New class. Needed for compatibility in java.awt.peer. * java/awt/Dialog.java (ModalExclusionType): New enum. (ModalityType): New enum. * java/awt/Toolkit.java (isModalExclusionTypeSupported): New abstract method. (isModalityTypeSupported): New abstract method. * java/awt/peer/ComponentPeer.java (requestFocus): New method. * java/awt/peer/FramePeer.java (getBoundsPrivate): New method. * java/awt/peer/RobotPeer.java (dispose): New method. * java/awt/peer/WindowPeer.java (setAlwaysOnTop): New method. (updateFocusableWindowState): New method. (setModalBlocked): New method. (updateMinimumSize): New method. (updateIconImages): New method. * gnu/java/awt/peer/GLightweightPeer.java (requestFocus): New method. * gnu/java/awt/peer/gtk/GdkRobotPeer.java (dispose): New method. * gnu/java/awt/peer/gtk/GtkComponentPeer.java (requestFocus): New method. * gnu/java/awt/peer/gtk/GtkFramePeer.java (getBoundsPrivate): New method. * gnu/java/awt/peer/gtk/GtkToolkit.java (isModalExclusionTypeSupported): New method. (isModalityTypeSupported): New method. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (updateIconImages): New method. (updateMinimumSize): New method. (setModalBlocked): New method. (updateFocusableWindowState): New method. (setAlwaysOnTop): New method. * gnu/java/awt/peer/headless/HeadlessToolkit.java (isModalExclusionTypeSupported): New method. (isModalityTypeSupported): New method. * gnu/java/awt/peer/qt/QtComponentPeer.java (requestFocus): New method. * gnu/java/awt/peer/qt/QtFramePeer.java (getBoundsPrivate): New method. * gnu/java/awt/peer/qt/QtToolkit.java (isModalExclusionTypeSupported): New method. (isModalityTypeSupported): New method. * gnu/java/awt/peer/qt/QtWindowPeer.java (updateIconImages): New method. (updateMinimumSize): New method. (setModalBlocked): New method. (updateFocusableWindowState): New method. (setAlwaysOnTop): New method. * gnu/java/awt/peer/swing/SwingComponentPeer.java (requestFocus): New method. * gnu/java/awt/peer/swing/SwingToolkit.java (isModalExclusionTypeSupported): New method. (isModalityTypeSupported): New method. * gnu/java/awt/peer/swing/SwingWindowPeer.java (updateIconImages): New method. (updateMinimumSize): New method. (setModalBlocked): New method. (updateFocusableWindowState): New method. (setAlwaysOnTop): New method. * gnu/java/awt/peer/x/XFramePeer.java (getBoundsPrivate): New method. * gnu/java/awt/peer/x/XToolkit.java (isModalExclusionTypeSupported): New method. (isModalityTypeSupported): New method.
-rw-r--r--ChangeLog72
-rw-r--r--gnu/java/awt/peer/GLightweightPeer.java10
-rw-r--r--gnu/java/awt/peer/gtk/GdkRobotPeer.java6
-rw-r--r--gnu/java/awt/peer/gtk/GtkComponentPeer.java11
-rw-r--r--gnu/java/awt/peer/gtk/GtkFramePeer.java8
-rw-r--r--gnu/java/awt/peer/gtk/GtkToolkit.java13
-rw-r--r--gnu/java/awt/peer/gtk/GtkWindowPeer.java30
-rw-r--r--gnu/java/awt/peer/headless/HeadlessToolkit.java14
-rw-r--r--gnu/java/awt/peer/qt/QtComponentPeer.java11
-rw-r--r--gnu/java/awt/peer/qt/QtFramePeer.java7
-rw-r--r--gnu/java/awt/peer/qt/QtToolkit.java15
-rw-r--r--gnu/java/awt/peer/qt/QtWindowPeer.java32
-rw-r--r--gnu/java/awt/peer/swing/SwingComponentPeer.java9
-rw-r--r--gnu/java/awt/peer/swing/SwingToolkit.java16
-rw-r--r--gnu/java/awt/peer/swing/SwingWindowPeer.java30
-rw-r--r--gnu/java/awt/peer/x/XFramePeer.java7
-rw-r--r--gnu/java/awt/peer/x/XToolkit.java18
-rw-r--r--java/awt/Dialog.java15
-rw-r--r--java/awt/Toolkit.java6
-rw-r--r--java/awt/peer/ComponentPeer.java13
-rw-r--r--java/awt/peer/FramePeer.java3
-rw-r--r--java/awt/peer/RobotPeer.java2
-rw-r--r--java/awt/peer/WindowPeer.java9
-rw-r--r--sun/awt/CausedFocusEvent.java89
24 files changed, 445 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ec87d3b0e..ad05ca0f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,75 @@
+2007-06-22 Roman Kennke <roman@kennke.org>
+
+ * sun/awt/CausedFocusEvent.java: New class. Needed for compatibility
+ in java.awt.peer.
+ * java/awt/Dialog.java
+ (ModalExclusionType): New enum.
+ (ModalityType): New enum.
+ * java/awt/Toolkit.java
+ (isModalExclusionTypeSupported): New abstract method.
+ (isModalityTypeSupported): New abstract method.
+ * java/awt/peer/ComponentPeer.java
+ (requestFocus): New method.
+ * java/awt/peer/FramePeer.java
+ (getBoundsPrivate): New method.
+ * java/awt/peer/RobotPeer.java
+ (dispose): New method.
+ * java/awt/peer/WindowPeer.java
+ (setAlwaysOnTop): New method.
+ (updateFocusableWindowState): New method.
+ (setModalBlocked): New method.
+ (updateMinimumSize): New method.
+ (updateIconImages): New method.
+ * gnu/java/awt/peer/GLightweightPeer.java
+ (requestFocus): New method.
+ * gnu/java/awt/peer/gtk/GdkRobotPeer.java
+ (dispose): New method.
+ * gnu/java/awt/peer/gtk/GtkComponentPeer.java
+ (requestFocus): New method.
+ * gnu/java/awt/peer/gtk/GtkFramePeer.java
+ (getBoundsPrivate): New method.
+ * gnu/java/awt/peer/gtk/GtkToolkit.java
+ (isModalExclusionTypeSupported): New method.
+ (isModalityTypeSupported): New method.
+ * gnu/java/awt/peer/gtk/GtkWindowPeer.java
+ (updateIconImages): New method.
+ (updateMinimumSize): New method.
+ (setModalBlocked): New method.
+ (updateFocusableWindowState): New method.
+ (setAlwaysOnTop): New method.
+ * gnu/java/awt/peer/headless/HeadlessToolkit.java
+ (isModalExclusionTypeSupported): New method.
+ (isModalityTypeSupported): New method.
+ * gnu/java/awt/peer/qt/QtComponentPeer.java
+ (requestFocus): New method.
+ * gnu/java/awt/peer/qt/QtFramePeer.java
+ (getBoundsPrivate): New method.
+ * gnu/java/awt/peer/qt/QtToolkit.java
+ (isModalExclusionTypeSupported): New method.
+ (isModalityTypeSupported): New method.
+ * gnu/java/awt/peer/qt/QtWindowPeer.java
+ (updateIconImages): New method.
+ (updateMinimumSize): New method.
+ (setModalBlocked): New method.
+ (updateFocusableWindowState): New method.
+ (setAlwaysOnTop): New method.
+ * gnu/java/awt/peer/swing/SwingComponentPeer.java
+ (requestFocus): New method.
+ * gnu/java/awt/peer/swing/SwingToolkit.java
+ (isModalExclusionTypeSupported): New method.
+ (isModalityTypeSupported): New method.
+ * gnu/java/awt/peer/swing/SwingWindowPeer.java
+ (updateIconImages): New method.
+ (updateMinimumSize): New method.
+ (setModalBlocked): New method.
+ (updateFocusableWindowState): New method.
+ (setAlwaysOnTop): New method.
+ * gnu/java/awt/peer/x/XFramePeer.java
+ (getBoundsPrivate): New method.
+ * gnu/java/awt/peer/x/XToolkit.java
+ (isModalExclusionTypeSupported): New method.
+ (isModalityTypeSupported): New method.
+
2007-06-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
* tools/Makefile.am:
diff --git a/gnu/java/awt/peer/GLightweightPeer.java b/gnu/java/awt/peer/GLightweightPeer.java
index f9a7bac8e..262b74e69 100644
--- a/gnu/java/awt/peer/GLightweightPeer.java
+++ b/gnu/java/awt/peer/GLightweightPeer.java
@@ -449,4 +449,14 @@ public class GLightweightPeer
{
// Nothing to do here for lightweights.
}
+
+ @Override
+ public boolean requestFocus(Component lightweightChild, boolean temporary,
+ boolean focusedWindowChangeAllowed,
+ long time, sun.awt.CausedFocusEvent.Cause cause)
+ {
+ // Always grant focus request.
+ return true;
+ }
+
}
diff --git a/gnu/java/awt/peer/gtk/GdkRobotPeer.java b/gnu/java/awt/peer/gtk/GdkRobotPeer.java
index 6d0218d05..185a74c95 100644
--- a/gnu/java/awt/peer/gtk/GdkRobotPeer.java
+++ b/gnu/java/awt/peer/gtk/GdkRobotPeer.java
@@ -91,4 +91,10 @@ public class GdkRobotPeer implements RobotPeer
return pixels;
}
+
+ @Override
+ public void dispose()
+ {
+ // Nothing to do here yet.
+ }
}
diff --git a/gnu/java/awt/peer/gtk/GtkComponentPeer.java b/gnu/java/awt/peer/gtk/GtkComponentPeer.java
index a7ae8e17f..5733959b1 100644
--- a/gnu/java/awt/peer/gtk/GtkComponentPeer.java
+++ b/gnu/java/awt/peer/gtk/GtkComponentPeer.java
@@ -899,4 +899,15 @@ public class GtkComponentPeer extends GtkGenericPeer
// FIXME: implement
}
+
+ @Override
+ public boolean requestFocus(Component lightweightChild, boolean temporary,
+ boolean focusedWindowChangeAllowed,
+ long time, sun.awt.CausedFocusEvent.Cause cause)
+ {
+ // TODO: Implement this properly and remove the other requestFocus()
+ // methods.
+ return true;
+ }
+
}
diff --git a/gnu/java/awt/peer/gtk/GtkFramePeer.java b/gnu/java/awt/peer/gtk/GtkFramePeer.java
index b35be5227..3b7fce577 100644
--- a/gnu/java/awt/peer/gtk/GtkFramePeer.java
+++ b/gnu/java/awt/peer/gtk/GtkFramePeer.java
@@ -244,6 +244,14 @@ public class GtkFramePeer extends GtkWindowPeer
// TODO Auto-generated method stub
return false;
}
+
+ @Override
+ public Rectangle getBoundsPrivate()
+ {
+ // TODO: Implement this properly.
+ throw new InternalError("Not yet implemented");
+ }
+
}
diff --git a/gnu/java/awt/peer/gtk/GtkToolkit.java b/gnu/java/awt/peer/gtk/GtkToolkit.java
index c98aa1361..dc9c7155e 100644
--- a/gnu/java/awt/peer/gtk/GtkToolkit.java
+++ b/gnu/java/awt/peer/gtk/GtkToolkit.java
@@ -745,4 +745,17 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit
public native int getMouseNumberOfButtons();
+ @Override
+ public boolean isModalExclusionTypeSupported
+ (Dialog.ModalExclusionType modalExclusionType)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
+ {
+ return false;
+ }
+
} // class GtkToolkit
diff --git a/gnu/java/awt/peer/gtk/GtkWindowPeer.java b/gnu/java/awt/peer/gtk/GtkWindowPeer.java
index 1451dd933..e671d9f40 100644
--- a/gnu/java/awt/peer/gtk/GtkWindowPeer.java
+++ b/gnu/java/awt/peer/gtk/GtkWindowPeer.java
@@ -398,4 +398,34 @@ public class GtkWindowPeer extends GtkContainerPeer
{
return new Rectangle(x, y, width, height);
}
+
+ @Override
+ public void updateIconImages()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void updateMinimumSize()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void setModalBlocked(java.awt.Dialog d, boolean b)
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void updateFocusableWindowState()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void setAlwaysOnTop(boolean b)
+ {
+ // TODO: Implement properly.
+ }
}
diff --git a/gnu/java/awt/peer/headless/HeadlessToolkit.java b/gnu/java/awt/peer/headless/HeadlessToolkit.java
index 96798c9e9..58b5f3334 100644
--- a/gnu/java/awt/peer/headless/HeadlessToolkit.java
+++ b/gnu/java/awt/peer/headless/HeadlessToolkit.java
@@ -368,4 +368,18 @@ public class HeadlessToolkit
return graphicsEnv;
}
+ @Override
+ public boolean isModalExclusionTypeSupported
+ (Dialog.ModalExclusionType modalExclusionType)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
+ {
+ return false;
+ }
+
+
}
diff --git a/gnu/java/awt/peer/qt/QtComponentPeer.java b/gnu/java/awt/peer/qt/QtComponentPeer.java
index 4d7b58c4d..b3df57a1e 100644
--- a/gnu/java/awt/peer/qt/QtComponentPeer.java
+++ b/gnu/java/awt/peer/qt/QtComponentPeer.java
@@ -821,4 +821,15 @@ public class QtComponentPeer extends NativeWrapper implements ComponentPeer
{
// TODO Auto-generated method stub
}
+
+ @Override
+ public boolean requestFocus(Component lightweightChild, boolean temporary,
+ boolean focusedWindowChangeAllowed,
+ long time, sun.awt.CausedFocusEvent.Cause cause)
+ {
+ // TODO: Implement this properly and remove the other requestFocus()
+ // methods.
+ return true;
+ }
+
}
diff --git a/gnu/java/awt/peer/qt/QtFramePeer.java b/gnu/java/awt/peer/qt/QtFramePeer.java
index b2c6a5921..1a6e77dfe 100644
--- a/gnu/java/awt/peer/qt/QtFramePeer.java
+++ b/gnu/java/awt/peer/qt/QtFramePeer.java
@@ -155,4 +155,11 @@ public class QtFramePeer extends QtWindowPeer implements FramePeer
return false;
}
+ @Override
+ public Rectangle getBoundsPrivate()
+ {
+ // TODO: Implement this properly.
+ throw new InternalError("Not yet implemented");
+ }
+
}
diff --git a/gnu/java/awt/peer/qt/QtToolkit.java b/gnu/java/awt/peer/qt/QtToolkit.java
index 9b53b278b..4cea976ac 100644
--- a/gnu/java/awt/peer/qt/QtToolkit.java
+++ b/gnu/java/awt/peer/qt/QtToolkit.java
@@ -452,4 +452,19 @@ public class QtToolkit extends ClasspathToolkit
// return new QtEmbeddedWindowPeer( this, w );
return null;
}
+
+ @Override
+ public boolean isModalExclusionTypeSupported
+ (Dialog.ModalExclusionType modalExclusionType)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
+ {
+ return false;
+ }
+
+
}
diff --git a/gnu/java/awt/peer/qt/QtWindowPeer.java b/gnu/java/awt/peer/qt/QtWindowPeer.java
index 7baf8e6eb..70579e76a 100644
--- a/gnu/java/awt/peer/qt/QtWindowPeer.java
+++ b/gnu/java/awt/peer/qt/QtWindowPeer.java
@@ -65,16 +65,48 @@ public class QtWindowPeer extends QtContainerPeer implements WindowPeer
*/
public native void setTitle(String title);
+ @Override
public void updateAlwaysOnTop()
{
// TODO Auto-generated method stub
}
+ @Override
public boolean requestWindowFocus()
{
// TODO Auto-generated method stub
return false;
}
+ @Override
+ public void updateIconImages()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void updateMinimumSize()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void setModalBlocked(java.awt.Dialog d, boolean b)
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void updateFocusableWindowState()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void setAlwaysOnTop(boolean b)
+ {
+ // TODO: Implement properly.
+ }
+
}
diff --git a/gnu/java/awt/peer/swing/SwingComponentPeer.java b/gnu/java/awt/peer/swing/SwingComponentPeer.java
index baf24c6cc..ebf635869 100644
--- a/gnu/java/awt/peer/swing/SwingComponentPeer.java
+++ b/gnu/java/awt/peer/swing/SwingComponentPeer.java
@@ -1125,4 +1125,13 @@ public class SwingComponentPeer
{
return awtComponent;
}
+
+ @Override
+ public boolean requestFocus(Component lightweightChild, boolean temporary,
+ boolean focusedWindowChangeAllowed,
+ long time, sun.awt.CausedFocusEvent.Cause cause)
+ {
+ return true;
+ }
+
}
diff --git a/gnu/java/awt/peer/swing/SwingToolkit.java b/gnu/java/awt/peer/swing/SwingToolkit.java
index 166e1f47b..63414050b 100644
--- a/gnu/java/awt/peer/swing/SwingToolkit.java
+++ b/gnu/java/awt/peer/swing/SwingToolkit.java
@@ -40,6 +40,7 @@ package gnu.java.awt.peer.swing;
import java.awt.Button;
import java.awt.Canvas;
+import java.awt.Dialog;
import java.awt.Label;
import java.awt.Menu;
import java.awt.MenuBar;
@@ -162,4 +163,19 @@ public abstract class SwingToolkit extends ClasspathToolkit
{
return new SwingTextFieldPeer(textField);
}
+
+ @Override
+ public boolean isModalExclusionTypeSupported
+ (Dialog.ModalExclusionType modalExclusionType)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
+ {
+ return false;
+ }
+
+
}
diff --git a/gnu/java/awt/peer/swing/SwingWindowPeer.java b/gnu/java/awt/peer/swing/SwingWindowPeer.java
index 531552d90..23858b301 100644
--- a/gnu/java/awt/peer/swing/SwingWindowPeer.java
+++ b/gnu/java/awt/peer/swing/SwingWindowPeer.java
@@ -71,4 +71,34 @@ public abstract class SwingWindowPeer
super(window);
init(window, null);
}
+
+ @Override
+ public void updateIconImages()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void updateMinimumSize()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void setModalBlocked(java.awt.Dialog d, boolean b)
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void updateFocusableWindowState()
+ {
+ // TODO: Implement properly.
+ }
+
+ @Override
+ public void setAlwaysOnTop(boolean b)
+ {
+ // TODO: Implement properly.
+ }
}
diff --git a/gnu/java/awt/peer/x/XFramePeer.java b/gnu/java/awt/peer/x/XFramePeer.java
index 439a2a7bb..b6cfdbd14 100644
--- a/gnu/java/awt/peer/x/XFramePeer.java
+++ b/gnu/java/awt/peer/x/XFramePeer.java
@@ -137,4 +137,11 @@ public class XFramePeer
throw new UnsupportedOperationException("Not yet implemented.");
}
+ @Override
+ public Rectangle getBoundsPrivate()
+ {
+ // TODO: Implement this properly.
+ throw new InternalError("Not yet implemented");
+ }
+
}
diff --git a/gnu/java/awt/peer/x/XToolkit.java b/gnu/java/awt/peer/x/XToolkit.java
index 02de4a73a..08186326f 100644
--- a/gnu/java/awt/peer/x/XToolkit.java
+++ b/gnu/java/awt/peer/x/XToolkit.java
@@ -68,6 +68,8 @@ import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Transparency;
import java.awt.Window;
+import java.awt.Dialog.ModalExclusionType;
+import java.awt.Dialog.ModalityType;
import java.awt.datatransfer.Clipboard;
import java.awt.dnd.DragGestureEvent;
import java.awt.dnd.peer.DragSourceContextPeer;
@@ -599,4 +601,20 @@ public class XToolkit
return (XGraphicsDevice) env.getDefaultScreenDevice();
}
+ @Override
+ public boolean isModalExclusionTypeSupported
+ (Dialog.ModalExclusionType modalExclusionType)
+ {
+ // TODO: Implement properly.
+ return false;
+ }
+
+ @Override
+ public boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
+ {
+ // TODO: Implement properly.
+ return false;
+ }
+
+
}
diff --git a/java/awt/Dialog.java b/java/awt/Dialog.java
index 7df2f523c..83fb52d89 100644
--- a/java/awt/Dialog.java
+++ b/java/awt/Dialog.java
@@ -61,6 +61,21 @@ import javax.accessibility.AccessibleStateSet;
*/
public class Dialog extends Window
{
+ public enum ModalExclusionType
+ {
+ APPLICATION_EXCLUDE,
+ NO_EXCLUDE,
+ TOOLKIT_EXCLUDE
+ }
+
+ public enum ModalityType
+ {
+ APPLICATION_MODAL,
+ DOCUMENT_MODAL,
+ MODELESS,
+ TOOLKIT_MODAL
+ }
+
// Serialization constant
private static final long serialVersionUID = 5920926903803293709L;
diff --git a/java/awt/Toolkit.java b/java/awt/Toolkit.java
index 305402e95..b12e9e10d 100644
--- a/java/awt/Toolkit.java
+++ b/java/awt/Toolkit.java
@@ -1287,6 +1287,12 @@ public abstract class Toolkit
public abstract Map<TextAttribute,?>
mapInputMethodHighlight(InputMethodHighlight highlight);
+ public abstract boolean isModalExclusionTypeSupported
+ (Dialog.ModalExclusionType modalExclusionType);
+
+ public abstract boolean isModalityTypeSupported
+ (Dialog.ModalityType modalityType);
+
/**
* Initializes the accessibility framework. In particular, this loads the
* properties javax.accessibility.screen_magnifier_present and
diff --git a/java/awt/peer/ComponentPeer.java b/java/awt/peer/ComponentPeer.java
index bc6e3a457..b498ddf66 100644
--- a/java/awt/peer/ComponentPeer.java
+++ b/java/awt/peer/ComponentPeer.java
@@ -59,6 +59,8 @@ import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import java.awt.image.VolatileImage;
+import sun.awt.CausedFocusEvent;
+
/**
* Defines the methods that a component peer is required to implement.
*/
@@ -264,7 +266,7 @@ public interface ComponentPeer
/**
* Requests that this component receives the focus. This is called from
* {@link Component#requestFocus()}.
- *
+ *
* @specnote Part of the earlier 1.1 API, apparently replaced by argument
* form of the same method.
*/
@@ -518,4 +520,13 @@ public interface ComponentPeer
* @since 1.5
*/
void layout();
+
+
+ /**
+ * Requests the focus on the component.
+ */
+ boolean requestFocus(Component lightweightChild, boolean temporary,
+ boolean focusedWindowChangeAllowed, long time,
+ CausedFocusEvent.Cause cause);
+
}
diff --git a/java/awt/peer/FramePeer.java b/java/awt/peer/FramePeer.java
index 13435f8e4..929791489 100644
--- a/java/awt/peer/FramePeer.java
+++ b/java/awt/peer/FramePeer.java
@@ -71,5 +71,8 @@ public interface FramePeer extends WindowPeer
* @since 1.5
*/
void setBoundsPrivate(int x, int y, int width, int height);
+
+ Rectangle getBoundsPrivate();
+
} // interface FramePeer
diff --git a/java/awt/peer/RobotPeer.java b/java/awt/peer/RobotPeer.java
index db81c809d..a11bfc734 100644
--- a/java/awt/peer/RobotPeer.java
+++ b/java/awt/peer/RobotPeer.java
@@ -50,5 +50,7 @@ public interface RobotPeer
void keyRelease (int keycode);
int getRGBPixel (int x, int y);
int[] getRGBPixels (Rectangle screen);
+ void dispose();
+
} // interface RobotPeer
diff --git a/java/awt/peer/WindowPeer.java b/java/awt/peer/WindowPeer.java
index 00d103579..e8b7d7201 100644
--- a/java/awt/peer/WindowPeer.java
+++ b/java/awt/peer/WindowPeer.java
@@ -38,6 +38,8 @@ exception statement from your version. */
package java.awt.peer;
+import java.awt.Dialog;
+
public interface WindowPeer extends ContainerPeer
{
void toBack();
@@ -57,5 +59,12 @@ public interface WindowPeer extends ContainerPeer
* @since 1.5
*/
boolean requestWindowFocus();
+
+ void setAlwaysOnTop(boolean alwaysOnTop);
+ void updateFocusableWindowState();
+ void setModalBlocked(Dialog blocker, boolean blocked);
+ void updateMinimumSize();
+ void updateIconImages();
+
} // interface WindowPeer
diff --git a/sun/awt/CausedFocusEvent.java b/sun/awt/CausedFocusEvent.java
new file mode 100644
index 000000000..6e0feb9a7
--- /dev/null
+++ b/sun/awt/CausedFocusEvent.java
@@ -0,0 +1,89 @@
+/* CausedFocusEvent.java -- A special focus event for peers.
+ Copyright (C) 2007 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.awt;
+
+import java.awt.Component;
+import java.awt.event.FocusEvent;
+
+/**
+ * Special FocusEvent for peers. This has additional knowledge about the
+ * cause of the focus change.
+ */
+public class CausedFocusEvent
+extends FocusEvent
+{
+
+ public enum Cause
+ {
+ UNKNOWN,
+ MOUSE_EVENT,
+ TRAVERSAL,
+ TRAVERSAL_UP,
+ TRAVERSAL_DOWN,
+ TRAVERSAL_FORWARD,
+ TRAVERSAL_BACKWARD,
+ MANUAL_REQUEST,
+ AUTOMATIC_TRAVERSE,
+ ROLLBACK,
+ NATIVE_SYSTEM,
+ ACTIVATION,
+ CLEAR_GLOBAL_FOCUS_OWNER,
+ RETARGETED
+ }
+
+ /**
+ * The cause of the focus change.
+ */
+ private Cause cause;
+
+ public CausedFocusEvent(Component c, int id, boolean temporary,
+ Component opposite, Cause cause)
+ {
+ super(c, id, temporary, opposite);
+ if (cause == null)
+ {
+ cause = Cause.UNKNOWN;
+ }
+ this.cause = cause;
+ }
+
+ public Cause getCause()
+ {
+ return cause;
+ }
+}