File Source: UIController.java
/*
P/P * Method: com.dmdirc.ui.interfaces.UIController__static_init
*/
1 /*
2 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23 package com.dmdirc.ui.interfaces;
24
25 import com.dmdirc.Channel;
26 import com.dmdirc.FrameContainer;
27 import com.dmdirc.Query;
28 import com.dmdirc.Server;
29 import com.dmdirc.WritableFrameContainer;
30 import com.dmdirc.commandparser.parsers.CommandParser;
31 import com.dmdirc.config.prefs.PreferencesInterface;
32 import com.dmdirc.ui.core.dialogs.sslcertificate.SSLCertificateDialogModel;
33 import com.dmdirc.updater.Update;
34
35 import java.net.URI;
36 import java.util.List;
37
38 /**
39 * Defines the methods that should be implemented by UI controllers. Controllers
40 * handle the various aspects of a UI implementation.
41 *
42 * @author Chris
43 */
44 public interface UIController {
45
46 /**
47 * Retrieves the main window used by this UI.
48 *
49 * @return This UI's main window
50 */
51 MainWindow getMainWindow();
52
53 /**
54 * Retrieves the status bar component used by this UI.
55 *
56 * @return This UI's status bar
57 */
58 StatusBar getStatusBar();
59
60 /**
61 * Creates a channel window for the specified channel.
62 *
63 * @param channel The channel that is requesting a window be made
64 * @return A new channel window for the specified channel
65 */
66 ChannelWindow getChannel(Channel channel);
67
68 /**
69 * Creates a server window for the specified server.
70 *
71 * @param server The server that is requesting a window be made
72 * @return A new server window for the specified server
73 */
74 ServerWindow getServer(Server server);
75
76 /**
77 * Creates a query window for the specified query.
78 *
79 * @param query The query that is requesting a window be made
80 * @return A new query window for the specified query
81 */
82 QueryWindow getQuery(Query query);
83
84 /**
85 * Creates a new custom window instance.
86 *
87 * @param owner The owner of the input window
88 * @return A new custom window
89 */
90 Window getWindow(FrameContainer owner);
91
92 /**
93 * Creates a new custom input window instance.
94 *
95 * @param owner The owner of the input window
96 * @param commandParser The command parser to be used
97 * @return A new custom input window
98 */
99 InputWindow getInputWindow(WritableFrameContainer owner, CommandParser commandParser);
100
101 /**
102 * Returns an updater dialog for the specified updates.
103 *
104 * @param updates Updates available
105 *
106 * @return UpdaterDialog
107 */
108 UpdaterDialog getUpdaterDialog(List<Update> updates);
109
110 /**
111 * Shows the first run wizard for the ui.
112 */
113 void showFirstRunWizard();
114
115 /**
116 * Shows the (addons) migration wizard for the ui.
117 */
118 void showMigrationWizard();
119
120 /**
121 * Shows the SSL certificate information dialog.
122 *
123 * @param model The dialog model to use
124 */
125 void showSSLCertificateDialog(SSLCertificateDialogModel model);
126
127 /**
128 * Shows a channel settigns dialog for specified channel.
129 *
130 * @param channel Channel to show the dialog for
131 */
132 void showChannelSettingsDialog(Channel channel);
133
134 /**
135 * Shows a server settigns dialog for specified server.
136 *
137 * @param server Server to show the dialog for
138 */
139 void showServerSettingsDialog(Server server);
140
141 /**
142 * Initialises any settings required by this UI (this is always called
143 * before any aspect of the UI is instansiated).
144 */
145 void initUISettings();
146
147 /**
148 * Returns the active window.
149 *
150 * @return Active window or null
151 */
152 Window getActiveWindow();
153
154 /**
155 * Returns the active server.
156 *
157 * @return Active server null
158 */
159 Server getActiveServer();
160
161 /**
162 * Shows the unknown URL protocol handling dialog for a URL.
163 *
164 * @param url full url
165 */
166 void showURLDialog(final URI url);
167
168 /**
169 * Show feedback nag.
170 */
171 void showFeedbackNag();
172
173 /**
174 * Shows a message dialog to the user.
175 *
176 * @param title Dialog title
177 * @param message Message to display
178 */
179 void showMessageDialog(final String title, final String message);
180
181 /**
182 * Requests user input.
183 *
184 * @param prompt The prompt to display
185 * @return The user-inputted string
186 */
187 String getUserInput(final String prompt);
188
189 /**
190 * Retrieves the object used to display the plugin preferences panel.
191 *
192 * @return The plugin preferences panel
193 */
194 PreferencesInterface getPluginPrefsPanel();
195
196 /**
197 * Retrieves the object used to display the updates preferences panel.
198 *
199 * @return The updates preferences panel
200 */
201 PreferencesInterface getUpdatesPrefsPanel();
202
203 /**
204 * Retrieves the object used to display the URL handlers preferences panel.
205 *
206 * @return The url handlers preferences panel
207 */
208 PreferencesInterface getUrlHandlersPrefsPanel();
209
210 /**
211 * Retrieves the object used to display the themes preferences panel.
212 *
213 * @return The themes preferences panel
214 */
215 PreferencesInterface getThemesPrefsPanel();
216
217 }
SofCheck Inspector Build Version : 2.17854
| UIController.java |
2009-Jun-25 01:54:24 |
| UIController.class |
2009-Sep-02 17:04:12 |