/** * Overrides the default CSS renderer in order to deal with a special situation: * Since there is the possibility of a wrapper, we have to delegate certain CSS properties to the wrapper so * that the whole control gets those properties. Those are mostly positioning properties. In this override, * we detect when we do NOT have a wrapper, and therefore have to copy the positioning properties from the * wrapper styler down to the control itself. * * @param null $styleOverrides * @return string */ public function RenderCssStyles($styleOverrides = null) { $styles = $this->styles; if ($styleOverrides) { $styles = array_merge($this->styles, $styleOverrides); } if (!$this->blnUseWrapper) { // add wrapper styles if no wrapper. control must stand on its own. // This next line sucks just the given attributes out of the wrapper styler $aWStyles = array_intersect_key($this->getWrapperStyler()->styles, ['position' => 1, 'top' => 1, 'left' => 1]); $styles = array_merge($styles, $aWStyles); if (!$this->blnDisplay) { $styles['display'] = 'none'; } } return QHtml::RenderStyles($styles); }
/** * Returns the styles rendered as a css style string. * @param null|string $styleOverrides * @return string */ public function RenderCssStyles($styleOverrides = null) { $styles = $this->styles; if ($styleOverrides) { $styles = array_merge($styles, $styleOverrides); } return QHtml::RenderStyles($styles); }