/*
* (C) Copyright 2005 Nilo J. Gonzalez
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser Gereral Public Licence as published by the Free
* Software Foundation; either version 2 of the Licence, or (at your opinion) any
* later version.
*
* This library is distributed in the hope that it will be usefull, but WITHOUT ANY
* WARRANTY; without even the implied warranty of merchantability or fitness for a
* particular purpose. See the GNU Lesser General Public Licence for more details.
*
* You should have received a copy of the GNU Lesser General Public Licence along
* with this library; if not, write to the Free Software Foundation, Inc., 59
* Temple Place, Suite 330, Boston, Ma 02111-1307 USA.
*
* http://www.gnu.org/licenses/lgpl.html (English)
* http://gugs.sindominio.net/gnu-gpl/lgpl-es.html (Espa�ol)
*
*
* Original author: Nilo J. Gonzalez
*/
/**
* Esta clase implementa las listas.
* @author Nilo J. Gonzalez
*/
package com.nilo.plaf.nimrod;
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.*;
import javax.swing.plaf.basic.*;
public class NimRODListUI extends BasicListUI {
public NimRODListUI( JComponent list) {
super();
}
public static ComponentUI createUI( JComponent list) {
return new NimRODListUI( list);
}
protected void paintCell( Graphics g, int row, Rectangle rowBounds, ListCellRenderer cellRenderer,
ListModel dataModel, ListSelectionModel selModel, int leadIndex) {
rowBounds.x += 1;
super.paintCell( g, row, rowBounds, cellRenderer, dataModel, selModel, leadIndex);
rowBounds.x -= 1;
if ( list.isSelectedIndex( row) ) {
Color oldColor = g.getColor();
g.translate( rowBounds.x, rowBounds.y);
GradientPaint grad = new GradientPaint( 0,0, NimRODUtils.getBrillo(),
0,rowBounds.height, NimRODUtils.getSombra());
Color bgColor = NimRODLookAndFeel.getMenuSelectedBackground();
Graphics2D g2D = (Graphics2D)g;
g2D.setPaint( grad);
g2D.fillRect( 0,0, rowBounds.width-1, rowBounds.height);
g.setColor( bgColor.darker());
g.drawRect( 0,0, rowBounds.width-1, rowBounds.height-1);
g.translate( -rowBounds.x, -rowBounds.y);
g.setColor( oldColor);
}
}
}