protected function activateView($view, $triggerViewChangedEvent = true)
{
if ($view->getActive()) {
return;
}
$triggerEvent = $triggerViewChangedEvent && ($this->getControlStage() >= \Prado\Web\UI\TControl::CS_STATE_LOADED || $this->getPage() && !$this->getPage()->getIsPostBack());
foreach ($this->getViews() as $v) {
if ($v === $view) {
$view->setActive(true);
if ($triggerEvent) {
$view->onActivate(null);
$this->onActiveViewChanged(null);
}
} else {
if ($v->getActive()) {
$v->setActive(false);
if ($triggerEvent) {
$v->onDeactivate(null);
}
}
}
}
}