mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-14 17:47:32 -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.SourceManager;
|
||||||
import source.tuner.TunerEvent;
|
import source.tuner.TunerEvent;
|
||||||
import source.tuner.TunerModel;
|
import source.tuner.TunerModel;
|
||||||
|
import source.tuner.TunerSpectralDisplayManager;
|
||||||
import source.tuner.configuration.TunerConfigurationModel;
|
import source.tuner.configuration.TunerConfigurationModel;
|
||||||
import spectrum.SpectralDisplayPanel;
|
import spectrum.SpectralDisplayPanel;
|
||||||
import util.TimeStamp;
|
import util.TimeStamp;
|
||||||
@@ -162,8 +163,11 @@ public class SDRTrunk implements Listener<TunerEvent>
|
|||||||
|
|
||||||
mSpectralPanel = new SpectralDisplayPanel( channelModel,
|
mSpectralPanel = new SpectralDisplayPanel( channelModel,
|
||||||
channelProcessingManager, mSettingsManager );
|
channelProcessingManager, mSettingsManager );
|
||||||
|
|
||||||
tunerModel.addListener( mSpectralPanel.getTunerEventListener() );
|
TunerSpectralDisplayManager tunerSpectralDisplayManager =
|
||||||
|
new TunerSpectralDisplayManager( mSpectralPanel,
|
||||||
|
channelModel, channelProcessingManager, mSettingsManager );
|
||||||
|
tunerModel.addListener( tunerSpectralDisplayManager );
|
||||||
tunerModel.addListener( this );
|
tunerModel.addListener( this );
|
||||||
|
|
||||||
PlaylistManager playlistManager = new PlaylistManager( threadPoolManager,
|
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 settings.SettingsManager;
|
||||||
import source.SourceException;
|
import source.SourceException;
|
||||||
import source.tuner.Tuner;
|
import source.tuner.Tuner;
|
||||||
import source.tuner.TunerEvent;
|
|
||||||
import source.tuner.frequency.FrequencyChangeEvent;
|
import source.tuner.frequency.FrequencyChangeEvent;
|
||||||
import source.tuner.frequency.FrequencyChangeEvent.Event;
|
import source.tuner.frequency.FrequencyChangeEvent.Event;
|
||||||
import source.tuner.frequency.IFrequencyChangeProcessor;
|
import source.tuner.frequency.IFrequencyChangeProcessor;
|
||||||
@@ -200,11 +199,6 @@ public class SpectralDisplayPanel extends JPanel
|
|||||||
mTuner = null;
|
mTuner = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Listener<TunerEvent> getTunerEventListener()
|
|
||||||
{
|
|
||||||
return new TunerSelectionListener( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Queues an FFT size change request. The scheduled executor will apply
|
* Queues an FFT size change request. The scheduled executor will apply
|
||||||
* the change when it runs.
|
* 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