QListControl::__set PHP Method

__set() public method

public __set ( $strName, $mixValue )
    public function __set($strName, $mixValue)
    {
        $this->blnModified = true;
        switch ($strName) {
            case "SelectedIndex":
                try {
                    $mixValue = QType::Cast($mixValue, QType::Integer);
                } catch (QInvalidCastException $objExc) {
                    $objExc->IncrementOffset();
                    throw $objExc;
                }
                // Special Case
                if ($mixValue == -1) {
                    $mixValue = null;
                }
                if ($mixValue < 0 || $mixValue > count($this->objItemsArray) - 1) {
                    throw new QIndexOutOfRangeException($mixValue, "SelectedIndex");
                }
                for ($intIndex = 0; $intIndex < count($this->objItemsArray); $intIndex++) {
                    if ($mixValue == $intIndex) {
                        $this->objItemsArray[$intIndex]->Selected = true;
                    } else {
                        $this->objItemsArray[$intIndex]->Selected = false;
                    }
                }
                return $mixValue;
                break;
            case "SelectedName":
                foreach ($this->objItemsArray as $objItem) {
                    if ($objItem->Name == $mixValue) {
                        $objItem->Selected = true;
                    } else {
                        $objItem->Selected = false;
                    }
                }
                return $mixValue;
                break;
            case "SelectedValue":
                foreach ($this->objItemsArray as $objItem) {
                    if ($objItem->Value == $mixValue) {
                        $objItem->Selected = true;
                    } else {
                        $objItem->Selected = false;
                    }
                }
                return $mixValue;
                break;
            case "SelectedNames":
                try {
                    $mixValue = QType::Cast($mixValue, QType::ArrayType);
                } catch (QInvalidCastException $objExc) {
                    $objExc->IncrementOffset();
                    throw $objExc;
                }
                foreach ($this->objItemsArray as $objItem) {
                    $objItem->Selected = false;
                    foreach ($mixValue as $mixName) {
                        if ($objItem->Name == $mixName) {
                            $objItem->Selected = true;
                            break;
                        }
                    }
                }
                return $mixValue;
                break;
            case "SelectedValues":
                try {
                    $mixValue = QType::Cast($mixValue, QType::ArrayType);
                } catch (QInvalidCastException $objExc) {
                    $objExc->IncrementOffset();
                    throw $objExc;
                }
                foreach ($this->objItemsArray as $objItem) {
                    $objItem->Selected = false;
                    foreach ($mixValue as $mixName) {
                        if ($objItem->Value == $mixName) {
                            $objItem->Selected = true;
                            break;
                        }
                    }
                }
                return $mixValue;
                break;
            case "SelectedIndexes":
                try {
                    $intIndexArray = QType::Cast($mixValue, QType::ArrayType);
                } catch (QInvalidCastException $objExc) {
                    $objExc->IncrementOffset();
                    throw $objExc;
                }
                //First remove all indexes
                $this->SelectedIndex = -1;
                //Assign selected
                foreach ($intIndexArray as $intIndex) {
                    if ($this->objItemsArray[$intIndex]) {
                        $this->objItemsArray[$intIndex]->Selected = true;
                    } else {
                        throw new QIndexOutOfRangeException($intIndex, "SelectedIndexes");
                    }
                }
                break;
            default:
                try {
                    parent::__set($strName, $mixValue);
                    break;
                } catch (QCallerException $objExc) {
                    $objExc->IncrementOffset();
                    throw $objExc;
                }
        }
    }

Usage Example

Esempio n. 1
0
 public function __set($strName, $mixValue)
 {
     $this->blnModified = true;
     switch ($strName) {
         // APPEARANCE
         case "TextAlign":
             try {
                 $this->strTextAlign = QType::Cast($mixValue, QType::String);
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case "HtmlEntities":
             try {
                 $this->blnHtmlEntities = QType::Cast($mixValue, QType::Boolean);
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
             // LAYOUT
         // LAYOUT
         case "CellPadding":
             try {
                 $this->intCellPadding = QType::Cast($mixValue, QType::Integer);
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case "CellSpacing":
             try {
                 $this->intCellSpacing = QType::Cast($mixValue, QType::Integer);
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case "RepeatColumns":
             try {
                 $this->intRepeatColumns = QType::Cast($mixValue, QType::Integer);
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
             if ($this->intRepeatColumns < 1) {
                 throw new QCallerException("RepeatColumns must be greater than 0");
             }
             break;
         case "RepeatDirection":
             try {
                 $this->strRepeatDirection = QType::Cast($mixValue, QType::String);
                 break;
             } catch (QInvalidCastException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         default:
             try {
                 parent::__set($strName, $mixValue);
                 break;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
     }
 }
All Usage Examples Of QListControl::__set