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