Homepage Demos Overview Downloads Tutorials Reference
Credits
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Search

HelpControl.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef INCLUDED_HelpControl_h_
00003 #define INCLUDED_HelpControl_h_
00004 
00005 #include "NullControl.h"
00006 
00007 //! Recurses through the menu system and outputs the name and description of each item
00008 class HelpControl : public NullControl{
00009 public:
00010   //!< constructor
00011   HelpControl(ControlBase* r) : NullControl("Help","Recurses through the menu system and outputs the name and description of each item"), root(r) {}
00012 
00013   //! displays global Controller commands (hardcoded as strings, will need updates) as well as recursing the menu system (dynamic)
00014   virtual ControlBase * activate(MotionManager::MC_ID disp_id, Socket * gui);
00015 
00016   //! displays the menu items of @a r and their descriptions, recursing on submenus
00017   /*! @a prefix is what should be displayed before each menu item (like a bullet point)
00018    *  this is itself prefixed by 2 spaces for each level of recursion.  Word wrapping
00019    *  is performed to maintain the clean indenting */
00020   void report(ControlBase* r, const std::string& prefix);
00021 
00022 protected:
00023   static const unsigned int term_width=80; //!< number of character to word wrap the display
00024 
00025   ControlBase * root; //!< stores root node to begin recursion (this item is not displayed)
00026   
00027 private:
00028   HelpControl(const HelpControl&); //!< don't call
00029   HelpControl operator=(const HelpControl&); //!< don't call
00030 };
00031 
00032 /*! @file
00033  * @brief Describes HelpControl, which recurses through the menu system and outputs the name and description of each item
00034  * @author ejt (Creator)
00035  *
00036  * $Author: ejt $
00037  * $Name: tekkotsu-1_4_1 $
00038  * $Revision: 1.3 $
00039  * $State: Exp $
00040  * $Date: 2003/06/12 23:41:36 $
00041  */
00042 
00043 #endif

Tekkotsu v1.4
Generated Sat Jul 19 00:06:30 2003 by Doxygen 1.3.2