package com.indago.iddea.view.overlay;
import java.awt.*;
import java.util.ArrayList;
/**
* Created by moon on 14/04/14.
*/
public class ObjectInfoTransformOverlay extends TransformOverlay {
protected int x, y;
protected ArrayList<ObjectInfo> objectList;
protected ArrayList<ObjectSetInfo> objectSetList;
final Color labelColor = Color.white;
final Color highlightColor = Color.yellow;
final Font labelFont = new Font( "Monospaced", Font.PLAIN, 3 );
/**
* Update data to show in the overlay.
*/
public synchronized void updateXY(final int x, final int y )
{
this.x = x;
this.y = y;
}
public void setObjectList(ArrayList<ObjectInfo> list)
{
objectList = list;
}
public void drawTransformedOverlays(Graphics g)
{
Color c = g.getColor();
g.setColor( labelColor );
g.setFont( labelFont );
if(objectList != null)
{
for(ObjectInfo oi : objectList)
{
if(oi.X == x && oi.Y == y)
{
g.setColor( highlightColor );
g.drawString( oi.Label + oi.Next, oi.X, oi.Y );
//g.drawString( "" + oi.X + ", " + oi.Y, oi.X, oi.Y + 4);
g.setColor( labelColor );
}
else
{
g.drawString( oi.Label + oi.Next, oi.X, oi.Y );
//g.drawString( "" + oi.X + ", " + oi.Y, oi.X, oi.Y + 4);
}
}
}
if(objectSetList != null)
{
for(ObjectSetInfo oi : objectSetList)
{
Point xy = (Point) oi.Set.toArray()[0];
if(oi.Set.contains(new Point(x, y)))
{
g.setColor( highlightColor );
g.drawString( oi.Label + oi.Next, xy.x, xy.y );
//g.drawString( "" + xy.x + ", " + xy.y, xy.x, xy.y + 4);
g.setColor( labelColor );
}
else
{
g.drawString( oi.Label + oi.Next, xy.x, xy.y );
//g.drawString( "" + xy.x + ", " + xy.y, xy.x, xy.y + 4);
}
}
}
g.setColor(c);
}
public void setObjectSetList(ArrayList<ObjectSetInfo> list) {
objectSetList = list;
}
}