1 23 package info.monitorenter.gui.chart.events; 24 25 import info.monitorenter.gui.chart.ITrace2D; 26 import info.monitorenter.gui.chart.ITracePainter; 27 import info.monitorenter.gui.chart.layout.LayoutFactory.PropertyChangeCheckBoxMenuItem; 28 29 import java.awt.event.ActionEvent ; 30 import java.beans.PropertyChangeEvent ; 31 32 import javax.swing.JCheckBoxMenuItem ; 33 34 49 public final class Trace2DActionAddRemoveTracePainter extends ATrace2DAction { 50 51 54 private static final long serialVersionUID = 3978986583057707570L; 55 56 59 private ITracePainter m_tracePainter; 60 61 78 public Trace2DActionAddRemoveTracePainter(final ITrace2D trace, final String description, 79 final ITracePainter painter) { 80 super(trace, description); 81 this.m_tracePainter = painter; 82 trace.addPropertyChangeListener(ITrace2D.PROPERTY_PAINTERS, this); 83 } 84 85 88 public void actionPerformed(final ActionEvent e) { 89 JCheckBoxMenuItem item = (JCheckBoxMenuItem ) e.getSource(); 90 boolean state = item.getState(); 91 if (state) { 92 this.m_trace.addTracePainter(this.m_tracePainter); 93 } else { 94 boolean success = this.m_trace.removeTracePainter(this.m_tracePainter); 95 if (success) { 96 } else { 98 item.setState(true); 102 item.invalidate(); 103 item.repaint(); 104 } 105 } 106 } 107 108 111 public void propertyChange(final PropertyChangeEvent evt) { 112 String property = evt.getPropertyName(); 113 if (property.equals(ITrace2D.PROPERTY_PAINTERS)) { 114 ITracePainter oldValue = (ITracePainter) evt.getOldValue(); 115 ITracePainter newValue = (ITracePainter) evt.getNewValue(); 116 if (oldValue == null) { 118 if (newValue.getClass() == this.m_tracePainter.getClass()) { 120 this.firePropertyChange(PropertyChangeCheckBoxMenuItem.PROPERTY_SELECTED, new Boolean ( 121 false), new Boolean (true)); 122 } 123 } else { 124 if (oldValue.getClass() == this.m_tracePainter.getClass()) { 126 this.firePropertyChange(PropertyChangeCheckBoxMenuItem.PROPERTY_SELECTED, new Boolean ( 127 true), new Boolean (false)); 128 } 129 } 130 } 131 } 132 } 133 | Popular Tags |