WIP #34 - more work on tuner model and view. Includes new tuner

configuration and tuner configuration assignment editors.  Beginning of
tuner editor panel rework.   Removes most of the remaining JTree
configuration pieces.  Updates the settings manager to load and save
tuners and refactors all of the tuner configuration management out into
the tuner configuration model.
This commit is contained in:
denny
2016-03-12 12:54:48 -05:00
parent 9d4afb8c1f
commit 218eeb1848
66 changed files with 1983 additions and 2594 deletions

View File

@@ -29,13 +29,13 @@ import sample.complex.ComplexBuffer;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.Tuner;
import source.tuner.TunerChangeEvent;
import source.tuner.TunerEvent;
import source.tuner.TunerChannel;
import source.tuner.TunerChannelSource;
import source.tuner.TunerClass;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.airspy.AirspyTunerController.BoardID;
import source.tuner.configuration.TunerConfiguration;
public class AirspyTuner extends Tuner
{
@@ -54,12 +54,6 @@ public class AirspyTuner extends Tuner
mController.addListener( this );
}
@Override
public JPanel getEditor( SettingsManager settingsManager )
{
return new AirspyTunerEditorPanel( this, settingsManager );
}
public AirspyTunerController getController()
{
return mController;
@@ -142,7 +136,7 @@ public class AirspyTuner extends Tuner
if( source != null )
{
broadcast( new TunerChangeEvent( this, TunerChangeEvent.Event.CHANNEL_COUNT ) );
broadcast( new TunerEvent( this, TunerEvent.Event.CHANNEL_COUNT ) );
}
return source;

View File

@@ -19,9 +19,9 @@ package source.tuner.airspy;
import javax.xml.bind.annotation.XmlAttribute;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.airspy.AirspyTunerController.Gain;
import source.tuner.configuration.TunerConfiguration;
public class AirspyTunerConfiguration extends TunerConfiguration
{

View File

@@ -47,11 +47,11 @@ import org.usb4java.LibUsbException;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.TunerConfiguration;
import source.tuner.TunerConfigurationAssignment;
import source.tuner.TunerType;
import source.tuner.airspy.AirspyTunerController.Gain;
import source.tuner.airspy.AirspyTunerController.GainMode;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.configuration.TunerConfigurationAssignment;
public class AirspyTunerConfigurationPanel extends JPanel
{
@@ -126,8 +126,8 @@ public class AirspyTunerConfigurationPanel extends JPanel
if( serial != null )
{
savedConfig = mSettingsManager.getSelectedTunerConfiguration(
TunerType.AIRSPY_R820T, serial );
// savedConfig = mSettingsManager.getSelectedTunerConfiguration(
// TunerType.AIRSPY_R820T, serial );
}
if( savedConfig != null )
@@ -145,8 +145,8 @@ public class AirspyTunerConfigurationPanel extends JPanel
if( serial != null )
{
mSettingsManager.setSelectedTunerConfiguration( TunerType.AIRSPY_R820T,
serial, mSelectedConfig );
// mSettingsManager.setSelectedTunerConfiguration( TunerType.AIRSPY_R820T,
// serial, mSelectedConfig );
}
}
@@ -515,16 +515,16 @@ public class AirspyTunerConfigurationPanel extends JPanel
@Override
public void actionPerformed( ActionEvent e )
{
TunerConfiguration config =
mSettingsManager.addNewTunerConfiguration(
TunerType.AIRSPY_R820T,
"New Configuration" );
mComboConfigurations.setModel( getModel() );
mComboConfigurations.setSelectedItem( config );
repaint();
// TunerConfiguration config =
// mSettingsManager.addNewTunerConfiguration(
// TunerType.AIRSPY_R820T,
// "New Configuration" );
//
// mComboConfigurations.setModel( getModel() );
//
// mComboConfigurations.setSelectedItem( config );
//
// repaint();
}
} );
@@ -555,7 +555,7 @@ public class AirspyTunerConfigurationPanel extends JPanel
if( n == JOptionPane.YES_OPTION )
{
mSettingsManager.deleteTunerConfiguration( selected );
// mSettingsManager.deleteTunerConfiguration( selected );
mComboConfigurations.setModel( getModel() );
@@ -631,8 +631,8 @@ public class AirspyTunerConfigurationPanel extends JPanel
mGainModeCombo.setSelectedItem( Gain.getGainMode( gain ) );
mGain.setValue( gain.getValue() );
mSettingsManager.setSelectedTunerConfiguration(
TunerType.AIRSPY_R820T, mController.getDeviceInfo().getSerialNumber(), config );
// mSettingsManager.setSelectedTunerConfiguration(
// TunerType.AIRSPY_R820T, mController.getDeviceInfo().getSerialNumber(), config );
save();
}
@@ -656,16 +656,16 @@ public class AirspyTunerConfigurationPanel extends JPanel
*/
private ComboBoxModel<AirspyTunerConfiguration> getModel()
{
ArrayList<TunerConfiguration> configs =
mSettingsManager.getTunerConfigurations( TunerType.AIRSPY_R820T );
// ArrayList<TunerConfiguration> configs =
// mSettingsManager.getTunerConfigurations( TunerType.AIRSPY_R820T );
DefaultComboBoxModel<AirspyTunerConfiguration> model =
new DefaultComboBoxModel<AirspyTunerConfiguration>();
for( TunerConfiguration config: configs )
{
model.addElement( (AirspyTunerConfiguration)config );
}
// for( TunerConfiguration config: configs )
// {
// model.addElement( (AirspyTunerConfiguration)config );
// }
return model;
}
@@ -675,16 +675,16 @@ public class AirspyTunerConfigurationPanel extends JPanel
*/
private AirspyTunerConfiguration getNamedConfiguration( String name )
{
ArrayList<TunerConfiguration> configs =
mSettingsManager.getTunerConfigurations( TunerType.AIRSPY_R820T );
// ArrayList<TunerConfiguration> configs =
// mSettingsManager.getTunerConfigurations( TunerType.AIRSPY_R820T );
for( TunerConfiguration config: configs )
{
if( config.getName().contentEquals( name ) )
{
return (AirspyTunerConfiguration)config;
}
}
// for( TunerConfiguration config: configs )
// {
// if( config.getName().contentEquals( name ) )
// {
// return (AirspyTunerConfiguration)config;
// }
// }
return null;
}

View File

@@ -28,8 +28,8 @@ import sample.Broadcaster;
import sample.Listener;
import sample.complex.ComplexBuffer;
import source.SourceException;
import source.tuner.TunerConfiguration;
import source.tuner.TunerController;
import source.tuner.configuration.TunerConfiguration;
import controller.ThreadPoolManager;
import controller.ThreadPoolManager.ThreadType;
import dsp.filter.dc.DCRemovalFilter_RB;