1 #ifndef TIMETABLEPANEL_H_
2 #define TIMETABLEPANEL_H_
4 #include <msp/gltk/dropdown.h>
5 #include <msp/gltk/entry.h>
6 #include <msp/gltk/label.h>
7 #include <msp/gltk/list.h>
8 #include <msp/gltk/panel.h>
9 #include "libr2c2/timetable.h"
10 #include "libr2c2/train.h"
11 #include "3d/trackchain.h"
15 class TimetablePanel: public Msp::GLtk::Panel, public sigc::trackable
20 R2C2::Timetable *timetable;
21 Msp::GLtk::List *lst_timetable;
22 Msp::GLtk::Dropdown *drp_type;
24 Msp::GLtk::Label *lbl_zone;
25 Msp::GLtk::Entry *ent_time;
26 Msp::GLtk::BasicListData<const R2C2::Timetable::Row *> rows;
29 R2C2::Zone *picked_zone;
30 R2C2::TrackChain3D *pick_highlight;
33 TimetablePanel(Engineer &, R2C2::Train &);
36 void row_added(unsigned, const R2C2::Timetable::Row &);
37 void row_modified(unsigned, const R2C2::Timetable::Row &);
38 void row_removed(unsigned);
39 R2C2::Timetable::Row create_row();
41 void row_selected(unsigned);
43 void insert_clicked();
44 void delete_clicked();
47 virtual void button_press(int, int, unsigned);
48 virtual void pointer_motion(int, int);