1 /*
2  * @(#)FavoritesAction.java	1.3 06/10/30
3  *
4  * Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
5  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6  *
7  * This code is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 only, as
9  * published by the Free Software Foundation.  Sun designates this
10  * particular file as subject to the "Classpath" exception as provided
11  * by Sun in the LICENSE file that accompanied this code.
12  *
13  * This code is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16  * version 2 for more details (a copy is included in the LICENSE file that
17  * accompanied this code).
18  *
19  * You should have received a copy of the GNU General Public License version
20  * 2 along with this work; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
22  *
23  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
24  * CA 95054 USA or visit www.sun.com if you need additional information or
25  * have any questions.
26  */
27 
28 package javax.help;
29 
30 import java.awt.event.ActionListener;
31 import java.util.Enumeration;
32 import java.util.Locale;
33 import javax.swing.UIManager;
34 
35 /**
36  *
37  * @author Roger Brinkley
38  * @version   1.3     10/30/06
39  */
40 public class FavoritesAction extends AbstractHelpAction implements ActionListener {
41 
42     private static final String NAME = "FavoritesAction";
43     private JHelpFavoritesNavigator favorites=null;
44     private ActionListener favoritesActionListener=null;
45 
46     /** Creates new FavoritesAction */
FavoritesAction(Object control)47     public FavoritesAction(Object control) {
48         super(control, NAME);
49         if (control instanceof JHelp) {
50             JHelp help = (JHelp)control;
51 	    for (Enumeration e = help.getHelpNavigators(); e.hasMoreElements();) {
52 		JHelpNavigator nav = (JHelpNavigator)e.nextElement();
53 		if(nav instanceof JHelpFavoritesNavigator) {
54 		    favorites = (JHelpFavoritesNavigator)nav;
55 		    favoritesActionListener = favorites.getAddAction();
56 		}
57 	    }
58 
59             setEnabled(favoritesActionListener != null);
60 
61             putValue("icon", UIManager.getIcon(NAME + ".icon"));
62 
63 	    Locale locale = null;
64 	    try {
65 		locale = help.getModel().getHelpSet().getLocale();
66 	    } catch (NullPointerException npe) {
67 		locale = Locale.getDefault();
68 	    }
69             putValue("tooltip", HelpUtilities.getString(locale, "tooltip." + NAME));
70             putValue("access", HelpUtilities.getString(locale, "access." + NAME));
71         }
72     }
73 
actionPerformed(java.awt.event.ActionEvent event)74     public void actionPerformed(java.awt.event.ActionEvent event) {
75 	if (favoritesActionListener != null) {
76 	    favoritesActionListener.actionPerformed(event);
77 	}
78     }
79 
80 }
81