source: molecuilder/src/Menu/MenuItem.cpp@ df55a0

Last change on this file since df55a0 was 7cb300, checked in by Frederik Heber <heber@…>, 16 years ago

Changed formating of menus and added protection to keep MenuItems from being added twice. Signed-off-by: Tillmann Crueger <crueger@…>

  • Property mode set to 100644
File size: 846 bytes
Line 
1/*
2 * MenuItem.cpp
3 *
4 * Created on: Dec 10, 2009
5 * Author: crueger
6 */
7
8
9
10#include "Menu/MenuItem.hpp"
11#include "Menu/Menu.hpp"
12#include <sstream>
13
14MenuItem::MenuItem(char _trigger, const char* _description,Menu* menu) :
15trigger(_trigger)
16{
17 description = new string(_description);
18 add_to_menu(menu);
19}
20
21MenuItem::~MenuItem()
22{
23 delete description;
24}
25
26void MenuItem::checkTrigger(char key) {
27 if(key == trigger)
28 doTrigger();
29}
30
31char MenuItem::getTrigger() {
32 return trigger;
33}
34
35const string MenuItem::getDescription() {
36 return *description;
37}
38
39const string MenuItem::formatEntry(){
40 stringstream s;
41 s << getTrigger() << " - " << getDescription();
42
43 return s.str();
44}
45
46void MenuItem::add_to_menu(Menu* menu) {
47 if(!wasAdded()) {
48 menu->addItem(this);
49 added=true;
50 }
51}
52
53bool MenuItem::wasAdded(){
54 return added;
55}
Note: See TracBrowser for help on using the repository browser.