/**
  * 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);
 }