/**
  * Render HTML attributes for the purpose of drawing the tag. Text objects have a number of parameters specific
  * to them, some of which we use for validation, and some of which are dual purpose.
  * We render those here, rather than setting the attributes when those are set.
  *
  * @param null $attributeOverrides
  * @param null $styleOverrides
  *
  * @return string|void
  */
 public function RenderHtmlAttributes($attributeOverrides = null, $styleOverrides = null)
 {
     if ($this->intMaxLength) {
         $attributeOverrides['maxlength'] = $this->intMaxLength;
     }
     if ($this->strTextMode == QTextMode::MultiLine) {
         if ($this->intColumns) {
             $attributeOverrides['cols'] = $this->intColumns;
         }
         if ($this->intRows) {
             $attributeOverrides['rows'] = $this->intRows;
         }
         //if (!$this->blnWrap) {
         /**
          * $strToReturn .= 'wrap="off" '; Note that this is not standard HTML5 and not supported by all browsers
          * In fact, HTML5 has completely changed its meaning to mean whether the text itself has embedded
          * hard returns inserted when the textarea wraps. Deprecating. We will have to wait for another solution.
          */
         //}
     } else {
         if ($this->intColumns) {
             $attributeOverrides['size'] = $this->intColumns;
         }
         $typeStr = $this->strTextMode ? $this->strTextMode : 'text';
         $attributeOverrides['type'] = $typeStr;
     }
     if (strlen($this->strPlaceholder) > 0) {
         $attributeOverrides['placeholder'] = $this->strPlaceholder;
     }
     return parent::RenderHtmlAttributes($attributeOverrides, $styleOverrides);
 }