Newer
Older
KisoJikkenNWP / src / main / java / istlab / KisoJikken / CCellRenderer.java
/*
 * 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(@SuppressWarnings("rawtypes") JList list,
			Completion c, int index, boolean selected, boolean hasFocus) {
		super.prepareForOtherCompletion(list, c, index, selected, hasFocus);
		setIcon(getEmptyIcon());
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	protected void prepareForVariableCompletion(@SuppressWarnings("rawtypes") JList list,
			VariableCompletion vc, int index, boolean selected,
			boolean hasFocus) {
		super.prepareForVariableCompletion(list, vc, index, selected,
				hasFocus);
		setIcon(variableIcon);
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	protected void prepareForFunctionCompletion(@SuppressWarnings("rawtypes") JList list,
			FunctionCompletion fc, int index, boolean selected,
			boolean hasFocus) {
		super.prepareForFunctionCompletion(list, fc, index, selected,
				hasFocus);
		setIcon(functionIcon);
	}

}