/* VisualReferenceDraggedChannel.java created 2007-12-02 * */ package org.signalml.app.view.montage.visualreference; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JComponent; /** VisualReferenceDraggedChannel * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class VisualReferenceDraggedChannel extends JComponent { private static final long serialVersionUID = 1L; private static final Dimension PREFERRED_SIZE = new Dimension(VisualReferenceSourceChannel.CIRCLE_DIAMETER, VisualReferenceSourceChannel.CIRCLE_DIAMETER); private VisualReferenceEditor editor; private VisualReferenceSourceChannel channel; public VisualReferenceDraggedChannel(VisualReferenceEditor editor) { super(); this.editor = editor; } @Override public boolean isOpaque() { return false; } @Override public Dimension getPreferredSize() { return PREFERRED_SIZE; } @Override public Dimension getMinimumSize() { return PREFERRED_SIZE; } @Override public Dimension getMaximumSize() { return PREFERRED_SIZE; } @Override protected void paintComponent(Graphics gOrig) { if (channel == null) { return; } Graphics2D g = (Graphics2D) gOrig; g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); editor.paintChannel(channel.getLabel(), 0, channel.getShape(), channel.getOutlineShape(), true, false, g); } public VisualReferenceSourceChannel getChannel() { return channel; } public void setChannel(VisualReferenceSourceChannel channel) { if (channel != null) { this.channel = new VisualReferenceSourceChannel(channel.getSourceChannel()); } else { channel = null; } } public VisualReferenceEditor getEditor() { return editor; } }