/*
* 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.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.event.DocumentEvent;
import org.oobd.base.*;
import org.oobd.base.visualizer.*;
import org.oobd.base.support.Onion;
/**
*
* @author steffen
*/
public class TextEditVisualizerJPanel extends VisualizerJPanel implements IFvisualizer {
private String regex;
/** Creates new form TextVisualizerJPanel */
public TextEditVisualizerJPanel() {
super();
initComponents();
valueTextEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String value = valueTextEdit.getText();
if (regex == null || (value != null && value.matches(regex))) {
getVisualizer().inputNewValue(valueTextEdit.getText());
getVisualizer().updateRequest(OOBDConstants.UR_USER);
}
}
});
valueTextEdit.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent keyEvent) {
}
@Override
public void keyReleased(KeyEvent keyEvent) {
String value = valueTextEdit.getText();
if (regex == null || (value != null && value.matches(regex))) {
valueTextEdit.setForeground(Color.black);
}else{
valueTextEdit.setForeground(Color.red);
} }
@Override
public void keyTyped(KeyEvent keyEvent) {
}
});
}
public void initValue(Visualizer viz, Onion onion) {
regex = onion.getOnionString("opts/regex");
this.value = viz;
}
@Override
public void paintComponent(Graphics g) {
if (value != null) {
functionName.setText("<html>" + value.getToolTip() + "</html>");
valueTextEdit.setText(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);
}
/* public static IFvisualizer getInstance(String pageID, String vizName) {
return new TextEditVisualizerJPanel();
}
*/
/** 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() {
valueTextEdit = new javax.swing.JTextField();
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));
setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.PAGE_AXIS));
valueTextEdit.setColumns(1);
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(org.oobd.ui.swing.desk.swing.class).getContext().getResourceMap(TextEditVisualizerJPanel.class);
valueTextEdit.setFont(resourceMap.getFont("valueTextEdit.font")); // NOI18N
valueTextEdit.setText(resourceMap.getString("valueTextEdit.text")); // NOI18N
valueTextEdit.setName("valueTextEdit"); // NOI18N
add(valueTextEdit);
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.JTextField valueTextEdit;
// End of variables declaration//GEN-END:variables
}