Example #1
0
 /**
  * Adds a component to the items collection
  *
  * @param PhpExt_Component $item Descendants of {@link PhpExt_Component}
  * @param PhpExt_Layout_ContainerLayoutData
  * @return PhpExt_Container
  */
 public function addItem($item, $layoutData = null)
 {
     $this->_items->add($item);
     if ($layoutData !== null && $item instanceof PhpExt_Component) {
         $validLayoutData = $this->getLayout()->getValidLayoutDataClassNames();
         if (!in_array(get_class($layoutData), $validLayoutData)) {
             throw new Exception("Invalid layout data. Layout data provided '" . get_class($layoutData) . "' but expecting any of " . implode(", ", $validLayoutData) . ".");
         }
         $item->setLayoutData($layoutData);
     }
     return $this;
 }
Example #2
0
 /**
  * @return PhpExt_Layout_ContainerLayout
  */
 private function getOwnerLayout()
 {
     if ($this->_ownerCollection != null) {
         $owner = $this->_ownerCollection->getOwner();
         if ($owner instanceof PhpExt_Container) {
             $layout = $owner->getLayout();
             if ($layout == null) {
                 $layout == new PhpExt_Layout_ContainerLayout();
             }
             return $layout;
         }
     }
     return null;
 }