/*
* Copyright (C) 2012 Gyver
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* MasterPanel.java
*
* Created on 17.01.2012, 10:00:05
*/
package com.gyver.matrixmover.gui;
import com.gyver.matrixmover.gui.listener.MasterPanelListener;
import javax.swing.ButtonGroup;
import javax.swing.JSlider;
import javax.swing.JToggleButton;
/**
*
* @author Gyver
*/
public class MasterPanel extends javax.swing.JPanel {
private MasterPanelListener mpListener = null;
private ButtonGroup tbGroup = null;
/** Creates new form MasterPanel */
public MasterPanel() {
initComponents();
mpListener = new MasterPanelListener(this);
sFadePosition.addChangeListener(mpListener);
tbGroup = new ButtonGroup();
tbGroup.add(tbBlack);
tbGroup.add(tbWhite);
tbGroup.add(tbCross);
tbGroup.add(tbLinear);
tbBlack.addActionListener(mpListener);
tbWhite.addActionListener(mpListener);
tbCross.addActionListener(mpListener);
tbLinear.addActionListener(mpListener);
bFade.addActionListener(mpListener);
bAuto.addActionListener(mpListener);
}
public JSlider getCrossfaderSlider(){
return sFadePosition;
}
// public LedScreen getLedScreen(){
// return ledScreen1;
// }
public void setSelectedButton(JToggleButton button){
tbGroup.setSelected(button.getModel(), 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() {
java.awt.GridBagConstraints gridBagConstraints;
sFadePosition = new javax.swing.JSlider();
jPanel1 = new javax.swing.JPanel();
tbLinear = new javax.swing.JToggleButton();
tbCross = new javax.swing.JToggleButton();
tbWhite = new javax.swing.JToggleButton();
tbBlack = new javax.swing.JToggleButton();
jLabel1 = new javax.swing.JLabel();
tfFadeTime = new javax.swing.JTextField();
bFade = new javax.swing.JButton();
bAuto = new javax.swing.JButton();
setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(102, 102, 102)), "Crossfader"));
setMaximumSize(new java.awt.Dimension(276, 224));
setMinimumSize(new java.awt.Dimension(276, 224));
setLayout(new java.awt.GridBagLayout());
sFadePosition.setMajorTickSpacing(1000);
sFadePosition.setMaximum(1000);
sFadePosition.setMinorTickSpacing(250);
sFadePosition.setPaintTicks(true);
sFadePosition.setValue(0);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
add(sFadePosition, gridBagConstraints);
jPanel1.setLayout(new java.awt.GridBagLayout());
tbLinear.setText("Linear");
tbLinear.setMargin(new java.awt.Insets(0, -2, 0, -2));
tbLinear.setMaximumSize(new java.awt.Dimension(55, 30));
tbLinear.setMinimumSize(new java.awt.Dimension(55, 30));
tbLinear.setPreferredSize(new java.awt.Dimension(55, 30));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.weightx = 0.1;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
jPanel1.add(tbLinear, gridBagConstraints);
tbCross.setText("Cross");
tbCross.setMargin(new java.awt.Insets(0, -2, 0, -2));
tbCross.setMaximumSize(new java.awt.Dimension(55, 30));
tbCross.setMinimumSize(new java.awt.Dimension(55, 30));
tbCross.setPreferredSize(new java.awt.Dimension(55, 30));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 0.1;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
jPanel1.add(tbCross, gridBagConstraints);
tbWhite.setText("White");
tbWhite.setMargin(new java.awt.Insets(0, -2, 0, -2));
tbWhite.setMaximumSize(new java.awt.Dimension(55, 30));
tbWhite.setMinimumSize(new java.awt.Dimension(55, 30));
tbWhite.setPreferredSize(new java.awt.Dimension(55, 30));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 0.1;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
jPanel1.add(tbWhite, gridBagConstraints);
tbBlack.setText("Black");
tbBlack.setMargin(new java.awt.Insets(0, -2, 0, -2));
tbBlack.setMaximumSize(new java.awt.Dimension(55, 30));
tbBlack.setMinimumSize(new java.awt.Dimension(55, 30));
tbBlack.setPreferredSize(new java.awt.Dimension(55, 30));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 0.1;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
jPanel1.add(tbBlack, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.PAGE_START;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0);
add(jPanel1, gridBagConstraints);
jLabel1.setText("Time (ms)");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.FIRST_LINE_START;
gridBagConstraints.weighty = 0.1;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 5);
add(jLabel1, gridBagConstraints);
tfFadeTime.setText("1000");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.FIRST_LINE_START;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 0);
add(tfFadeTime, gridBagConstraints);
bFade.setText("Fade");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
gridBagConstraints.insets = new java.awt.Insets(2, 5, 6, 0);
add(bFade, gridBagConstraints);
bAuto.setText("Auto");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
gridBagConstraints.insets = new java.awt.Insets(2, 5, 5, 5);
add(bAuto, gridBagConstraints);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton bAuto;
private javax.swing.JButton bFade;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JSlider sFadePosition;
private javax.swing.JToggleButton tbBlack;
private javax.swing.JToggleButton tbCross;
private javax.swing.JToggleButton tbLinear;
private javax.swing.JToggleButton tbWhite;
private javax.swing.JTextField tfFadeTime;
// End of variables declaration//GEN-END:variables
// public void recomputeLedPixelSize() {
// ledScreen1.recomputePixelSize();
// ledScreen1.repaint();
// }
/**
* @return the tbBlack
*/
public javax.swing.JToggleButton getTbBlack() {
return tbBlack;
}
/**
* @return the tbCross
*/
public javax.swing.JToggleButton getTbCross() {
return tbCross;
}
/**
* @return the tbLinear
*/
public javax.swing.JToggleButton getTbLinear() {
return tbLinear;
}
/**
* @return the tbWhite
*/
public javax.swing.JToggleButton getTbWhite() {
return tbWhite;
}
/**
* @return the bFade
*/
public javax.swing.JButton getbFade() {
return bFade;
}
/**
* @return the bAuto
*/
public javax.swing.JButton getbAuto() {
return bAuto;
}
/**
* @return the tfFadeTime
*/
public javax.swing.JTextField getTfFadeTime() {
return tfFadeTime;
}
/**
* @return the slider
*/
public javax.swing.JSlider getSFadePosition() {
return sFadePosition;
}
}