Allow label sausages to override icon painting.
Allow RadialMenuItems to add an additional icon to the sausage. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1627 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -111,9 +111,7 @@ public abstract class LabelSausage
|
|||||||
drawBase(gfx, x, y);
|
drawBase(gfx, x, y);
|
||||||
|
|
||||||
// render our icon if we've got one
|
// render our icon if we've got one
|
||||||
if (_icon != null) {
|
drawIcon(gfx, x, y, cliData);
|
||||||
_icon.paintIcon(null, gfx, x + _xoff, y + _yoff);
|
|
||||||
}
|
|
||||||
|
|
||||||
drawLabel(gfx, x, y);
|
drawLabel(gfx, x, y);
|
||||||
drawBorder(gfx, x, y);
|
drawBorder(gfx, x, y);
|
||||||
@@ -134,6 +132,16 @@ public abstract class LabelSausage
|
|||||||
x, y, _size.width - 1, _size.height - 1, _dia, _dia);
|
x, y, _size.width - 1, _size.height - 1, _dia, _dia);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws the icon, if applicable.
|
||||||
|
*/
|
||||||
|
protected void drawIcon (Graphics2D gfx, int x, int y, Object cliData)
|
||||||
|
{
|
||||||
|
if (_icon != null) {
|
||||||
|
_icon.paintIcon(null, gfx, x + _xoff, y + _yoff);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draws the label.
|
* Draws the label.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -93,6 +93,18 @@ public class RadialMenu
|
|||||||
public boolean isEnabled (RadialMenu menu, RadialMenuItem item);
|
public boolean isEnabled (RadialMenu menu, RadialMenuItem item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An additional interface that can be implemented by the predicate
|
||||||
|
* to display extra status.
|
||||||
|
*/
|
||||||
|
public static interface IconPredicate extends Predicate
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Return an additional predicate that should be drawn.
|
||||||
|
*/
|
||||||
|
public Icon getIcon (RadialMenu menu, RadialMenuItem item);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a radial menu.
|
* Constructs a radial menu.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -105,4 +105,17 @@ public class RadialMenuItem extends RadialLabelSausage
|
|||||||
{
|
{
|
||||||
paint(gfx, x, y, menu);
|
paint(gfx, x, y, menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// documentation inherited
|
||||||
|
protected void drawIcon (Graphics2D gfx, int x, int y, Object cliData)
|
||||||
|
{
|
||||||
|
super.drawIcon(gfx, x, y, cliData);
|
||||||
|
if (predicate instanceof RadialMenu.IconPredicate) {
|
||||||
|
Icon icon = ((RadialMenu.IconPredicate) predicate).getIcon(
|
||||||
|
(RadialMenu) cliData, this);
|
||||||
|
if (icon != null) {
|
||||||
|
icon.paintIcon(null, gfx, x + _xoff, y + _yoff);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user