public function setRenderer($renderer, $condition_callback = NULL)
{
if ($this->hasReplacements()) {
throw new DataGridException("Use either Column::setReplacement() or Column::setRenderer, not both.");
}
if (!is_callable($renderer)) {
throw new DataGridException("Renderer (method Column::setRenderer()) must be callable.");
}
if (NULL != $condition_callback && !is_callable($condition_callback)) {
throw new DataGridException("Renderer (method Column::setRenderer()) must be callable.");
}
$this->renderer = new Renderer($renderer, $condition_callback);
return $this;
}