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

@@ -28,12 +28,12 @@ import settings.SettingsManager;
import source.SourceException;
import source.tuner.MixerTuner;
import source.tuner.MixerTunerDataLine;
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.configuration.TunerConfiguration;
public class FCDTuner extends MixerTuner
{
@@ -80,12 +80,6 @@ public class FCDTuner extends MixerTuner
return mController.getUSBAddress();
}
@Override
public JPanel getEditor( SettingsManager settingsManager )
{
return mController.getEditor( this, settingsManager );
}
@Override
public void apply( TunerConfiguration config )throws SourceException
{
@@ -118,7 +112,7 @@ public class FCDTuner extends MixerTuner
if( source != null )
{
broadcast( new TunerChangeEvent( this, TunerChangeEvent.Event.CHANNEL_COUNT ) );
broadcast( new TunerEvent( this, TunerEvent.Event.CHANNEL_COUNT ) );
}
return source;

View File

@@ -36,9 +36,9 @@ import org.usb4java.LibUsbException;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.TunerClass;
import source.tuner.TunerConfiguration;
import source.tuner.TunerController;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.fcd.proV1.FCD1TunerController.Block;
public abstract class FCDTunerController extends TunerController

View File

@@ -19,8 +19,8 @@ package source.tuner.fcd.proV1;
import javax.xml.bind.annotation.XmlAttribute;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.fcd.proV1.FCD1TunerController.LNAEnhance;
import source.tuner.fcd.proV1.FCD1TunerController.LNAGain;
import source.tuner.fcd.proV1.FCD1TunerController.MixerGain;

View File

@@ -49,8 +49,8 @@ import org.slf4j.LoggerFactory;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.fcd.proV1.FCD1TunerController.LNAEnhance;
import source.tuner.fcd.proV1.FCD1TunerController.LNAGain;
import source.tuner.fcd.proV1.FCD1TunerController.MixerGain;
@@ -426,14 +426,14 @@ public class FCD1TunerConfigurationPanel extends JPanel
@Override
public void actionPerformed( ActionEvent e )
{
TunerConfiguration config =
mSettingsManager.addNewTunerConfiguration(
TunerType.FUNCUBE_DONGLE_PRO,
"New Configuration" );
// TunerConfiguration config =
// mSettingsManager.addNewTunerConfiguration(
// TunerType.FUNCUBE_DONGLE_PRO,
// "New Configuration" );
mComboConfigurations.setModel( getModel() );
mComboConfigurations.setSelectedItem( config );
// mComboConfigurations.setSelectedItem( config );
repaint();
}
@@ -470,7 +470,7 @@ public class FCD1TunerConfigurationPanel extends JPanel
if( n == JOptionPane.YES_OPTION )
{
mSettingsManager.deleteTunerConfiguration( selected );
// mSettingsManager.deleteTunerConfiguration( selected );
mComboConfigurations.setModel( getModel() );
@@ -505,9 +505,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
mCorrectionGain.setValue( config.getGainCorrection() );
mCorrectionPhase.setValue( config.getPhaseCorrection() );
mSettingsManager.setSelectedTunerConfiguration(
TunerType.FUNCUBE_DONGLE_PRO,
mController.getUSBAddress(), config );
// mSettingsManager.setSelectedTunerConfiguration(
// TunerType.FUNCUBE_DONGLE_PRO,
// mController.getUSBAddress(), config );
}
catch ( SourceException e1 )
{
@@ -524,16 +524,16 @@ public class FCD1TunerConfigurationPanel extends JPanel
private ComboBoxModel<FCD1TunerConfiguration> getModel()
{
ArrayList<TunerConfiguration> configs =
mSettingsManager.getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO );
// ArrayList<TunerConfiguration> configs =
// mSettingsManager.getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO );
DefaultComboBoxModel<FCD1TunerConfiguration> model =
new DefaultComboBoxModel<FCD1TunerConfiguration>();
for( TunerConfiguration config: configs )
{
model.addElement( (FCD1TunerConfiguration)config );
}
// for( TunerConfiguration config: configs )
// {
// model.addElement( (FCD1TunerConfiguration)config );
// }
return model;
}
@@ -541,16 +541,16 @@ public class FCD1TunerConfigurationPanel extends JPanel
@SuppressWarnings( "unused" )
private FCD1TunerConfiguration getNamedConfiguration( String name )
{
ArrayList<TunerConfiguration> configs =
mSettingsManager.getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO );
// ArrayList<TunerConfiguration> configs =
// mSettingsManager.getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO );
for( TunerConfiguration config: configs )
{
if( config.getName().contentEquals( name ) )
{
return (FCD1TunerConfiguration)config;
}
}
// for( TunerConfiguration config: configs )
// {
// if( config.getName().contentEquals( name ) )
// {
// return (FCD1TunerConfiguration)config;
// }
// }
return null;
}

View File

@@ -32,8 +32,8 @@ import org.usb4java.DeviceDescriptor;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.TunerClass;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.fcd.FCDCommand;
import source.tuner.fcd.FCDTuner;
import source.tuner.fcd.FCDTunerController;

View File

@@ -19,8 +19,8 @@ package source.tuner.fcd.proplusV2;
import javax.xml.bind.annotation.XmlAttribute;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
public class FCD2TunerConfiguration extends TunerConfiguration
{

View File

@@ -48,9 +48,9 @@ import org.slf4j.LoggerFactory;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.TunerConfiguration;
import source.tuner.TunerConfigurationAssignment;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.configuration.TunerConfigurationAssignment;
public class FCD2TunerConfigurationPanel extends JPanel
{
@@ -218,26 +218,26 @@ public class FCD2TunerConfigurationPanel extends JPanel
* Lookup the save config and apply that config to update all of the
* controls
*/
TunerConfigurationAssignment savedConfig = mSettingsManager
.getSelectedTunerConfiguration(
TunerType.FUNCUBE_DONGLE_PRO_PLUS,
mController.getUSBAddress() );
if( savedConfig != null )
{
mSelectedConfig = getNamedConfiguration(
savedConfig.getTunerConfigurationName() );
}
// TunerConfigurationAssignment savedConfig = mSettingsManager
// .getSelectedTunerConfiguration(
// TunerType.FUNCUBE_DONGLE_PRO_PLUS,
// mController.getUSBAddress() );
//
// if( savedConfig != null )
// {
// mSelectedConfig = getNamedConfiguration(
// savedConfig.getTunerConfigurationName() );
// }
if( mSelectedConfig == null )
{
mSelectedConfig = mComboConfigurations.getItemAt( 0 );
//Store this config as the default for this tuner at this address
mSettingsManager
.setSelectedTunerConfiguration(
TunerType.FUNCUBE_DONGLE_PRO_PLUS,
mController.getUSBAddress(), mSelectedConfig );
// //Store this config as the default for this tuner at this address
// mSettingsManager
// .setSelectedTunerConfiguration(
// TunerType.FUNCUBE_DONGLE_PRO_PLUS,
// mController.getUSBAddress(), mSelectedConfig );
}
mComboConfigurations.setSelectedItem( mSelectedConfig );
@@ -252,15 +252,15 @@ public class FCD2TunerConfigurationPanel extends JPanel
@Override
public void actionPerformed( ActionEvent e )
{
TunerConfiguration config =
mSettingsManager
.addNewTunerConfiguration(
TunerType.FUNCUBE_DONGLE_PRO_PLUS,
"New Configuration" );
// TunerConfiguration config =
// mSettingsManager
// .addNewTunerConfiguration(
// TunerType.FUNCUBE_DONGLE_PRO_PLUS,
// "New Configuration" );
mComboConfigurations.setModel( getModel() );
mComboConfigurations.setSelectedItem( config );
// mComboConfigurations.setSelectedItem( config );
repaint();
}
@@ -293,8 +293,8 @@ public class FCD2TunerConfigurationPanel extends JPanel
if( n == JOptionPane.YES_OPTION )
{
mSettingsManager
.deleteTunerConfiguration( selected );
// mSettingsManager
// .deleteTunerConfiguration( selected );
mComboConfigurations.setModel( getModel() );
@@ -322,9 +322,9 @@ public class FCD2TunerConfigurationPanel extends JPanel
mMixerGain.setSelected( config.getGainMixer() );
mFrequencyCorrection.setValue( config.getFrequencyCorrection() );
mSettingsManager.setSelectedTunerConfiguration(
TunerType.FUNCUBE_DONGLE_PRO_PLUS,
mController.getUSBAddress(), config );
// mSettingsManager.setSelectedTunerConfiguration(
// TunerType.FUNCUBE_DONGLE_PRO_PLUS,
// mController.getUSBAddress(), config );
}
catch ( SourceException e1 )
{
@@ -341,34 +341,34 @@ public class FCD2TunerConfigurationPanel extends JPanel
private ComboBoxModel<FCD2TunerConfiguration> getModel()
{
ArrayList<TunerConfiguration> configs =
mSettingsManager
.getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO_PLUS );
// ArrayList<TunerConfiguration> configs =
// mSettingsManager
// .getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO_PLUS );
DefaultComboBoxModel<FCD2TunerConfiguration> model =
new DefaultComboBoxModel<FCD2TunerConfiguration>();
for( TunerConfiguration config: configs )
{
model.addElement( (FCD2TunerConfiguration)config );
}
// for( TunerConfiguration config: configs )
// {
// model.addElement( (FCD2TunerConfiguration)config );
// }
return model;
}
private FCD2TunerConfiguration getNamedConfiguration( String name )
{
ArrayList<TunerConfiguration> configs =
mSettingsManager
.getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO_PLUS );
// ArrayList<TunerConfiguration> configs =
// mSettingsManager
// .getTunerConfigurations( TunerType.FUNCUBE_DONGLE_PRO_PLUS );
for( TunerConfiguration config: configs )
{
if( config.getName().contentEquals( name ) )
{
return (FCD2TunerConfiguration)config;
}
}
// for( TunerConfiguration config: configs )
// {
// if( config.getName().contentEquals( name ) )
// {
// return (FCD2TunerConfiguration)config;
// }
// }
return null;
}

View File

@@ -30,8 +30,8 @@ import org.usb4java.DeviceDescriptor;
import settings.SettingsManager;
import source.SourceException;
import source.tuner.TunerClass;
import source.tuner.TunerConfiguration;
import source.tuner.TunerType;
import source.tuner.configuration.TunerConfiguration;
import source.tuner.fcd.FCDCommand;
import source.tuner.fcd.FCDTuner;
import source.tuner.fcd.FCDTunerController;