1 #include <msp/gltk/button.h>
7 MainPanel::MainPanel(Engineer &e, GLtk::Resources &r):
15 add(*(btn=new GLtk::Button(res, "Off")));
16 btn->set_geometry(GLtk::Geometry(10, 53, 40, 25));
17 btn->set_style("red");
18 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::power_off));
20 add(*(ind_off=new GLtk::Indicator(res)));
21 ind_off->set_geometry(GLtk::Geometry(10, 78, 40, 12));
22 ind_off->set_style("red");
24 add(*(btn=new GLtk::Button(res, "On")));
25 btn->set_geometry(GLtk::Geometry(50, 53, 40, 25));
26 btn->set_style("green");
27 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::power_on));
29 add(*(ind_on=new GLtk::Indicator(res)));
30 ind_on->set_geometry(GLtk::Geometry(50, 78, 40, 12));
31 ind_on->set_style("green");
33 add(*(btn=new GLtk::Button(res, "Quit")));
34 btn->set_geometry(GLtk::Geometry(150, 53, 40, 25));
35 btn->set_style("red");
36 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::quit));
38 add(*(btn=new GLtk::Button(res, "+Loc")));
39 btn->set_geometry(GLtk::Geometry(10, 10, 40, 25));
40 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::new_loc));
42 if(engineer.get_control().get_power())
43 ind_on->set_active(true);
45 ind_off->set_active(true);
48 void MainPanel::power_on()
50 engineer.get_control().set_power(true);
51 ind_on->set_active(true);
52 ind_off->set_active(false);
55 void MainPanel::power_off()
57 engineer.get_control().set_power(false);
58 ind_on->set_active(false);
59 ind_off->set_active(true);
62 void MainPanel::new_loc()
64 engineer.add_train(0);
67 void MainPanel::quit()