/* * Copyright 2004-2010 Information & Software Engineering Group (188/1) * Institute of Software Technology and Interactive Systems * Vienna University of Technology, Austria * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.ifs.tuwien.ac.at/dm/somtoolbox/license.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package at.tuwien.ifs.somtoolbox.apps.viewer; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; import edu.umd.cs.piccolo.nodes.PText; import edu.umd.cs.piccolo.util.PPaintContext; /** * Displays a tool-tip window displayed on mouse-over events in the {@link SOMPane}. This class makes use of the <a * href="http://www.cs.umd.edu/hcil/jazz/" target="_blank">Piccolo framework</a>. * * @author Michael Dittenbach * @version $Id: ToolTipPNode.java 3358 2010-02-11 14:35:07Z mayer $ */ public class ToolTipPNode extends PText { private static final long serialVersionUID = 1L; private Rectangle2D border = new Rectangle2D.Double(); private final Color backgroundColor = Color.decode("#feffb9"); private final Color borderColor = Color.decode("#fcff00"); private final int fontSize = 10; public ToolTipPNode() { super(); setFont(new Font("Sans", Font.PLAIN, fontSize)); } public ToolTipPNode(String aText) { super(aText); setFont(new Font("Sans", Font.PLAIN, fontSize)); } @Override protected void paint(PPaintContext paintContext) { Graphics2D g2d = paintContext.getGraphics(); // super.paint(paintContext); border.setRect(this.getX(), this.getY(), this.getWidth(), this.getHeight()); g2d.setStroke(new BasicStroke(1f)); g2d.setPaint(backgroundColor); g2d.fill(border); g2d.setColor(borderColor); g2d.draw(border); super.paint(paintContext); } @Override public boolean getPickable() { return false; } }