/* * Copyright (c) 2008, 2009, 2010, 2011 Denis Tulskiy * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * version 3 along with this work. If not, see <http://www.gnu.org/licenses/>. */ package com.tulskiy.musique.gui.menu; import com.tulskiy.musique.gui.library.LibraryTree; import com.tulskiy.musique.gui.playlist.PlaylistColumn; import com.tulskiy.musique.gui.playlist.PlaylistTable; import com.tulskiy.musique.images.Images; import com.tulskiy.musique.playlist.Playlist; import com.tulskiy.musique.playlist.Track; import javax.swing.*; import java.awt.*; import java.util.ArrayList; import static com.tulskiy.musique.gui.library.LibraryAction.*; /** * Author: Denis Tulskiy * Date: 2/5/11 */ public class LibraryMenu extends Menu { private PlaylistTable fakeTable; public JPopupMenu create(LibraryTree parent, Playlist playlist, ArrayList<Track> tracks) { if (fakeTable == null) { fakeTable = new PlaylistTable(playlist, new ArrayList<PlaylistColumn>()); fakeTable.dispose(); } ActionMap aMap = parent.getActionMap(); JPopupMenu popup = new JPopupMenu(); JMenuItem sendToCurrent = new JMenuItem(aMap.get(SEND_TO_CURRENT)); sendToCurrent.setIcon(Images.getEmptyIcon()); sendToCurrent.setAccelerator(SEND_TO_CURRENT.getKeyStroke()); popup.add(sendToCurrent); JMenuItem sendToNew = new JMenuItem(aMap.get(SEND_TO_NEW)); sendToNew.setAccelerator(SEND_TO_NEW.getKeyStroke()); popup.add(sendToNew); JMenuItem addToCurrent = new JMenuItem(aMap.get(ADD_TO_CURRENT)); addToCurrent.setAccelerator(ADD_TO_CURRENT.getKeyStroke()); popup.add(addToCurrent); popup.addSeparator(); TracksMenu tracksMenu = new TracksMenu(); JPopupMenu menu = tracksMenu.create(fakeTable, playlist, tracks); for (Component component : menu.getComponents()) { popup.add(component); } return popup; } public static void addMenu(JMenu menu) { } }