Source code: com/virtuosotechnologies/asaph/maingui/GuiEnvironmentManager.java
1 /*
2 ================================================================================
3
4 FILE: GuiEnvironmentManager.java
5
6 PROJECT:
7
8 Asaph
9
10 CONTENTS:
11
12 A miscellaneous API exported by the maingui plugin
13
14 PROGRAMMERS:
15
16 Daniel Azuma (DA) <dazuma@kagi.com>
17
18 COPYRIGHT:
19
20 Copyright (C) 2003 Daniel Azuma (dazuma@kagi.com)
21
22 This program is free software; you can redistribute it and/or
23 modify it under the terms of the GNU General Public License as
24 published by the Free Software Foundation; either version 2
25 of the License, or (at your option) any later version.
26
27 This program is distributed in the hope that it will be useful,
28 but WITHOUT ANY WARRANTY; without even the implied warranty of
29 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 GNU General Public License for more details.
31
32 You should have received a copy of the GNU General Public
33 License along with this program; if not, write to
34 Free Software Foundation, Inc.
35 59 Temple Place, Suite 330
36 Boston, MA 02111-1307 USA
37
38 ================================================================================
39 */
40
41
42 package com.virtuosotechnologies.asaph.maingui;
43
44
45 import javax.swing.JComponent;
46 import java.io.File;
47
48 import com.virtuosotechnologies.lib.asyncjob.AsyncJobRunner;
49
50
51 /**
52 * A miscellaneous API exported by the maingui plugin
53 */
54 public interface GuiEnvironmentManager
55 {
56 /**
57 * The name of this API.
58 */
59 public static final String API_NAME =
60 "com.virtuosotechnologies.asaph.maingui.GuiEnvironmentManager";
61
62
63 /**
64 * Get the dialog parent. This component should be used as the parent
65 * for displaying JDialogs and JOptionPanes.
66 *
67 * @return the gui's dialog parent component
68 */
69 public JComponent getDialogParent();
70
71
72 /**
73 * Get the current directory for file choosers
74 *
75 * @return the current file chooser directory
76 */
77 public File getFileChooserDirectory();
78
79
80 /**
81 * Set the current directory for file choosers
82 *
83 * @param directory new file chooser directory
84 */
85 public void setFileChooserDirectory(
86 File directory);
87
88
89 /**
90 * Register an AsyncJobRunner that can run long operations. The main
91 * gui will respond to jobs being run on this runner by showing a progress
92 * dialog.
93 *
94 * @param runner AsyncJobRunner
95 */
96 public void registerAsyncJobRunner(
97 AsyncJobRunner runner);
98 }