1 // $Id: diseasemenus.cpp,v 1.17 2011/03/07 06:08:50 bobgian Exp $
2
3 /*
4 Copyright 2002 Peter Beerli, Mary Kuhner, Jon Yamato and Joseph Felsenstein
5
6 This software is distributed free of charge for non-commercial use
7 and is copyrighted. Of course, we do not guarantee that the software
8 works, and are not responsible for any damage you may cause or have.
9 */
10
11 #include <string>
12 #include "constants.h"
13 #include "constraintmenus.h"
14 #include "diseasemenus.h"
15 #include "lamarc_strings.h"
16 #include "matrixitem.h"
17 #include "menu_strings.h"
18 #include "newmenuitems.h"
19 #include "overviewmenus.h"
20 #include "priormenus.h"
21 #include "profilemenus.h"
22 #include "setmenuitem.h"
23 #include "ui_constants.h"
24 #include "ui_interface.h"
25 #include "ui_strings.h"
26
27 using std::string;
28
29 //------------------------------------------------------------------------------------
30
SetAllDiseaseRatesMenuItem(string myKey,UIInterface & myui)31 SetAllDiseaseRatesMenuItem::SetAllDiseaseRatesMenuItem(string myKey, UIInterface & myui)
32 : SetMenuItemId(myKey,myui,uistr::globalDisease, UIId(force_DISEASE, uiconst::GLOBAL_ID))
33 {
34 }
35
~SetAllDiseaseRatesMenuItem()36 SetAllDiseaseRatesMenuItem::~SetAllDiseaseRatesMenuItem()
37 {
38 }
39
IsVisible()40 bool SetAllDiseaseRatesMenuItem::IsVisible()
41 {
42 return ui.doGetBool(uistr::disease);
43 }
44
GetVariableText()45 string SetAllDiseaseRatesMenuItem::GetVariableText()
46 {
47 return menustr::emptyString;
48 }
49
50 /////////
51
DiseaseMaxEventsMenuItem(string myKey,UIInterface & myui)52 DiseaseMaxEventsMenuItem::DiseaseMaxEventsMenuItem(string myKey,UIInterface & myui)
53 : SetMenuItemNoId(myKey,myui,uistr::diseaseMaxEvents)
54 {
55 }
56
~DiseaseMaxEventsMenuItem()57 DiseaseMaxEventsMenuItem::~DiseaseMaxEventsMenuItem()
58 {
59 }
60
IsVisible()61 bool DiseaseMaxEventsMenuItem::IsVisible()
62 {
63 return ui.doGetBool(uistr::disease);
64 }
65
66 /////////
67
DiseaseLocationMenuItem(string myKey,UIInterface & myui)68 DiseaseLocationMenuItem::DiseaseLocationMenuItem(string myKey,UIInterface & myui)
69 : SetMenuItemNoId(myKey,myui,uistr::diseaseLocation)
70 {
71 }
72
~DiseaseLocationMenuItem()73 DiseaseLocationMenuItem::~DiseaseLocationMenuItem()
74 {
75 }
76
IsVisible()77 bool DiseaseLocationMenuItem::IsVisible()
78 {
79 return ui.doGetBool(uistr::disease);
80 }
81
82 ///
83
DiseaseMenu(UIInterface & myui)84 DiseaseMenu::DiseaseMenu (UIInterface & myui )
85 : NewMenu (myui,lamarcmenu::diseaseTitle,lamarcmenu::diseaseInfo)
86 {
87 // EWFIX.P5 DISEASE -- replace display only with commented item below
88 // once we resolve how to adjust menu settings when turning
89 // disease on/off changes number of cross partitions
90 AddMenuItem(new DisplayOnlyMenuItem(uistr::disease,ui));
91 // AddMenuItem(new ToggleMenuItemNoId("X",ui,uistr::disease));
92 UIId id(force_DISEASE);
93 AddMenuItem(new SubMenuConstraintsForOneForce("C",ui,id));
94 AddMenuItem(new SubMenuProfileForOneForce("P",ui,id));
95 AddMenuItem(new SubMenuPriorForOneForce("B",ui,id));
96 AddMenuItem(new SetAllDiseaseRatesMenuItem("G",ui));
97 AddMenuItem(new MatrixSetMenuItem(ui,
98 uistr::diseaseInto,
99 uistr::diseaseByID,
100 uistr::diseasePartitionCount,
101 uistr::disease,
102 force_DISEASE));
103 AddMenuItem(new DiseaseMaxEventsMenuItem("M",ui));
104 AddMenuItem(new DiseaseLocationMenuItem("L",ui));
105 }
106
~DiseaseMenu()107 DiseaseMenu::~DiseaseMenu ()
108 {
109 }
110
111 //____________________________________________________________________________________
112