Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

menu.h

Go to the documentation of this file.
00001 #ifndef menu_h
00002 #define menu_h
00003 
00004 #include "tag.h"
00005 
00007 class MenuBase : protected Tag
00008 {
00009  private:
00010   std::string name;
00011   std::string href;
00012   std::string subdir;
00013   std::string title;
00014   std::string tag_type;
00015   std::string pre;
00016   std::string post;
00017   std::string post_backwards;
00018   std::string pre_backwards;
00019   std::string post_forwards;
00020   std::string pre_forwards;
00021   std::string highlight_type; 
00022   std::string highlight_active_type; 
00023   std::string highlight_menu_type; 
00024   std::string highlight_active_menu_type; 
00025   int indent_number;  
00026   std::string indent_type;    
00027   std::string blockquote_principe;
00028   std::string title_type;
00029   std::string title_menu_type; // better expressions with style sheets
00030   std::string title_highlight_type;
00031   std::string title_highlight_menu_type; // better expressions with style sheets
00032   std::string target; // specify an other target
00033 
00034   bool is_valid_tag;
00035  public:
00036   MenuBase( Line& line, std::string tag_type );
00037   MenuBase() : Tag() {}
00038 
00040   bool operator!() const
00041     { return !is_valid_tag; }
00042 
00044 
00045   std::string get_name() const
00046     { return name; }
00047 
00049 
00050   std::string get_href() const
00051     { return href; }
00052 
00054 
00055   std::string get_subdir() const
00056     { return subdir; }
00057 
00059 
00060   std::string get_title() const
00061     { return title; }
00062 
00063   std::string get_tag_type() const
00064     { return tag_type; }
00065 
00066   std::string get_pre() const 
00067     { return pre; }
00068 
00069   std::string get_post() const
00070     { return post; }
00071 
00072   std::string get_post_backwards() const
00073     { return post_backwards; }
00074 
00075   std::string get_pre_backwards() const
00076     { return pre_backwards; }
00077 
00078   std::string get_post_forwards() const
00079     { return post_forwards; }
00080 
00081   std::string get_pre_forwards() const
00082     { return pre_forwards; }
00083 
00084   int get_indent_number() const
00085     { return indent_number; }
00086 
00087   std::string get_indent_type() const
00088     { return indent_type; }
00089 
00090   std::string get_highlight_type() const
00091     { return highlight_type; }
00092 
00093   std::string get_highlight_active_type() const
00094     { return highlight_active_type; }
00095 
00096   std::string get_highlight_menu_type() const
00097     { return highlight_menu_type; }
00098 
00099   std::string get_highlight_active_menu_type() const
00100     { return highlight_active_menu_type; }
00101 
00102   std::string get_blockquote_principe() const 
00103     { return blockquote_principe; }
00104 
00105   std::string get_title_type() const 
00106     { return title_type; }
00107 
00108   std::string get_title_menu_type() const 
00109     { return title_type; }
00110 
00111 
00112   std::string get_title_highlight_type() const 
00113     { return title_highlight_type; }
00114 
00115   std::string get_title_highlight_menu_type() const 
00116     { return title_highlight_menu_type; }
00117 
00118   std::string get_target() const 
00119     { return target; }
00120 };
00121 
00123 
00129 class Menu : public MenuBase
00130 {
00131  public:
00132   Menu( Line& line )
00133     : MenuBase( line, "menu" ){}
00134   Menu() : MenuBase() {}
00135 };
00136 
00138 class MenuClose : private Tag
00139 {
00140  private:
00141   
00142   bool is_valid_tag;
00143  public:
00144   MenuClose( Line& line );
00145   MenuClose() : Tag() {}
00146 
00147   bool operator!() const { return !is_valid_tag; }
00148 };
00149 
00151 
00154 class Item : public MenuBase
00155 {
00156  public:
00157   Item( Line& line)
00158     : MenuBase( line, "item" ){}
00159 
00160   Item() : MenuBase() {}
00161 };
00162 
00163 #endif

Generated on Tue Nov 20 02:19:52 2001 for Leo<HTML> by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001