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

Quick Search    Search Deep

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


1   /*
2   ================================================================================
3   
4     FILE:  SelectionManager.java
5     
6     PROJECT:
7     
8       Asaph
9     
10    CONTENTS:
11    
12      The selection 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 java.util.Set;
46  
47  import com.virtuosotechnologies.asaph.model.SongDatabase;
48  
49  
50  /**
51   * The selection manager API exported by the maingui plugin
52   */
53  public interface SelectionManager
54  {
55    /**
56     * The name of this API.
57     */
58    public static final String API_NAME =
59      "com.virtuosotechnologies.asaph.maingui.SelectionManager";
60    
61    
62    /**
63     * Get the currently selected database.
64     *
65     * @return a SongDatabase, or null for no selection
66     */
67    public SongDatabase getSelectedDatabase();
68    
69    
70    /**
71     * Get the Set of currently selected songs.
72     *
73     * @return a Set of SongIDs. Returns the empty set for no selection
74     */
75    public Set getSelectedSongSet();
76    
77    
78    /**
79     * Select the specified database in the gui.
80     *
81     * @param database the database to select
82     * @exception IllegalArgumentException the given database is not open.
83     */
84    public void selectDatabase(
85      SongDatabase database);
86    
87    
88    /**
89     * Add a SelectionListener to the main gui.
90     * Note that it is added as a weak listener, so make sure it is strongly
91     * referenced elsewhere.
92     *
93     * @param listener SelectionListener
94     */
95    public void addSelectionListener(
96      SelectionListener listener);
97    
98    
99    /**
100    * Remove a SelectionListener from the main gui. Does nothing if the
101    * listener is not added.
102    *
103    * @param listener SelectionListener
104    */
105   public void removeSelectionListener(
106     SelectionListener listener);
107 }