From 760903c0561e31470c62567019dc4f89d46b25fc Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 22 Apr 2001 03:05:39 +0000 Subject: Makefile.in: Rebuilt. * Makefile.in: Rebuilt. * Makefile.am (awt_java_source_files): Added Line2D.java. * java/awt/geom/Line2D.java: Wrote. * java/awt/Menu.java (addNotify): Wrote. * java/awt/PopupMenu.java (addNotify): Implemented. (show): Likewise. * java/awt/Scrollbar.java (addNotify): Call super.addNotify. * java/awt/List.java (addNotify): Call super.addNotify. * java/awt/Label.java (addNotify): Call super.addNotify. * java/awt/FileDialog.java (addNotify): Call super.addNotify. * java/awt/Dialog.java (addNotify): Call super.addNotify. * java/awt/Choice.java (addNotify): Call super.addNotify. * java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify. * java/awt/Checkbox.java (addNotify): Call super.addNotify. * java/awt/List.java (replaceItem): Notify peer. * java/awt/geom/Rectangle2D.java (Float.setRect(float,float,float,float)): New method. * java/awt/event/ContainerEvent.java (getContainer): Now returns Container. * java/awt/RenderingHints.java (Key): Class now public. * java/awt/Rectangle.java (Rectangle): Now implements Serializable. (getPathIterator): Removed. * java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New constructor. * java/awt/FileDialog.java: Wrote. * java/awt/EventQueue.java (isDispatchThread): Now public. (invokeLater): Likewise. * java/awt/Component.java (setCursor): Update peer. (getFontMetrics): Use peer. * java/awt/ComponentOrientation.java (ComponentOrientation): Class now final. From-SVN: r41489 --- libjava/java/awt/FileDialog.java | 109 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 5 deletions(-) (limited to 'libjava/java/awt/FileDialog.java') 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 + * @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; } -- cgit v1.1