aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/awt/Checkbox.java3
-rw-r--r--libjava/java/awt/CheckboxMenuItem.java3
-rw-r--r--libjava/java/awt/Choice.java3
-rw-r--r--libjava/java/awt/Component.java14
-rw-r--r--libjava/java/awt/ComponentOrientation.java8
-rw-r--r--libjava/java/awt/Dialog.java1
-rw-r--r--libjava/java/awt/EventQueue.java6
-rw-r--r--libjava/java/awt/FileDialog.java109
-rw-r--r--libjava/java/awt/GraphicsConfiguration.java8
-rw-r--r--libjava/java/awt/Label.java3
-rw-r--r--libjava/java/awt/List.java8
-rw-r--r--libjava/java/awt/Menu.java10
-rw-r--r--libjava/java/awt/MenuBar.java2
-rw-r--r--libjava/java/awt/MenuItem.java2
-rw-r--r--libjava/java/awt/PopupMenu.java27
-rw-r--r--libjava/java/awt/Rectangle.java13
-rw-r--r--libjava/java/awt/RenderingHints.java4
-rw-r--r--libjava/java/awt/Scrollbar.java3
-rw-r--r--libjava/java/awt/TextComponent.java25
-rw-r--r--libjava/java/awt/event/ContainerEvent.java6
-rw-r--r--libjava/java/awt/geom/Rectangle2D.java10
21 files changed, 216 insertions, 52 deletions
diff --git a/libjava/java/awt/Checkbox.java b/libjava/java/awt/Checkbox.java
index 10c6744..82ced64 100644
--- a/libjava/java/awt/Checkbox.java
+++ b/libjava/java/awt/Checkbox.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -63,6 +63,7 @@ public class Checkbox extends Component implements ItemSelectable
{
if (peer == null)
peer = getToolkit ().createCheckbox (this);
+ super.addNotify ();
}
/** Returns the current CheckboxGroup associated with this
diff --git a/libjava/java/awt/CheckboxMenuItem.java b/libjava/java/awt/CheckboxMenuItem.java
index 83941a7..007d3dc 100644
--- a/libjava/java/awt/CheckboxMenuItem.java
+++ b/libjava/java/awt/CheckboxMenuItem.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -55,6 +55,7 @@ public class CheckboxMenuItem extends MenuItem implements ItemSelectable
// what else to do.
peer = Toolkit.getDefaultToolkit ().createCheckboxMenuItem (this);
}
+ super.addNotify ();
}
/** Returns this checkbox's label if this checkbox is selected. */
diff --git a/libjava/java/awt/Choice.java b/libjava/java/awt/Choice.java
index 3e30ead..6b9a112 100644
--- a/libjava/java/awt/Choice.java
+++ b/libjava/java/awt/Choice.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -66,6 +66,7 @@ public class Choice extends Component implements ItemSelectable
{
if (peer == null)
peer = getToolkit ().createChoice (this);
+ super.addNotify ();
}
/** Returns number of items.
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java
index 6bca20d..0feb694 100644
--- a/libjava/java/awt/Component.java
+++ b/libjava/java/awt/Component.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -649,14 +649,18 @@ public abstract class Component implements ImageObserver, MenuContainer,
public FontMetrics getFontMetrics(Font font)
{
- return getToolkit().getFontMetrics(font);
+ if (peer == null)
+ return getToolkit().getFontMetrics(font);
+ return peer.getFontMetrics (font);
}
-
+
public void setCursor(Cursor cursor)
{
this.cursor = cursor;
+ if (peer != null)
+ peer.setCursor (cursor);
}
-
+
public Cursor getCursor()
{
return this.cursor;
@@ -705,7 +709,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
parent.repaint(tm, x+getX(), y+getY(), width, height);
return;
}
-
+
if (peer != null)
peer.repaint(tm, x, y, width, height);
}
diff --git a/libjava/java/awt/ComponentOrientation.java b/libjava/java/awt/ComponentOrientation.java
index 8cc0664..5497d23 100644
--- a/libjava/java/awt/ComponentOrientation.java
+++ b/libjava/java/awt/ComponentOrientation.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -13,7 +13,7 @@ package java.awt;
import java.util.Locale;
import java.util.ResourceBundle;
-public class ComponentOrientation implements java.io.Serializable
+public final class ComponentOrientation implements java.io.Serializable
{
// Here is a wild guess.
private static int HORIZONTAL_ID = 1 << 0,
@@ -29,7 +29,7 @@ public class ComponentOrientation implements java.io.Serializable
// FIXME: This field is from the serialization spec, but what are the
// correct values?
int orientation;
-
+
ComponentOrientation(int orientation)
{
this.orientation = orientation;
@@ -54,7 +54,7 @@ public class ComponentOrientation implements java.io.Serializable
public static ComponentOrientation getOrientation(ResourceBundle bdl)
{
ComponentOrientation r;
-
+
try
{
Object obj = bdl.getObject("Orientation");
diff --git a/libjava/java/awt/Dialog.java b/libjava/java/awt/Dialog.java
index 82f5fef..7b84907 100644
--- a/libjava/java/awt/Dialog.java
+++ b/libjava/java/awt/Dialog.java
@@ -63,6 +63,7 @@ public class Dialog extends Window
{
if (peer == null)
peer = getToolkit ().createDialog (this);
+ super.addNotify ();
}
public boolean isModal ()
diff --git a/libjava/java/awt/EventQueue.java b/libjava/java/awt/EventQueue.java
index 2cddc6b..7037118 100644
--- a/libjava/java/awt/EventQueue.java
+++ b/libjava/java/awt/EventQueue.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -166,7 +166,7 @@ public class EventQueue
}
/** @since JDK1.2 */
- static void invokeLater(Runnable runnable)
+ public static void invokeLater(Runnable runnable)
{
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
@@ -176,7 +176,7 @@ public class EventQueue
eq.postEvent(ie);
}
- static boolean isDispatchThread()
+ public static boolean isDispatchThread()
{
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
return (Thread.currentThread() == eq.dispatchThread);
diff --git a/libjava/java/awt/FileDialog.java b/libjava/java/awt/FileDialog.java
index cdcf442..f1ba23c 100644
--- a/libjava/java/awt/FileDialog.java
+++ b/libjava/java/awt/FileDialog.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -8,13 +8,112 @@ details. */
package java.awt;
-/* A very incomplete placeholder. */
+import java.awt.peer.FileDialogPeer;
+import java.io.FilenameFilter;
+
+/**
+ * @author Tom Tromey <tromey@redhat.com>
+ * @date April 20, 2001
+ */
public class FileDialog extends Dialog
{
- public FileDialog (Frame owner)
+ public static int LOAD = 0;
+ public static int SAVE = 1;
+
+ public FileDialog (Frame parent)
+ {
+ this (parent, "", LOAD);
+ }
+
+ public FileDialog (Frame parent, String title)
+ {
+ this (parent, title, LOAD);
+ }
+
+ public FileDialog (Frame parent, String title, int mode)
+ {
+ super (parent, title, true);
+ if (mode != LOAD && mode != SAVE)
+ throw new IllegalArgumentException ("unknown mode: " + mode);
+ this.mode = mode;
+ }
+
+ public void addNotify ()
+ {
+ if (peer == null)
+ peer = getToolkit ().createFileDialog (this);
+ super.addNotify ();
+ }
+
+ public String getDirectory ()
+ {
+ return dir;
+ }
+
+ public String getFile ()
+ {
+ return file;
+ }
+
+ public FilenameFilter getFilenameFilter ()
{
- super(owner);
- // FIXME
+ return filter;
}
+
+ public int getMode ()
+ {
+ return mode;
+ }
+
+ protected String paramString ()
+ {
+ return ("FileDialog[mode=" + mode
+ + ",dir=" + dir
+ + ",file=" + file + "]");
+ }
+
+ public void setDirectory (String dir)
+ {
+ this.dir = dir;
+ if (peer != null)
+ {
+ FileDialogPeer f = (FileDialogPeer) peer;
+ f.setDirectory (dir);
+ }
+ }
+
+ public void setFile (String file)
+ {
+ this.file = file;
+ if (peer != null)
+ {
+ FileDialogPeer f = (FileDialogPeer) peer;
+ f.setFile (file);
+ }
+ }
+
+ public void setFilenameFilter (FilenameFilter filter)
+ {
+ this.filter = filter;
+ if (peer != null)
+ {
+ FileDialogPeer f = (FileDialogPeer) peer;
+ f.setFilenameFilter (filter);
+ }
+ }
+
+ public void setMode (int mode)
+ {
+ if (mode != LOAD && mode != SAVE)
+ throw new IllegalArgumentException ("unknown mode: " + mode);
+ this.mode = mode;
+ // FIXME: update peer?
+ }
+
+ // Names here from serialization spec.
+ private int mode;
+ private String dir;
+ private String file;
+ private FilenameFilter filter;
}
diff --git a/libjava/java/awt/GraphicsConfiguration.java b/libjava/java/awt/GraphicsConfiguration.java
index ca4b566..8e4fd08 100644
--- a/libjava/java/awt/GraphicsConfiguration.java
+++ b/libjava/java/awt/GraphicsConfiguration.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -17,6 +17,12 @@ import java.awt.geom.AffineTransform;
public abstract class GraphicsConfiguration
{
+ // Can't instantiate directly. Having a protected constructor seems
+ // redundant, but that is what the docs specify.
+ protected GraphicsConfiguration ()
+ {
+ }
+
/*
public abstract GraphicsDevice getDevice();
*/
diff --git a/libjava/java/awt/Label.java b/libjava/java/awt/Label.java
index c184dce..d599288 100644
--- a/libjava/java/awt/Label.java
+++ b/libjava/java/awt/Label.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -43,6 +43,7 @@ public class Label extends Component
{
if (peer == null)
peer = getToolkit ().createLabel (this);
+ super.addNotify ();
}
public int getAlignment ()
diff --git a/libjava/java/awt/List.java b/libjava/java/awt/List.java
index c0ac302..f3d5e4b 100644
--- a/libjava/java/awt/List.java
+++ b/libjava/java/awt/List.java
@@ -52,6 +52,7 @@ public class List extends Component implements ItemSelectable
{
if (peer != null)
peer = getToolkit ().createList (this);
+ super.addNotify ();
}
public int getItemCount ()
@@ -107,7 +108,12 @@ public class List extends Component implements ItemSelectable
public void replaceItem (String item, int index)
{
items.setElementAt (item, index);
- // FIXME: notify peer
+ if (peer != null)
+ {
+ ListPeer l = (ListPeer) peer;
+ l.delItems (index, index);
+ l.add (item, index);
+ }
}
public void removeAll ()
diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java
index 34dd600..6d52d05 100644
--- a/libjava/java/awt/Menu.java
+++ b/libjava/java/awt/Menu.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -40,7 +40,13 @@ public class Menu extends MenuItem implements MenuContainer
public void addNotify()
{
- // FIXME
+ if (peer != null)
+ {
+ // This choice of toolkit seems unsatisfying, but I'm not sure
+ // what else to do.
+ peer = Toolkit.getDefaultToolkit ().createMenu (this);
+ }
+ super.addNotify ();
}
public void removeNotify()
diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java
index 6e25bc9..40de61a 100644
--- a/libjava/java/awt/MenuBar.java
+++ b/libjava/java/awt/MenuBar.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libjava.
diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java
index 06b5acc..b127bfa 100644
--- a/libjava/java/awt/MenuItem.java
+++ b/libjava/java/awt/MenuItem.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
diff --git a/libjava/java/awt/PopupMenu.java b/libjava/java/awt/PopupMenu.java
index 3be7f84..ed4f343 100644
--- a/libjava/java/awt/PopupMenu.java
+++ b/libjava/java/awt/PopupMenu.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -8,6 +8,8 @@ details. */
package java.awt;
+import java.awt.peer.PopupMenuPeer;
+
/* Status: Incomplete. */
public class PopupMenu extends Menu
@@ -24,14 +26,31 @@ public class PopupMenu extends Menu
public void addNotify()
{
- // FIXME
+ if (peer != null)
+ {
+ // This choice of toolkit seems unsatisfying, but I'm not sure
+ // what else to do.
+ peer = Toolkit.getDefaultToolkit ().createPopupMenu (this);
+ }
+ super.addNotify ();
}
public void show(Component origin, int x, int y)
{
- // FIXME
+ if (! origin.isShowing ()
+ // FIXME: or ! parent is showing -- but how?
+ )
+ {
+ // This is an invalid call which we choose to ignore.
+ return;
+ }
+
+ addNotify (); // FIXME?
+ Event e = new Event (origin, 0, 0, x, y, 0, 0);
+ PopupMenuPeer p = (PopupMenuPeer) peer;
+ p.show (e);
}
-
+
// Accessibility API not yet implemented.
// public AccessibleContext getAccessibleContext()
}
diff --git a/libjava/java/awt/Rectangle.java b/libjava/java/awt/Rectangle.java
index 6695c58..7e7ef72 100644
--- a/libjava/java/awt/Rectangle.java
+++ b/libjava/java/awt/Rectangle.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -7,11 +7,14 @@ Libjava License. Please consult the file "LIBJAVA_LICENSE" for
details. */
package java.awt;
+
import java.awt.geom.*;
+import java.io.Serializable;
/* Status: Mostly complete. Some of the Java2D stuff is commented out. */
-public class Rectangle extends Rectangle2D implements Cloneable, Shape
+public class Rectangle extends Rectangle2D
+ implements Cloneable, Shape, Serializable
{
public int x;
public int y;
@@ -151,12 +154,6 @@ public class Rectangle extends Rectangle2D implements Cloneable, Shape
return new Point(x,y);
}
- public PathIterator getPathIterator (AffineTransform t)
- {
- // FIXME
- return null;
- }
-
public Dimension getSize()
{
return new Dimension(width, height);
diff --git a/libjava/java/awt/RenderingHints.java b/libjava/java/awt/RenderingHints.java
index a2dace6..c0010cb 100644
--- a/libjava/java/awt/RenderingHints.java
+++ b/libjava/java/awt/RenderingHints.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -16,7 +16,7 @@ public class RenderingHints implements
Cloneable
{
- static abstract class Key
+ public abstract static class Key
{
private int intKey;
diff --git a/libjava/java/awt/Scrollbar.java b/libjava/java/awt/Scrollbar.java
index 88a8d1f..186a7c3 100644
--- a/libjava/java/awt/Scrollbar.java
+++ b/libjava/java/awt/Scrollbar.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -55,6 +55,7 @@ public class Scrollbar extends Component implements Adjustable
{
if (peer == null)
peer = getToolkit ().createScrollbar (this);
+ super.addNotify ();
}
public int getOrientation ()
diff --git a/libjava/java/awt/TextComponent.java b/libjava/java/awt/TextComponent.java
index 738cc89..0836b5f 100644
--- a/libjava/java/awt/TextComponent.java
+++ b/libjava/java/awt/TextComponent.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation
+/* Copyright (C) 1999, 2001 Free Software Foundation
This file is part of libjava.
@@ -7,16 +7,25 @@ Libjava License. Please consult the file "LIBJAVA_LICENSE" for
details. */
package java.awt;
+
import java.awt.event.*;
+import java.awt.peer.TextComponentPeer;
/* A very incomplete placeholder. */
public class TextComponent extends Component
{
+ protected TextListener textListener;
+
char[] buffer;
int length;
int caretPosition;
+ public synchronized void addTextListener (TextListener listener)
+ {
+ textListener = AWTEventMulticaster.add (textListener, listener);
+ }
+
public synchronized String getText ()
{ return new String(buffer, 0, length); }
@@ -28,11 +37,15 @@ public class TextComponent extends Component
text.getChars(0, length, buffer, 0);
}
- public synchronized void addTextListener (TextListener listener)
- { /* FIXME */ }
-
public int getCaretPosition () { return caretPosition; }
- public void setCaretPosition (int pos) { caretPosition = pos; }
-
+ public void setCaretPosition (int pos)
+ {
+ caretPosition = pos;
+ if (peer != null)
+ {
+ TextComponentPeer t = (TextComponentPeer) peer;
+ t.setCaretPosition (pos);
+ }
+ }
}
diff --git a/libjava/java/awt/event/ContainerEvent.java b/libjava/java/awt/event/ContainerEvent.java
index 9e89519..9996414 100644
--- a/libjava/java/awt/event/ContainerEvent.java
+++ b/libjava/java/awt/event/ContainerEvent.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -35,9 +35,9 @@ public class ContainerEvent extends ComponentEvent
return child;
}
- public Component getContainer ()
+ public Container getContainer ()
{
- return (Component) source;
+ return (Container) source;
}
public String paramString ()
diff --git a/libjava/java/awt/geom/Rectangle2D.java b/libjava/java/awt/geom/Rectangle2D.java
index 16ab826..f0957b1 100644
--- a/libjava/java/awt/geom/Rectangle2D.java
+++ b/libjava/java/awt/geom/Rectangle2D.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation
+/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libjava.
@@ -379,6 +379,14 @@ public abstract class Rectangle2D extends RectangularShape
this.height = (float) h;
}
+ public void setRect (float x, float y, float w, float h)
+ {
+ this.x = x;
+ this.y = y;
+ this.width = w;
+ this.height = h;
+ }
+
public void setRect (Rectangle2D r)
{
this.x = (float) r.getX ();