Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/virtuosotechnologies/asaph/maingui/PaneManager.java


1   /*
2   ================================================================================
3   
4     FILE:  PaneManager.java
5     
6     PROJECT:
7     
8       Asaph
9     
10    CONTENTS:
11    
12      The pane manager 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  
47  import com.virtuosotechnologies.lib.command.CommandNode;
48  
49  
50  /**
51   * The pane manager API exported by the maingui plugin
52   */
53  public interface PaneManager
54  {
55    /**
56     * The name of this API.
57     */
58    public static final String API_NAME =
59      "com.virtuosotechnologies.asaph.maingui.PaneManager";
60    
61    
62    /**
63     * Open a pane in the main gui. Depending on how the main gui is
64     * implemented, this pane may show up as a tab in a tabbed pane, or an
65     * internal frame, or in some other similar fashion.
66     *
67     * @param component Component representing the pane
68     * @param title initial title for the pane
69     * @param commands CommandNode for creating a menu bar, or null for no menu bar
70     * @param handler a PaneHandler for handling pane events
71     * @return A PaneController that will manipulate this pane
72     */
73    public PaneController createPane(
74      JComponent component,
75      String title,
76      CommandNode commands,
77      PaneHandler handler);
78  }