mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
wip: #34 - adds tuner spectral display manager to handle requests to
show a tuner in the main spectral display or to show the tuner in a new spectral display
This commit is contained in:
@@ -59,6 +59,7 @@ import settings.SettingsManager;
|
||||
import source.SourceManager;
|
||||
import source.tuner.TunerEvent;
|
||||
import source.tuner.TunerModel;
|
||||
import source.tuner.TunerSpectralDisplayManager;
|
||||
import source.tuner.configuration.TunerConfigurationModel;
|
||||
import spectrum.SpectralDisplayPanel;
|
||||
import util.TimeStamp;
|
||||
@@ -162,8 +163,11 @@ public class SDRTrunk implements Listener<TunerEvent>
|
||||
|
||||
mSpectralPanel = new SpectralDisplayPanel( channelModel,
|
||||
channelProcessingManager, mSettingsManager );
|
||||
|
||||
tunerModel.addListener( mSpectralPanel.getTunerEventListener() );
|
||||
|
||||
TunerSpectralDisplayManager tunerSpectralDisplayManager =
|
||||
new TunerSpectralDisplayManager( mSpectralPanel,
|
||||
channelModel, channelProcessingManager, mSettingsManager );
|
||||
tunerModel.addListener( tunerSpectralDisplayManager );
|
||||
tunerModel.addListener( this );
|
||||
|
||||
PlaylistManager playlistManager = new PlaylistManager( threadPoolManager,
|
||||
|
||||
55
src/source/tuner/TunerSpectralDisplayManager.java
Normal file
55
src/source/tuner/TunerSpectralDisplayManager.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package source.tuner;
|
||||
|
||||
import java.awt.EventQueue;
|
||||
|
||||
import sample.Listener;
|
||||
import settings.SettingsManager;
|
||||
import spectrum.SpectralDisplayPanel;
|
||||
import spectrum.SpectrumFrame;
|
||||
import controller.channel.ChannelModel;
|
||||
import controller.channel.ChannelProcessingManager;
|
||||
|
||||
public class TunerSpectralDisplayManager implements Listener<TunerEvent>
|
||||
{
|
||||
private SpectralDisplayPanel mSpectralDisplayPanel;
|
||||
private ChannelModel mChannelModel;
|
||||
private ChannelProcessingManager mChannelProcessingManager;
|
||||
private SettingsManager mSettingsManager;
|
||||
|
||||
public TunerSpectralDisplayManager( SpectralDisplayPanel panel,
|
||||
ChannelModel channelModel,
|
||||
ChannelProcessingManager channelProcessingManager,
|
||||
SettingsManager settingsManager )
|
||||
{
|
||||
mSpectralDisplayPanel = panel;
|
||||
mChannelModel = channelModel;
|
||||
mChannelProcessingManager = channelProcessingManager;
|
||||
mSettingsManager = settingsManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receive( TunerEvent event )
|
||||
{
|
||||
switch( event.getEvent() )
|
||||
{
|
||||
case REQUEST_MAIN_SPECTRAL_DISPLAY:
|
||||
mSpectralDisplayPanel.showTuner( event.getTuner() );
|
||||
break;
|
||||
case REQUEST_SECONDARY_SPECTRAL_DISPLAY:
|
||||
final SpectrumFrame frame = new SpectrumFrame( mChannelModel,
|
||||
mChannelProcessingManager, mSettingsManager, event.getTuner() );
|
||||
|
||||
EventQueue.invokeLater( new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
frame.setVisible( true );
|
||||
}
|
||||
} );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,7 +62,6 @@ import settings.ColorSettingMenuItem;
|
||||
import settings.SettingsManager;
|
||||
import source.SourceException;
|
||||
import source.tuner.Tuner;
|
||||
import source.tuner.TunerEvent;
|
||||
import source.tuner.frequency.FrequencyChangeEvent;
|
||||
import source.tuner.frequency.FrequencyChangeEvent.Event;
|
||||
import source.tuner.frequency.IFrequencyChangeProcessor;
|
||||
@@ -200,11 +199,6 @@ public class SpectralDisplayPanel extends JPanel
|
||||
mTuner = null;
|
||||
}
|
||||
|
||||
public Listener<TunerEvent> getTunerEventListener()
|
||||
{
|
||||
return new TunerSelectionListener( this );
|
||||
}
|
||||
|
||||
/**
|
||||
* Queues an FFT size change request. The scheduled executor will apply
|
||||
* the change when it runs.
|
||||
@@ -962,26 +956,4 @@ public class SpectralDisplayPanel extends JPanel
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides tuner event listener interface for showing tuners in this display
|
||||
*/
|
||||
public class TunerSelectionListener implements Listener<TunerEvent>
|
||||
{
|
||||
private SpectralDisplayPanel mSpectralDisplayPanel;
|
||||
|
||||
public TunerSelectionListener( SpectralDisplayPanel spectralDisplayPanel )
|
||||
{
|
||||
mSpectralDisplayPanel = spectralDisplayPanel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receive( TunerEvent event )
|
||||
{
|
||||
if( event.getEvent() == TunerEvent.Event.REQUEST_MAIN_SPECTRAL_DISPLAY )
|
||||
{
|
||||
mSpectralDisplayPanel.showTuner( event.getTuner() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user