mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
127 lines
2.9 KiB
Java
127 lines
2.9 KiB
Java
package controller.channel;
|
|
|
|
import java.awt.Component;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
|
|
import javax.swing.JMenu;
|
|
import javax.swing.JMenuItem;
|
|
import javax.swing.JSeparator;
|
|
|
|
import module.decode.event.ActivitySummaryFrame;
|
|
import module.decode.state.DecoderState;
|
|
import playlist.PlaylistManager;
|
|
import controller.channel.ChannelEvent.Event;
|
|
|
|
public class ChannelUtils
|
|
{
|
|
private static final boolean ENABLED = true;
|
|
private static final boolean DISABLED = false;
|
|
private static final boolean BROADCAST_CHANGE = true;
|
|
|
|
/**
|
|
* Creates a context menu for the channel argument
|
|
*/
|
|
public static JMenu getContextMenu( final PlaylistManager playlistManager,
|
|
final Channel channel,
|
|
final Component anchor )
|
|
{
|
|
if( channel != null )
|
|
{
|
|
JMenu menu = new JMenu( "Channel: " + channel.getName() );
|
|
|
|
if( channel.getEnabled() )
|
|
{
|
|
JMenuItem disable = new JMenuItem( "Disable" );
|
|
disable.addActionListener( new ActionListener()
|
|
{
|
|
@Override
|
|
public void actionPerformed( ActionEvent e )
|
|
{
|
|
channel.setEnabled( DISABLED, BROADCAST_CHANGE );
|
|
|
|
if( playlistManager != null )
|
|
{
|
|
playlistManager.save();
|
|
}
|
|
}
|
|
} );
|
|
|
|
menu.add( disable );
|
|
|
|
menu.add( new JSeparator() );
|
|
|
|
JMenuItem actySummaryItem =
|
|
new JMenuItem( "Activity Summary" );
|
|
|
|
actySummaryItem.addActionListener( new ActionListener()
|
|
{
|
|
@Override
|
|
public void actionPerformed( ActionEvent e )
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
for( DecoderState decoderState: channel
|
|
.getProcessingChain().getDecoderStates() )
|
|
{
|
|
sb.append( decoderState.getActivitySummary() );
|
|
}
|
|
|
|
new ActivitySummaryFrame( sb.toString(), anchor );
|
|
}
|
|
} );
|
|
|
|
menu.add( actySummaryItem );
|
|
}
|
|
else
|
|
{
|
|
JMenuItem enable = new JMenuItem( "Enable" );
|
|
enable.addActionListener( new ActionListener()
|
|
{
|
|
@Override
|
|
public void actionPerformed( ActionEvent e )
|
|
{
|
|
channel.setEnabled( ENABLED, BROADCAST_CHANGE );
|
|
|
|
if( playlistManager != null )
|
|
{
|
|
playlistManager.save();
|
|
}
|
|
}
|
|
} );
|
|
|
|
menu.add( enable );
|
|
}
|
|
|
|
menu.add( new JSeparator() );
|
|
|
|
JMenuItem deleteItem = new JMenuItem( "Delete" );
|
|
deleteItem.addActionListener( new ActionListener()
|
|
{
|
|
@Override
|
|
public void actionPerformed( ActionEvent e )
|
|
{
|
|
/* Disable the channel */
|
|
channel.setEnabled( DISABLED, BROADCAST_CHANGE );
|
|
|
|
/* Broadcast channel deleted event */
|
|
channel.fireChannelEvent( Event.CHANNEL_DELETED );
|
|
|
|
if( playlistManager != null )
|
|
{
|
|
playlistManager.save();
|
|
}
|
|
}
|
|
} );
|
|
|
|
menu.add( deleteItem );
|
|
|
|
return menu;
|
|
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
}
|