From ec10bb7e625a0063a6b8ef0e895ae3f723199b66 Mon Sep 17 00:00:00 2001 From: denny Date: Wed, 13 Jan 2016 08:59:34 -0500 Subject: [PATCH] Work in progress. --- src/controller/channel/ChannelEditor.java | 35 +++++++++++++------ .../channel/ChannelProcessingManager.java | 8 ++--- src/playlist/PlaylistEditor.java | 1 + 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/controller/channel/ChannelEditor.java b/src/controller/channel/ChannelEditor.java index 99387271..6df2eb4e 100644 --- a/src/controller/channel/ChannelEditor.java +++ b/src/controller/channel/ChannelEditor.java @@ -30,6 +30,7 @@ import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JSeparator; import javax.swing.JTextField; import module.decode.AuxDecodeComponentEditor; @@ -66,7 +67,8 @@ public class ChannelEditor extends JPanel private Channel mChannel; - private JCheckBox mChannelEnabled = new JCheckBox(); + private JButton mEnableButton = new JButton( "Enable" ); + private JLabel mChannelName = new JLabel( "Channel:" ); private ChannelModel mChannelModel; private PlaylistManager mPlaylistManager; @@ -101,6 +103,22 @@ public class ChannelEditor extends JPanel mEventLogEditor.setConfiguration( channel ); mRecordEditor.setConfiguration( channel ); + if( channel != null ) + { + mChannelName.setText( "Channel: " + channel.getName() ); + mEnableButton.setText( channel.getEnabled() ? "Disable" : "Enable" ); + mEnableButton.setEnabled( true ); + mEnableButton.setBackground( channel.getEnabled() ? Color.RED : Color.GREEN ); + } + else + { + mChannelName.setText( "Channel: " ); + mEnableButton.setText( "Enable" ); + mEnableButton.setEnabled( false ); + mEnableButton.setBackground( getBackground() ); + } + + mChannel = channel; } @@ -108,12 +126,11 @@ public class ChannelEditor extends JPanel { setLayout( new MigLayout( "fill,wrap 2", "[right,grow][grow]", "[][][][][grow][]" ) ); - add( new JLabel( "Channel Configuration" ), "span, align center" ); - - add( new JLabel( "Enabled:" ), "wrap" ); - - add( mNameConfigurationEditor, "growx" ); + mEnableButton.setEnabled( false ); + add( mEnableButton, "growx,push" ); + add( mChannelName, "growx,push" ); + add( new JSeparator( JSeparator.HORIZONTAL ), "span,growx,push" ); JideTabbedPane tabs = new JideTabbedPane(); tabs.setFont( this.getFont() ); tabs.setForeground( Color.BLACK ); @@ -149,11 +166,7 @@ public class ChannelEditor extends JPanel @Override public void channelChanged( ChannelEvent event ) { - if( !EventQueue.isDispatchThread() ) - { - mLog.debug( "Not on the swing thread!!!!" ); - } - + mLog.debug( "Received channel event: " + event.getEvent() ); if( mChannel != null && mChannel == event.getChannel() ) { switch( event.getEvent() ) diff --git a/src/controller/channel/ChannelProcessingManager.java b/src/controller/channel/ChannelProcessingManager.java index 7c367040..5d589766 100644 --- a/src/controller/channel/ChannelProcessingManager.java +++ b/src/controller/channel/ChannelProcessingManager.java @@ -263,14 +263,16 @@ public class ChannelProcessingManager implements ChannelEventListener private void stopProcessing( Channel channel, boolean remove ) { + channel.setEnabled( false ); + if( mProcessingChains.containsKey( channel.getChannelID() ) ) { ProcessingChain chain = mProcessingChains.get( channel.getChannelID() ); chain.stop(); - mChannelModel.broadcast( - new ChannelEvent( channel, Event.NOTIFICATION_PROCESSING_STOP ) ); + mChannelModel.broadcast( new ChannelEvent( channel, + Event.NOTIFICATION_PROCESSING_STOP ) ); if( remove ) { @@ -279,8 +281,6 @@ public class ChannelProcessingManager implements ChannelEventListener chain.dispose(); } } - - channel.setEnabled( false ); } /** diff --git a/src/playlist/PlaylistEditor.java b/src/playlist/PlaylistEditor.java index e1a69901..d94a9c6f 100644 --- a/src/playlist/PlaylistEditor.java +++ b/src/playlist/PlaylistEditor.java @@ -38,6 +38,7 @@ public class PlaylistEditor extends JPanel implements ListSelectionListener mChannelModel = channelModel; mEditor = new ChannelEditor( channelModel, playlistManager, sourceManager ); + mChannelModel.addListener( mEditor ); init(); }