public function __set($strName, $mixValue)
 {
     switch ($strName) {
         case '_ClickedButton':
             // Internal only. Do not use. Used by JS above to keep track of clicked button.
             try {
                 $this->strClickedButtonId = QType::Cast($mixValue, QType::String);
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
             break;
             // set to false to remove the close x in upper right corner and disable the
             // escape key as well
         // set to false to remove the close x in upper right corner and disable the
         // escape key as well
         case 'HasCloseButton':
             try {
                 $this->blnHasCloseButton = QType::Cast($mixValue, QType::Boolean);
                 $this->blnCloseOnEscape = $this->blnHasCloseButton;
                 $this->blnModified = true;
                 // redraw
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case 'Height':
             try {
                 if ($mixValue == 'auto') {
                     $this->mixHeight = 'auto';
                     if ($this->Rendered) {
                         $this->CallJqUiMethod("option", $strName, $mixValue);
                     }
                 } else {
                     parent::__set($strName, $mixValue);
                 }
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case 'Width':
             try {
                 if ($mixValue == 'auto') {
                     $this->intWidth = 'auto';
                     if ($this->Rendered) {
                         $this->CallJqUiMethod("option", $strName, $mixValue);
                     }
                 } else {
                     parent::__set($strName, $mixValue);
                 }
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         default:
             try {
                 parent::__set($strName, $mixValue);
                 break;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
     }
 }