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