Closes Issue #33.

Adds Spectral/Waterfall display zoom feature with mouse dragging and
zoom window indicator.

Resolves issues with correct display and spacing of frequency labels and
tick lines display in the overlay panel.
This commit is contained in:
denny
2015-11-13 06:16:05 -05:00
parent 7455077cfa
commit e27ca12ec8
11 changed files with 703 additions and 488 deletions

View File

@@ -33,7 +33,7 @@ import settings.ColorSetting;
import settings.ColorSetting.ColorSettingName;
import settings.Setting;
import settings.SettingChangeListener;
import controller.ResourceManager;
import settings.SettingsManager;
public class ChannelOverlayPanel extends JPanel implements SettingChangeListener
{
@@ -56,16 +56,21 @@ public class ChannelOverlayPanel extends JPanel implements SettingChangeListener
//the frequency labels
private float mSpectrumInset = 20.0f;
private ResourceManager mResourceManager;
private SettingsManager mSettingsManager;
/**
* Translucent overlay panel for displaying channel configurations,
* processing channels, selected channels, frequency labels and lines, and
* a cursor with a frequency readout.
*/
public ChannelOverlayPanel( ResourceManager resourceManager )
public ChannelOverlayPanel( SettingsManager settingsManager )
{
mResourceManager = resourceManager;
mSettingsManager = settingsManager;
if( mSettingsManager != null )
{
mSettingsManager.addListener( this );
}
//Set the background transparent, so the spectrum display can be seen
setOpaque( false );
@@ -76,7 +81,12 @@ public class ChannelOverlayPanel extends JPanel implements SettingChangeListener
public void dispose()
{
mResourceManager = null;
if( mSettingsManager != null )
{
mSettingsManager.removeListener( this );
}
mSettingsManager = null;
}
public void setCursorLocation( Point point )
@@ -112,9 +122,7 @@ public class ChannelOverlayPanel extends JPanel implements SettingChangeListener
*/
private Color getColor( ColorSettingName name )
{
ColorSetting setting =
mResourceManager.getSettingsManager()
.getColorSetting( name );
ColorSetting setting = mSettingsManager.getColorSetting( name );
return setting.getColor();
}