/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* SourceControlTransitions.java
*
* Created on 23-Apr-2012, 11:28:40 AM
*/
package webcamstudio.components;
import webcamstudio.streams.SourceChannel;
import webcamstudio.streams.Stream;
/**
*
* @author patrick
*/
public class SourceControlChannels extends javax.swing.JPanel {
Stream source = null;
/** Creates new form SourceControlTransitions
* @param source */
@SuppressWarnings("unchecked")
public SourceControlChannels(Stream source) {
initComponents();
this.source=source;
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
btnApplyAllCh = new javax.swing.JButton();
btnApplyAllChSet = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
btnApplyAllChPos = new javax.swing.JButton();
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("webcamstudio/Languages"); // NOI18N
setName(bundle.getString("CHANNELS_CTRL")); // NOI18N
setPreferredSize(new java.awt.Dimension(400, 112));
setLayout(new java.awt.CardLayout());
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jPanel1.setName("jPanel1"); // NOI18N
btnApplyAllCh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/webcamstudio/resources/tango/chan-app4.png"))); // NOI18N
btnApplyAllCh.setText("Copy State & Settings");
btnApplyAllCh.setToolTipText("Apply Current Stream Playing State , Settings & Content to all Channels.");
btnApplyAllCh.setName("btnApplyAllCh"); // NOI18N
btnApplyAllCh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnApplyAllChActionPerformed(evt);
}
});
btnApplyAllChSet.setIcon(new javax.swing.ImageIcon(getClass().getResource("/webcamstudio/resources/tango/chan-app3.png"))); // NOI18N
btnApplyAllChSet.setText("Copy Only Settings");
btnApplyAllChSet.setToolTipText("Apply Current Stream Settings & Content except the Playing State to all Channels.");
btnApplyAllChSet.setName("btnApplyAllChSet"); // NOI18N
btnApplyAllChSet.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnApplyAllChSetActionPerformed(evt);
}
});
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Copy Current Stream Settings in All Channels");
jLabel1.setName("jLabel1"); // NOI18N
btnApplyAllChPos.setIcon(new javax.swing.ImageIcon(getClass().getResource("/webcamstudio/resources/tango/chan-app5.png"))); // NOI18N
btnApplyAllChPos.setText("Copy Only Style & Position");
btnApplyAllChPos.setToolTipText("Apply Current Stream Settings except the Text Content & Playing State to all Channels.");
btnApplyAllChPos.setName("btnApplyAllChPos"); // NOI18N
btnApplyAllChPos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnApplyAllChPosActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnApplyAllCh, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnApplyAllChSet, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(btnApplyAllChPos, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnApplyAllCh, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnApplyAllChSet, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnApplyAllChPos, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
add(jPanel1, "card2");
}// </editor-fold>//GEN-END:initComponents
private void btnApplyAllChActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnApplyAllChActionPerformed
SourceChannel sch = null;
for (int i=0; i < source.getChannels().size(); i++){
String scName = source.getChannels().get(i).getName();
sch=SourceChannel.getChannel(scName, source);
source.removeChannelAt(i);
source.addChannelAt(sch,i);
}
ResourceMonitorLabel label = new ResourceMonitorLabel(System.currentTimeMillis()+10000, source.getName() + " Playing State, Settings & Content Applied to all Channels.");
ResourceMonitor.getInstance().addMessage(label);
}//GEN-LAST:event_btnApplyAllChActionPerformed
private void btnApplyAllChSetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnApplyAllChSetActionPerformed
SourceChannel sch = null;
String selChName = ChannelPanel.getSelectedChannel();
for (int i=0; i < source.getChannels().size(); i++){
String scName = source.getChannels().get(i).getName();
boolean isPlay = source.getChannels().get(i).getIsPlaying();
if (!selChName.equals(scName)) {
sch=SourceChannel.getChannelIgnorePlay(scName, source);
sch.setIsPlaying(isPlay);
source.removeChannelAt(i);
source.addChannelAt(sch,i);
}
}
ResourceMonitorLabel label = new ResourceMonitorLabel(System.currentTimeMillis()+10000, source.getName() + " only Settings & Content Applied to all Channels.");
ResourceMonitor.getInstance().addMessage(label);
}//GEN-LAST:event_btnApplyAllChSetActionPerformed
private void btnApplyAllChPosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnApplyAllChPosActionPerformed
SourceChannel sch = null;
for (int i=0; i < source.getChannels().size(); i++){
String scName = source.getChannels().get(i).getName();
int oTime = source.getChannels().get(i).getDuration();
String oCont = source.getChannels().get(i).getText();
boolean isPlay = source.getChannels().get(i).getIsPlaying();
sch=SourceChannel.getChannelIgnoreContent(scName, source);
sch.setText(oCont);
sch.setDuration(oTime);
sch.setIsPlaying(isPlay);
source.removeChannelAt(i);
source.addChannelAt(sch,i);
}
ResourceMonitorLabel label = new ResourceMonitorLabel(System.currentTimeMillis()+10000, source.getName() + " only Settings Applied to all Channels.");
ResourceMonitor.getInstance().addMessage(label);
}//GEN-LAST:event_btnApplyAllChPosActionPerformed
@SuppressWarnings("deprecation")
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnApplyAllCh;
private javax.swing.JButton btnApplyAllChPos;
private javax.swing.JButton btnApplyAllChSet;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
// End of variables declaration//GEN-END:variables
}