/* ********************************************************************** * * Use, duplication, or disclosure by the Government is subject to * restricted rights as set forth in the DFARS. * * BBNT Solutions LLC * A Part of * Verizon * 10 Moulton Street * Cambridge, MA 02138 * (617) 873-3000 * * Copyright (C) 2002 by BBNT Solutions, LLC * All Rights Reserved. * ********************************************************************** */ package com.bbn.openmap.tools.beanbox; import java.awt.Canvas; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.beans.PropertyEditor; import javax.swing.JDialog; /** * Provides support to the GenericPropertySheet for displaying a * custom PropertyEditor. */ public class PropertyCanvas extends Canvas implements MouseListener { public PropertyCanvas(JDialog frame, PropertyEditor pe) { this.frame = frame; editor = pe; addMouseListener(this); } public void paint(Graphics g) { Rectangle box = new Rectangle(2, 2, getSize().width - 4, getSize().height - 4); editor.paintValue(g, box); } private boolean ignoreClick = false; public void mouseClicked(MouseEvent evt) { if (!ignoreClick) { try { ignoreClick = true; int x = frame.getLocation().x - 30; int y = frame.getLocation().y + 50; new PropertyDialog(frame, editor, x, y); } finally { ignoreClick = false; } } } public void mousePressed(MouseEvent evt) {} public void mouseReleased(MouseEvent evt) {} public void mouseEntered(MouseEvent evt) {} public void mouseExited(MouseEvent evt) {} private JDialog frame; private PropertyEditor editor; }