package com.pugh.sockso.gui;
import com.pugh.sockso.resources.Resources;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JScrollPane;
import com.google.inject.Inject;
import com.google.inject.Injector;
public class PlaylistManager extends JPanel {
private PlaylistPanel playlist;
private Resources r;
@Inject
public PlaylistManager( final Injector injector, final Resources r ) {
this.r = r;
playlist = injector.getInstance( PlaylistPanel.class );
setLayout( new BorderLayout() );
add( getButtonPane(), BorderLayout.NORTH );
add( new JScrollPane(playlist), BorderLayout.CENTER );
}
/**
* the panel with buttons for interacting with the playlist (saving/deleting)
*
*/
private JPanel getButtonPane() {
JButton clear = new JButton( "Clear", new ImageIcon(r.getImage("icons/16x16/clear.png")) );
clear.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent evt ) { playlist.clear(); }
});
JButton save = new JButton( "Save Playlist", new ImageIcon(r.getImage("icons/16x16/save.png")) );
save.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent evt ) { playlist.save(); }
});
JButton remove = new JButton( "Remove", new ImageIcon(r.getImage("icons/16x16/remove.png")) );
remove.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent evt ) { playlist.removeSelection(); }
});
JPanel p = new JPanel();
p.setLayout( new FlowLayout(FlowLayout.LEFT) );
p.add( clear );
p.add( remove );
p.add( save );
return p;
}
}