TYPO3 API  SVNRelease
class.t3lib_contextmenu_extdirect_contextmenu.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003  *  Copyright notice
00004  *
00005  *  (c) 2010-2011 TYPO3 Tree Team <http://forge.typo3.org/projects/typo3v4-extjstrees>
00006  *  All rights reserved
00007  *
00008  *  This script is part of the TYPO3 project. The TYPO3 project is
00009  *  free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version.
00013  *
00014  *  The GNU General Public License can be found at
00015  *  http://www.gnu.org/copyleft/gpl.html.
00016  *  A copy is found in the textfile GPL.txt and important notices to the license
00017  *  from the author is found in LICENSE.txt distributed with these scripts.
00018  *
00019  *
00020  *  This script is distributed in the hope that it will be useful,
00021  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  *  GNU General Public License for more details.
00024  *
00025  *  This copyright notice MUST APPEAR in all copies of the script!
00026  ***************************************************************/
00027 
00028 /**
00029  * Abstract Context Menu for ExtDirect
00030  *
00031  * This is a concrete implementation that should stay here to be shared
00032  * between the different ExtDirect implementation. Just create a subclass
00033  * for adding specific purposes.
00034  *
00035  * @author Stefan Galinski <stefan.galinski@gmail.com>
00036  * @package TYPO3
00037  * @subpackage t3lib
00038  */
00039 abstract class t3lib_contextmenu_extdirect_ContextMenu extends t3lib_contextmenu_AbstractContextMenu {
00040     /**
00041      * Returns the actions for the given node informations
00042      *
00043      * Note: This method should be overriden to fit your specific needs.
00044      *
00045      * The informations should contain the basic informations of a
00046      * t3lib_tree_Node for further processing. Also the classname (property type)
00047      * of the node should be given, because we need this information
00048      * to create the ndoe.
00049      *
00050      * @param stdClass $nodeInfo
00051      * @return array
00052      */
00053     public function getActionsForNodeArray($nodeData) {
00054         if ($this->dataProvider === NULL) {
00055             $dataProvider = t3lib_div::makeInstance('t3lib_contextmenu_AbstractDataProvider');
00056             $this->setDataProvider($dataProvider);
00057         }
00058 
00059         /** @var $node t3lib_tree_Node */
00060         $node = t3lib_div::makeInstance('t3lib_tree_Node', (array) $nodeData);
00061         $actions = $this->dataProvider->getActionsForNode($node);
00062 
00063         return $actions;
00064     }
00065 
00066     /**
00067      * Unused for this implementation
00068      *
00069      * @see getActionsForNodeArray()
00070      * @param t3lib_tree_Node $node
00071      * @return array
00072      */
00073     public function getActionsForNode(t3lib_tree_Node $node) {
00074     }
00075 }
00076 
00077 ?>