PhpExt : Menu [ class tree ] [ index ] [ all elements ]

Source for file Menu.php

Documentation is available at Menu.php

  1. <?php
  2. /**
  3.  * PHP-Ext Library
  4.  * http://php-ext.googlecode.com
  5.  * @author Sergei Walter <sergeiw[at]gmail[dot]com>
  6.  * @copyright 2008 Sergei Walter
  7.  * @license http://www.gnu.org/licenses/lgpl.html
  8.  * @link http://php-ext.googlecode.com
  9.  * 
  10.  *  Reference for Ext JS: http://extjs.com
  11.  * 
  12.  */
  13.  
  14. /**
  15.  * @see PhpExt_Observable
  16.  */
  17. include_once 'PhpExt/Observable.php';
  18. /**
  19.  * @see PhpExt_Menu_BaseItemCollection
  20.  */
  21. include_once 'PhpExt/Menu/BaseItemCollection.php';
  22.  
  23.  
  24. /**
  25.  * A menu object. This is the container to which you add all other menu items. Menu can also serve a as a base class when you want a specialzed menu based off of another component (like {@link PhpExt_Menu_DateMenu for example}).
  26.  *  
  27.  * @package PhpExt
  28.  * @subpackage Menu
  29.  */
  30. {
  31.     // AllowOtherMenus
  32.     /**
  33.      * True to allow multiple menus to be displayed at the same time (defaults to false)
  34.      * @param boolean $value 
  35.      * @return PhpExt_Menu_Menu 
  36.      */
  37.     public function setAllowOtherMenus($value{
  38.         $this->setExtConfigProperty("allowOtherMenus"$value);
  39.         return $this;
  40.     }    
  41.     /**
  42.      * True to allow multiple menus to be displayed at the same time (defaults to false)
  43.      * @return boolean 
  44.      */
  45.     public function getAllowOtherMenus({
  46.         return $this->getExtConfigProperty("allowOtherMenus");
  47.     }
  48.     
  49.     // DefaultAlign
  50.     /**
  51.      * The default {@link PhpExt_Ext::combineAnchors()} anchor position value for this menu relative to its element of origin (defaults to "tl-bl?")
  52.      * @param boolean $value 
  53.      * @return PhpExt_Menu_Menu 
  54.      */
  55.     public function setDefaultAlign($value{
  56.         $this->setExtConfigProperty("defaultAlign"$value);
  57.         return $this;
  58.     }    
  59.     /**
  60.      * The default {@link PhpExt_Ext::combineAnchors()} anchor position value for this menu relative to its element of origin (defaults to "tl-bl?")
  61.      * @return boolean 
  62.      */
  63.     public function getDefaultAlign({
  64.         return $this->getExtConfigProperty("defaultAlign");
  65.     }
  66.     
  67.     // Defaults
  68.     /**
  69.      * A config object that will be applied to all items added to this container either via the items config or via the add method. The defaults config can contain any number of name/value property pairs to be added to each item, and should be valid for the types of items being added to the menu.
  70.      * @param PhpExt_Config_ConfigObject $value 
  71.      * @return PhpExt_Menu_Menu 
  72.      */
  73.     public function setDefaults($value{
  74.         $this->setExtConfigProperty("defaults"$value);
  75.         return $this;
  76.     }    
  77.     /**
  78.      * A config object that will be applied to all items added to this container either via the items config or via the add method. The defaults config can contain any number of name/value property pairs to be added to each item, and should be valid for the types of items being added to the menu.
  79.      * @return PhpExt_Config_ConfigObject 
  80.      */
  81.     public function getDefaults({
  82.         return $this->getExtConfigProperty("defaults");
  83.     }
  84.     
  85.     // Items
  86.     /**
  87.      * @var PhpExt_Menu_BaseItemCollection 
  88.      */
  89.     protected $_items;
  90.     /**
  91.      * An array of items to be added to this menu. See add for a list of valid item types.
  92.      * @return PhpExt_Menu_BaseItemCollection 
  93.      */
  94.     public function getItems({
  95.         return $this->getExtConfigProperty("items");
  96.     }
  97.     /**
  98.      * Helper function to quick add a separator
  99.      * @return PhpExt_Menu_Menu 
  100.      */
  101.     public function addSeparator($key{
  102.         $this->_items->add(PhpExt_Menu_Separator()$key);
  103.         return $this;
  104.     }
  105.     /**
  106.      * Helper function to quick add a checkitem
  107.      * @return PhpExt_Menu_Menu 
  108.      */
  109.     public function addCheckItem($key$text$handler null{
  110.         $this->_items->add(new PhpExt_Menu_MenuCheckItem($text$handler)$key);
  111.         return $this;
  112.     }        
  113.     /**
  114.      * Helper function to quick add a textitem
  115.      * @return PhpExt_Menu_Menu 
  116.      */
  117.     public function addTextItem($key$text$handler null{
  118.         $this->_items->add(new PhpExt_Menu_MenuTextItem($text$handler)$key);
  119.         return $this;
  120.     }
  121.     /**
  122.      * Helper function to quick add an item
  123.      * @return PhpExt_Menu_Menu 
  124.      */
  125.     public function addItem($keyPhpExt_Menu_BaseItem $item{
  126.         $this->_items->add($item$key);
  127.         return $this;
  128.     }
  129.     
  130.     
  131.     // MinWidth
  132.     /**
  133.      * The minimum width of the menu in pixels (defaults to 120)
  134.      * @param integer $value 
  135.      * @return PhpExt_Menu_Menu 
  136.      */
  137.     public function setMinWidth($value{
  138.         $this->setExtConfigProperty("minWidth"$value);
  139.         return $this;
  140.     }    
  141.     /**
  142.      * The minimum width of the menu in pixels (defaults to 120)
  143.      * @return integer 
  144.      */
  145.     public function getMinWidth({
  146.         return $this->getExtConfigProperty("minWidth");
  147.     }
  148.     
  149.     // Shadow
  150.     /**
  151.      * True or {@link PhpExt_Shadow::$MODE_SIDES} for the default effect, {@link PhpExt_Shadow::MODE_FRAME} for 4-way shadow, and {@link PhpExt_Shadow::MODE_DROP} for bottom-right shadow (defaults to {@link PhpExt_Shadow::MODE_SIDES})
  152.      * @uses PhpExt_Shadow::$MODE_SIDES
  153.      * @uses PhpExt_Shadow::$MODE_FRAME
  154.      * @uses PhpExt_Shadow::$MODE_DROP
  155.      * @param string $value 
  156.      * @return PhpExt_Menu_Menu 
  157.      */
  158.     public function setShadow($value{
  159.         $this->setExtConfigProperty("shadow"$value);
  160.         return $this;
  161.     }    
  162.     /**
  163.      * True or {@link PhpExt_Shadow::$MODE_SIDES} for the default effect, {@link PhpExt_Shadow::MODE_FRAME} for 4-way shadow, and {@link PhpExt_Shadow::MODE_DROP} for bottom-right shadow (defaults to {@link PhpExt_Shadow::MODE_SIDES})
  164.      * @uses PhpExt_Shadow::$MODE_SIDES
  165.      * @uses PhpExt_Shadow::$MODE_FRAME
  166.      * @uses PhpExt_Shadow::$MODE_DROP
  167.      * @return string 
  168.      */
  169.     public function getShadow({
  170.         return $this->getExtConfigProperty("shadow");
  171.     }
  172.     
  173.     // SubMenuAlign
  174.     /**
  175.      * The {@link PhpExt_Ext::combineAnchors()} anchor position value to use for submenus of this menu (defaults to "tl-tr?")
  176.      * @param string $value 
  177.      * @return PhpExt_Menu_Menu 
  178.      */
  179.     public function setSubMenuAlign($value{
  180.         $this->setExtConfigProperty("subMenuAlign"$value);
  181.         return $this;
  182.     }    
  183.     /**
  184.      * The {@link PhpExt_Ext::combineAnchors()} anchor position value to use for submenus of this menu (defaults to "tl-tr?")
  185.      * @return string 
  186.      */
  187.     public function getSubMenuAlign({
  188.         return $this->getExtConfigProperty("subMenuAlign");
  189.     }
  190.     
  191.     public $AllowOtherMenus = false;
  192.     public $DefaultAlign = null//"tl-bl";
  193.     public $Defaults = null;        
  194.     public $Items = array();
  195.     public $MinWidth = null;
  196.     public $Shadow = null;
  197.     public $SubMenuAlign = null;
  198.     
  199.         
  200.     public function __construct({
  201.         parent::__construct();
  202.         $this->setExtClassInfo("Ext.menu.Menu");
  203.         
  204.         $validProps array(
  205.             "activeClass",
  206.             "canActivate",
  207.             "handler",
  208.             "hideDelay",
  209.             "hideOnClick",
  210.             "scope",
  211.             "items"            
  212.         );
  213.         $this->addValidConfigProperties($validProps);
  214.         
  215.         $this->_items = new PhpExt_Menu_BaseItemCollection();
  216.         $this->setExtConfigProperty('items'$this->_items);
  217.     
  218.     }
  219.         
  220.          
  221. }

Documentation generated on Fri, 08 Aug 2008 15:56:41 -0500 by phpDocumentor 1.4.0