1 #include <msp/gltk/button.h>
8 MainPanel::MainPanel(Engineer &e, GLtk::Resources &r):
16 add(*(btn=new GLtk::Button(res, "Off")));
17 btn->set_geometry(GLtk::Geometry(10, 53, 40, 25));
18 btn->set_style("red");
19 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::power_off));
21 add(*(ind_off=new GLtk::Indicator(res)));
22 ind_off->set_geometry(GLtk::Geometry(10, 78, 40, 12));
23 ind_off->set_style("red");
25 add(*(btn=new GLtk::Button(res, "On")));
26 btn->set_geometry(GLtk::Geometry(50, 53, 40, 25));
27 btn->set_style("green");
28 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::power_on));
30 add(*(ind_on=new GLtk::Indicator(res)));
31 ind_on->set_geometry(GLtk::Geometry(50, 78, 40, 12));
32 ind_on->set_style("green");
34 add(*(btn=new GLtk::Button(res, "Quit")));
35 btn->set_geometry(GLtk::Geometry(150, 53, 40, 25));
36 btn->set_style("red");
37 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::quit));
39 add(*(btn=new GLtk::Button(res, "+Loc")));
40 btn->set_geometry(GLtk::Geometry(90, 53, 40, 25));
41 btn->signal_clicked.connect(sigc::mem_fun(this, &MainPanel::new_loc));
43 add(*(lbl_status=new GLtk::Label(res)));
44 lbl_status->set_geometry(GLtk::Geometry(10, 10, 180, 24));
45 lbl_status->set_style("digital");
47 if(engineer.get_control().get_power())
48 ind_on->set_active(true);
50 ind_off->set_active(true);
52 engineer.get_control().signal_power_event.connect(sigc::mem_fun(this, &MainPanel::power_event));
55 void MainPanel::set_status_text(const string &txt)
57 lbl_status->set_text(txt);
60 void MainPanel::power_on()
62 engineer.get_control().set_power(true);
63 ind_on->set_active(true);
64 ind_off->set_active(false);
67 void MainPanel::power_off()
69 engineer.get_control().set_power(false);
70 ind_on->set_active(false);
71 ind_off->set_active(true);
74 void MainPanel::new_loc()
79 void MainPanel::quit()
84 void MainPanel::power_event(bool p)
86 ind_on->set_active(p);
87 ind_off->set_active(!p);