/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* TextVisualizerJPanel.java
*
* Created on 22.09.2012, 17:28:38
*/
package org.oobd.ui.swing.desk;
import java.awt.Graphics;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.oobd.base.*;
import org.oobd.base.support.OnionNoEntryException;
import org.oobd.base.visualizer.*;
import org.oobd.base.support.Onion;
/**
*
* @author steffen
*/
public class SliderVisualizerJPanel extends VisualizerJPanel implements IFvisualizer, ChangeListener {
/** Creates new form TextVisualizerJPanel */
public SliderVisualizerJPanel() {
super();
initComponents();
valueSlider.addChangeListener(this);
}
@Override
public void paintComponent(Graphics g) {
if (value != null) {
functionName.setText("<html>" + value.getToolTip() + "</html>");
if (!valueSlider.getValueIsAdjusting()) {
valueSlider.setValue(safeInt(value.toString()));
}
}
if (value.getUpdateFlag(4)) {
backImageLabel.setIcon(myIcons[OOBDConstants.VE_BACK + 1]);
} else {
backImageLabel.setIcon(myIcons[0]);
}
if (value.getUpdateFlag(1)) {
updateImageLabel.setIcon(myIcons[OOBDConstants.VE_UPDATE + 1]);
} else {
updateImageLabel.setIcon(myIcons[0]);
}
if (value.getUpdateFlag(2)) {
timerImageLabel.setIcon(myIcons[OOBDConstants.VE_TIMER + 1]);
} else {
timerImageLabel.setIcon(myIcons[0]);
}
if (value.getUpdateFlag(3)) {
logImageLabel.setIcon(myIcons[OOBDConstants.VE_LOG + 1]);
} else {
logImageLabel.setIcon(myIcons[0]);
}
if (value.getUpdateFlag(0)) {
forwardImageLabel.setIcon(myIcons[OOBDConstants.VE_MENU + 1]);
} else {
forwardImageLabel.setIcon(myIcons[0]);
}
super.paintComponent(g);
}
/** 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() {
valueSlider = new javax.swing.JSlider();
jPanel1 = new javax.swing.JPanel();
functionName = new javax.swing.JLabel();
filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
backImageLabel = new javax.swing.JLabel();
updateImageLabel = new javax.swing.JLabel();
timerImageLabel = new javax.swing.JLabel();
logImageLabel = new javax.swing.JLabel();
forwardImageLabel = new javax.swing.JLabel();
filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 32767));
filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
setName("Form"); // NOI18N
setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.PAGE_AXIS));
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(org.oobd.ui.swing.desk.swing.class).getContext().getResourceMap(SliderVisualizerJPanel.class);
valueSlider.setFont(resourceMap.getFont("valueSlider.font")); // NOI18N
valueSlider.setName("valueSlider"); // NOI18N
add(valueSlider);
jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jPanel1.setMinimumSize(new java.awt.Dimension(14, 20));
jPanel1.setName("jPanel1"); // NOI18N
jPanel1.setPreferredSize(new java.awt.Dimension(14, 20));
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.LINE_AXIS));
functionName.setFont(resourceMap.getFont("titleLable.font")); // NOI18N
functionName.setForeground(resourceMap.getColor("titleLable.foreground")); // NOI18N
functionName.setText(resourceMap.getString("titleLable.text")); // NOI18N
functionName.setName("titleLable"); // NOI18N
jPanel1.add(functionName);
filler1.setName("filler1"); // NOI18N
jPanel1.add(filler1);
backImageLabel.setIcon(resourceMap.getIcon("backImageLabel.icon")); // NOI18N
backImageLabel.setName("backImageLabel"); // NOI18N
jPanel1.add(backImageLabel);
updateImageLabel.setName("updateImageLabel"); // NOI18N
jPanel1.add(updateImageLabel);
timerImageLabel.setName("timerImageLabel"); // NOI18N
jPanel1.add(timerImageLabel);
logImageLabel.setName("logImageLabel"); // NOI18N
jPanel1.add(logImageLabel);
forwardImageLabel.setName("forwardImageLabel"); // NOI18N
jPanel1.add(forwardImageLabel);
filler2.setName("filler2"); // NOI18N
jPanel1.add(filler2);
add(jPanel1);
filler3.setName("filler3"); // NOI18N
add(filler3);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel backImageLabel;
private javax.swing.Box.Filler filler1;
private javax.swing.Box.Filler filler2;
private javax.swing.Box.Filler filler3;
private javax.swing.JLabel forwardImageLabel;
private javax.swing.JLabel functionName;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel logImageLabel;
private javax.swing.JLabel timerImageLabel;
private javax.swing.JLabel updateImageLabel;
private javax.swing.JSlider valueSlider;
// End of variables declaration//GEN-END:variables
public void initValue(Visualizer viz, Onion onion) {
functionName.setText(onion.getOnionString("tooltip"));
try {
valueSlider.setMaximum(safeInt(onion.getOnionObject("opts/max")));
} catch (OnionNoEntryException ex) {
valueSlider.setMaximum(0);
}
try {
valueSlider.setMinimum(safeInt(onion.getOnionObject("opts/min")));
} catch (OnionNoEntryException ex) {
valueSlider.setMinimum(0);
}
this.value = viz;
}
@Override
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider) e.getSource();
if (!source.getValueIsAdjusting()) {
int fps = (int) source.getValue();
getVisualizer().inputNewValue(new Integer(fps).toString());
getVisualizer().updateRequest(OOBDConstants.UR_USER);
}
}
}