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