Changeset 62e23d


Ignore:
Timestamp:
Dec 16, 2009, 12:30:16 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
212c827
Parents:
f00f02
git-author:
Tillmann Crueger <crueger@…> (12/16/09 10:08:33)
git-committer:
Frederik Heber <heber@…> (12/16/09 12:30:16)
Message:

Rebuilt SubMenuItem to use inclusion (Strategy pattern) instead of inheritance. Signed-off-by: Tillmann Crueger <crueger@…>

Location:
molecuilder/src/Menu
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/Menu/SubMenuItem.cpp

    rf00f02 r62e23d  
    88#include "SubMenuItem.hpp"
    99
    10 SubMenuItem::SubMenuItem(char _trigger,const char* _description,Menu* _menu,
    11                          ostream& _outputter,string _title,char _spacer, int _length) :
    12 MenuItem(_trigger,_description,_menu),
    13 TextMenu(_outputter,_title,_spacer,_length)
    14 {
    15 }
    16 
    17 SubMenuItem::SubMenuItem(char _trigger,const char* _description,Menu* _menu,
    18                          ostream& _outputter,string _title) :
    19 MenuItem(_trigger,_description,_menu),
    20 TextMenu(_outputter,_title)
     10SubMenuItem::SubMenuItem(char _trigger,const char* _description,Menu* _parent, Menu* _theMenu) :
     11MenuItem(_trigger,_description,_parent),
     12theMenu(_theMenu)
    2113{
    2214}
     
    2416SubMenuItem::~SubMenuItem()
    2517{
     18  delete theMenu;
    2619}
     20
     21void SubMenuItem::doTrigger() {
     22  theMenu->display();
     23}
  • molecuilder/src/Menu/SubMenuItem.hpp

    rf00f02 r62e23d  
    77class Menu;
    88
    9 class SubMenuItem : public MenuItem, public TextMenu
     9class SubMenuItem : public MenuItem
    1010{
    1111public:
    12   SubMenuItem(char,const char*,Menu *,ostream&,string,char,int);
    13   SubMenuItem(char,const char*,Menu *,ostream&,string);
     12  SubMenuItem(char,const char*,Menu*,Menu*);
    1413  virtual ~SubMenuItem();
    1514
    16   virtual void trigger();
     15  virtual void doTrigger();
     16private:
     17  Menu* theMenu;
    1718};
    1819
Note: See TracChangeset for help on using the changeset viewer.