OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [java/] [awt/] [FileDialog.java] - Blame information for rev 771

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 771 jeremybenn
/* FileDialog.java -- A filename selection dialog box
2
   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005  Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
 
39
package java.awt;
40
 
41
import java.awt.peer.FileDialogPeer;
42
import java.io.FilenameFilter;
43
import java.io.Serializable;
44
 
45
/**
46
  * This class implements a file selection dialog box widget.
47
  *
48
  * @author Aaron M. Renn (arenn@urbanophile.com)
49
  * @author Tom Tromey (tromey@redhat.com)
50
  */
51
public class FileDialog extends Dialog implements Serializable
52
{
53
 
54
/*
55
 * Static Variables
56
 */
57
 
58
/**
59
  * Indicates that the purpose of the dialog is for opening a file.
60
  */
61
public static final int LOAD = 0;
62
 
63
/**
64
  * Indicates that the purpose of the dialog is for saving a file.
65
  */
66
public static final int SAVE = 1;
67
 
68
// Serialization constant
69
private static final long serialVersionUID = 5035145889651310422L;
70
 
71
/*************************************************************************/
72
 
73
/*
74
 * Instance Variables
75
 */
76
 
77
/**
78
  * @serial The directory for this file dialog.
79
  */
80
private String dir;
81
 
82
/**
83
  * @serial The filename for this file dialog
84
  */
85
private String file;
86
 
87
/**
88
  * @serial The filter for selecting filenames to display
89
  */
90
private FilenameFilter filter;
91
 
92
/**
93
  * @serial The mode of this dialog, either <code>LOAD</code> or
94
  * <code>SAVE</code>.
95
  */
96
private int mode;
97
 
98
/**
99
 * The number used to generate the name returned by getName.
100
 */
101
private static transient long next_file_dialog_number;
102
 
103
/*************************************************************************/
104
 
105
/*
106
 * Constructors
107
 */
108
 
109
  /**
110
   * Initializes a new instance of <code>FileDialog</code> with the specified
111
   * parent. This dialog will have no title and will be for loading a file.
112
   *
113
   * @param parent The parent dialog for this.
114
   *
115
   * @since 1.5
116
   */
117
  public FileDialog(Dialog parent)
118
  {
119
    this(parent, "", LOAD);
120
  }
121
 
122
  /**
123
   * Initialized a new instance of <code>FileDialog</code> with the
124
   * specified parent and title.  This dialog will be for opening a file.
125
   *
126
   * @param parent The parent dialog for this.
127
   * @param title The title for this dialog.
128
   *
129
   * @since 1.5
130
   */
131
  public FileDialog(Dialog parent, String title)
132
  {
133
    this(parent, title, LOAD);
134
  }
135
 
136
  /**
137
   * Initialized a new instance of <code>FileDialog</code> with the specified
138
   * parent, title, and mode.
139
   *
140
   * @param parent The parent dialog for this.
141
   * @param title The title for this dialog.
142
   * @param mode The mode of the dialog, either <code>LOAD</code> or
143
   *          <code>SAVE</code>.
144
   * @throws IllegalArgumentException - if illegal mode, if
145
   *           GraphicsEnvironment.isHeadless or if parent is null.
146
   *
147
   * @since 1.5
148
   */
149
  public FileDialog(Dialog parent, String title, int mode)
150
  {
151
    super(parent, title, true);
152
 
153
    // Other IllegalArgumentException cases are taken care of in Window.java
154
    if (mode != LOAD && mode != SAVE)
155
      throw new IllegalArgumentException (
156
        "Mode argument must be either LOAD or SAVE");
157
 
158
    setMode(mode);
159
  }
160
 
161
/**
162
  * Initializes a new instance of <code>FileDialog</code> with the
163
  * specified parent.  This dialog will have no title and will be for
164
  * loading a file.
165
  *
166
  * @param parent The parent frame for this dialog.
167
  */
168
public
169
FileDialog(Frame parent)
170
{
171
  this(parent, "", LOAD);
172
}
173
 
174
/*************************************************************************/
175
 
176
/**
177
  * Initialized a new instance of <code>FileDialog</code> with the
178
  * specified parent and title.  This dialog will be for opening a file.
179
  *
180
  * @param parent The parent frame for this dialog.
181
  * @param title The title for this dialog.
182
  */
183
public
184
FileDialog(Frame parent, String title)
185
{
186
  this(parent, title, LOAD);
187
}
188
 
189
/*************************************************************************/
190
 
191
/**
192
  * Initialized a new instance of <code>FileDialog</code> with the
193
  * specified parent, title, and mode.
194
  *
195
  * @param parent The parent frame for this dialog.
196
  * @param title The title for this dialog.
197
  * @param mode The mode of the dialog, either <code>LOAD</code> or
198
  * <code>SAVE</code>.
199
  *
200
  * @exception IllegalArgumentException If an illegal file dialog mode
201
  * is supplied.
202
  */
203
public
204
FileDialog(Frame parent, String title, int mode)
205
{
206
  super(parent, title, true);
207
 
208
  if ((mode != LOAD) && (mode != SAVE))
209
    throw new IllegalArgumentException (
210
      "Mode argument must be either LOAD or SAVE");
211
 
212
  setMode (mode);
213
}
214
 
215
/*************************************************************************/
216
 
217
/*
218
 * Instance Methods
219
 */
220
 
221
/**
222
  * Returns the mode of this dialog, either <code>LOAD</code> or
223
  * <code>SAVE</code>.
224
  *
225
  * @return The mode of this dialog.
226
  */
227
public int
228
getMode()
229
{
230
  return(mode);
231
}
232
 
233
/*************************************************************************/
234
 
235
/**
236
  * Sets the mode of this dialog to either <code>LOAD</code> or
237
  * <code>SAVE</code>.  This method is only effective before the native
238
  * peer is created.
239
  *
240
  * @param mode The new mode of this file dialog.
241
  *
242
  * @exception IllegalArgumentException If an illegal file dialog mode
243
  * is supplied.
244
  */
245
public void
246
setMode(int mode)
247
{
248
  if ((mode != LOAD) && (mode != SAVE))
249
    throw new IllegalArgumentException("Bad mode: " + mode);
250
 
251
  this.mode = mode;
252
}
253
 
254
/*************************************************************************/
255
 
256
/**
257
  * Returns the directory for this file dialog.
258
  *
259
  * @return The directory for this file dialog.
260
  */
261
public String
262
getDirectory()
263
{
264
  return(dir);
265
}
266
 
267
/*************************************************************************/
268
 
269
/**
270
  * Sets the directory for this file dialog.
271
  *
272
  * @param dir The new directory for this file dialog.
273
  */
274
public synchronized void
275
setDirectory(String dir)
276
{
277
  this.dir = dir;
278
  if (peer != null)
279
    {
280
      FileDialogPeer f = (FileDialogPeer) peer;
281
      f.setDirectory (dir);
282
    }
283
}
284
 
285
/*************************************************************************/
286
 
287
/**
288
  * Returns the file that is selected in this dialog.
289
  *
290
  * @return The file that is selected in this dialog.
291
  */
292
public String
293
getFile()
294
{
295
  return(file);
296
}
297
 
298
/*************************************************************************/
299
 
300
/**
301
  * Sets the selected file for this dialog.
302
  *
303
  * @param file The selected file for this dialog.
304
  */
305
public synchronized void
306
setFile(String file)
307
{
308
  if ("".equals(file))
309
    this.file = null;
310
  else
311
    this.file = file;
312
 
313
  if (peer != null)
314
    {
315
      FileDialogPeer f = (FileDialogPeer) peer;
316
      f.setFile (file);
317
    }
318
}
319
 
320
/*************************************************************************/
321
 
322
/**
323
  * Returns the filename filter being used by this dialog.
324
  *
325
  * @return The filename filter being used by this dialog.
326
  */
327
public FilenameFilter
328
getFilenameFilter()
329
{
330
  return(filter);
331
}
332
 
333
/*************************************************************************/
334
 
335
/**
336
  * Sets the filename filter used by this dialog.
337
  *
338
  * @param filter The new filename filter for this file dialog box.
339
  */
340
public synchronized void
341
setFilenameFilter(FilenameFilter filter)
342
{
343
  this.filter = filter;
344
  if (peer != null)
345
    {
346
      FileDialogPeer f = (FileDialogPeer) peer;
347
      f.setFilenameFilter (filter);
348
    }
349
}
350
 
351
/*************************************************************************/
352
 
353
/**
354
  * Creates the native peer for this file dialog box.
355
  */
356
public void
357
addNotify()
358
{
359
  if (peer == null)
360
    peer = getToolkit ().createFileDialog (this);
361
  super.addNotify ();
362
}
363
 
364
/*************************************************************************/
365
 
366
/**
367
  * Returns a debugging string for this object.
368
  *
369
  * @return A debugging string for this object.
370
  */
371
protected String
372
paramString()
373
{
374
  return ("dir=" + dir + ",file=" + file +
375
          ",mode=" + mode + "," + super.paramString());
376
}
377
 
378
/**
379
 * Generate a unique name for this <code>FileDialog</code>.
380
 *
381
 * @return A unique name for this <code>FileDialog</code>.
382
 */
383
String
384
generateName()
385
{
386
  return "filedlg" + getUniqueLong();
387
}
388
 
389
private static synchronized long
390
getUniqueLong()
391
{
392
  return next_file_dialog_number++;
393
}
394
 
395
} // class FileDialog

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.