/* * 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 java.util.ArrayList; import javax.swing.DefaultListModel; import webcamstudio.channels.MasterChannels; import webcamstudio.channels.transitions.Transition; import webcamstudio.streams.SourceChannel; import webcamstudio.streams.Stream; /** * * @author patrick (modified by karl) */ public class SourceControlTransitions extends javax.swing.JPanel { Stream source = null; ArrayList<Stream> streamS = MasterChannels.getInstance().getStreams(); /** Creates new form SourceControlTransitions * @param source */ @SuppressWarnings("unchecked") public SourceControlTransitions(Stream source) { initComponents(); this.source=source; DefaultListModel start = new DefaultListModel(); for (String s : Transition.getStartTransitions()){ start.addElement(s); } DefaultListModel end = new DefaultListModel(); for (String s : Transition.getEndTransitions()){ end.addElement(s); } lstStartTransitions.setModel(start); lstEndTransitions.setModel(end); for (Transition t : source.getStartTransitions()){ lstStartTransitions.setSelectedValue(t.getClass().getSimpleName(), true); } for (Transition t : source.getEndTransitions()){ lstEndTransitions.setSelectedValue(t.getClass().getSimpleName(), true); } } /** 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() { jScrollPane1 = new javax.swing.JScrollPane(); lstStartTransitions = new javax.swing.JList(); jPanel1 = new javax.swing.JPanel(); filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); btnApplyTransToAll = new javax.swing.JButton(); btnResetTrans = new javax.swing.JButton(); filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); jScrollPane2 = new javax.swing.JScrollPane(); lstEndTransitions = new javax.swing.JList(); java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("webcamstudio/Languages"); // NOI18N setName(bundle.getString("TRANSITIONS")); // NOI18N setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.LINE_AXIS)); jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("STARTING"))); // NOI18N jScrollPane1.setName("jScrollPane1"); // NOI18N lstStartTransitions.setModel(new javax.swing.AbstractListModel() { String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); lstStartTransitions.setName("lstStartTransitions"); // NOI18N lstStartTransitions.addListSelectionListener(new javax.swing.event.ListSelectionListener() { public void valueChanged(javax.swing.event.ListSelectionEvent evt) { lstStartTransitionsValueChanged(evt); } }); jScrollPane1.setViewportView(lstStartTransitions); add(jScrollPane1); jScrollPane1.getAccessibleContext().setAccessibleName(bundle.getString("STARTING")); // NOI18N jPanel1.setMinimumSize(new java.awt.Dimension(28, 28)); jPanel1.setName("jPanel1"); // NOI18N jPanel1.setPreferredSize(new java.awt.Dimension(28, 28)); jPanel1.setLayout(new java.awt.GridLayout(4, 0)); filler1.setName("filler1"); // NOI18N jPanel1.add(filler1); btnApplyTransToAll.setIcon(new javax.swing.ImageIcon(getClass().getResource("/webcamstudio/resources/tango/view-refresh.png"))); // NOI18N btnApplyTransToAll.setToolTipText("Apply Selected Transition To all Channels"); btnApplyTransToAll.setMaximumSize(new java.awt.Dimension(28, 28)); btnApplyTransToAll.setMinimumSize(new java.awt.Dimension(28, 28)); btnApplyTransToAll.setName("btnApplyTransToAll"); // NOI18N btnApplyTransToAll.setPreferredSize(new java.awt.Dimension(28, 28)); btnApplyTransToAll.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnApplyTransToAllActionPerformed(evt); } }); jPanel1.add(btnApplyTransToAll); btnResetTrans.setIcon(new javax.swing.ImageIcon(getClass().getResource("/webcamstudio/resources/tango/button-small-clear.png"))); // NOI18N btnResetTrans.setToolTipText("Clear Selections"); btnResetTrans.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnResetTrans.setMaximumSize(new java.awt.Dimension(28, 28)); btnResetTrans.setMinimumSize(new java.awt.Dimension(28, 28)); btnResetTrans.setName("btnResetTrans"); // NOI18N btnResetTrans.setPreferredSize(new java.awt.Dimension(28, 28)); btnResetTrans.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnResetTransActionPerformed(evt); } }); jPanel1.add(btnResetTrans); filler3.setName("filler3"); // NOI18N jPanel1.add(filler3); add(jPanel1); jScrollPane2.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ENDING"))); // NOI18N jScrollPane2.setName("jScrollPane2"); // NOI18N lstEndTransitions.setModel(new javax.swing.AbstractListModel() { String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); lstEndTransitions.setName("lstEndTransitions"); // NOI18N lstEndTransitions.addListSelectionListener(new javax.swing.event.ListSelectionListener() { public void valueChanged(javax.swing.event.ListSelectionEvent evt) { lstEndTransitionsValueChanged(evt); } }); jScrollPane2.setViewportView(lstEndTransitions); add(jScrollPane2); jScrollPane2.getAccessibleContext().setAccessibleName(bundle.getString("ENDING")); // NOI18N }// </editor-fold>//GEN-END:initComponents @SuppressWarnings("deprecation") private void lstStartTransitionsValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstStartTransitionsValueChanged Object[] list = lstStartTransitions.getSelectedValues(); source.getStartTransitions().clear(); for (Object t : list){ source.addStartTransition(Transition.getInstance(source, t.toString())); } }//GEN-LAST:event_lstStartTransitionsValueChanged @SuppressWarnings("deprecation") private void lstEndTransitionsValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstEndTransitionsValueChanged Object[] list = lstEndTransitions.getSelectedValues(); source.getEndTransitions().clear(); for (Object t : list){ source.addEndTransition(Transition.getInstance(source, t.toString())); } }//GEN-LAST:event_lstEndTransitionsValueChanged private void btnResetTransActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnResetTransActionPerformed source.getStartTransitions().clear(); source.getEndTransitions().clear(); lstEndTransitions.clearSelection(); lstStartTransitions.clearSelection(); }//GEN-LAST:event_btnResetTransActionPerformed @SuppressWarnings("deprecation") private void btnApplyTransToAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnApplyTransToAllActionPerformed for (Stream s : streamS){ Object[] sList = lstStartTransitions.getSelectedValues(); s.getStartTransitions().clear(); for (SourceChannel sc : s.getChannels()){ sc.startTransitions.clear(); } for (Object t : sList){ Transition sT = Transition.getInstance(s, t.toString()); s.addStartTransition(sT); for (SourceChannel sc : s.getChannels()){ sc.startTransitions.add(sT); } } Object[] eList = lstEndTransitions.getSelectedValues(); s.getEndTransitions().clear(); for (SourceChannel sc : s.getChannels()){ sc.endTransitions.clear(); } for (Object t : eList){ Transition eT = Transition.getInstance(s, t.toString()); s.addEndTransition(eT); for (SourceChannel sc : s.getChannels()){ sc.endTransitions.add(eT); } } } ResourceMonitorLabel label = new ResourceMonitorLabel(System.currentTimeMillis()+10000, "Selected Transitions Applied to All Channels"); ResourceMonitor.getInstance().addMessage(label); }//GEN-LAST:event_btnApplyTransToAllActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnApplyTransToAll; private javax.swing.JButton btnResetTrans; private javax.swing.Box.Filler filler1; private javax.swing.Box.Filler filler3; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JList lstEndTransitions; private javax.swing.JList lstStartTransitions; // End of variables declaration//GEN-END:variables }