1 /*
2  * aTunes
3  * Copyright (C) Alex Aranda, Sylvain Gaudard and contributors
4  *
5  * See http://www.atunes.org/wiki/index.php?title=Contributing for information about contributors
6  *
7  * http://www.atunes.org
8  * http://sourceforge.net/projects/atunes
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  */
20 
21 package net.sourceforge.atunes.gui.views.menus;
22 
23 import javax.swing.JMenu;
24 import javax.swing.JMenuBar;
25 
26 import net.sourceforge.atunes.model.IMenuBar;
27 
28 /**
29  * The application menu bar.
30  */
31 /**
32  * @author alex
33  *
34  */
35 public final class ApplicationMenuBar extends JMenuBar implements IMenuBar {
36 
37     private static final long serialVersionUID = 234977404080329591L;
38 
39     private JMenu fileMenu;
40     private JMenu editMenu;
41     private JMenu viewMenu;
42     private JMenu playerMenu;
43     private PlayListMenu playListMenu;
44     private JMenu toolsMenu;
45     private JMenu deviceMenu;
46     private JMenu helpMenu;
47 
48     /**
49      * @param playerMenu
50      */
setPlayerMenu(JMenu playerMenu)51     public void setPlayerMenu(JMenu playerMenu) {
52 		this.playerMenu = playerMenu;
53 	}
54 
55     /**
56      * @param fileMenu
57      */
setFileMenu(JMenu fileMenu)58     public void setFileMenu(JMenu fileMenu) {
59 		this.fileMenu = fileMenu;
60 	}
61 
62     /**
63      * @param editMenu
64      */
setEditMenu(JMenu editMenu)65     public void setEditMenu(JMenu editMenu) {
66 		this.editMenu = editMenu;
67 	}
68 
69     /**
70      * @param viewMenu
71      */
setViewMenu(JMenu viewMenu)72     public void setViewMenu(JMenu viewMenu) {
73 		this.viewMenu = viewMenu;
74 	}
75 
76     /**
77      * @param toolsMenu
78      */
setToolsMenu(JMenu toolsMenu)79     public void setToolsMenu(JMenu toolsMenu) {
80 		this.toolsMenu = toolsMenu;
81 	}
82 
83     /**
84      * @param deviceMenu
85      */
setDeviceMenu(JMenu deviceMenu)86     public void setDeviceMenu(JMenu deviceMenu) {
87 		this.deviceMenu = deviceMenu;
88 	}
89 
90     /* (non-Javadoc)
91      * @see javax.swing.JMenuBar#setHelpMenu(javax.swing.JMenu)
92      */
setHelpMenu(JMenu helpMenu)93     public void setHelpMenu(JMenu helpMenu) {
94 		this.helpMenu = helpMenu;
95 	}
96 
97     /**
98      * @param playListMenu
99      */
setPlayListMenu(PlayListMenu playListMenu)100     public void setPlayListMenu(PlayListMenu playListMenu) {
101 		this.playListMenu = playListMenu;
102 	}
103 
104     /**
105      * Adds the menus.
106      */
107     @Override
initialize()108     public void initialize() {
109         add(fileMenu);
110         add(editMenu);
111         add(viewMenu);
112         add(playerMenu);
113         playListMenu.initialize();
114         add(playListMenu);
115         add(deviceMenu);
116         add(toolsMenu);
117         add(helpMenu);
118     }
119 
120     /* (non-Javadoc)
121 	 * @see net.sourceforge.atunes.gui.views.menus.IMenuBar#addMenu(javax.swing.JMenu)
122 	 */
123     @Override
addMenu(JMenu newMenu)124 	public void addMenu(JMenu newMenu) {
125         remove(getComponentCount() - 1);
126         add(newMenu);
127         add(helpMenu);
128     }
129 
130     @Override
getSwingComponent()131     public JMenuBar getSwingComponent() {
132     	return this;
133     }
134 }
135