/*
* 01/07/2009
*
* CCellRenderer.java - A cell renderer for C completions.
*
* This library is distributed under a modified BSD license. See the included
* LICENSE.md file for details.
*/
package istlab.KisoJikken;
import javax.swing.Icon;
import javax.swing.JList;
import org.fife.ui.autocomplete.Completion;
import org.fife.ui.autocomplete.CompletionCellRenderer;
import org.fife.ui.autocomplete.FunctionCompletion;
import org.fife.ui.autocomplete.VariableCompletion;
/**
* The cell renderer used for the C programming language.
*
* @author Robert Futrell
* @version 1.0
*/
class CCellRenderer extends CompletionCellRenderer {
private Icon variableIcon;
private Icon functionIcon;
/**
* Constructor.
*/
CCellRenderer() {
variableIcon = getIcon("img/var.png");
functionIcon = getIcon("img/function.png");
}
/**
* {@inheritDoc}
*/
@Override
protected void prepareForOtherCompletion(JList list,
Completion c, int index, boolean selected, boolean hasFocus) {
super.prepareForOtherCompletion(list, c, index, selected, hasFocus);
setIcon(getEmptyIcon());
}
/**
* {@inheritDoc}
*/
@Override
protected void prepareForVariableCompletion(JList list,
VariableCompletion vc, int index, boolean selected,
boolean hasFocus) {
super.prepareForVariableCompletion(list, vc, index, selected,
hasFocus);
setIcon(variableIcon);
}
/**
* {@inheritDoc}
*/
@Override
protected void prepareForFunctionCompletion(JList list,
FunctionCompletion fc, int index, boolean selected,
boolean hasFocus) {
super.prepareForFunctionCompletion(list, fc, index, selected,
hasFocus);
setIcon(functionIcon);
}
}