Rev 346 | Rev 348 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef ELEVATOR_WINDOW_H#define ELEVATOR_WINDOW_H#include <gtkmm/button.h>#include <gtkmm/window.h>#include <gtkmm/togglebutton.h>#include <gtkmm/table.h>#include <gtkmm/label.h>#include <gtkmm/image.h>#include <gtkmm/stock.h>#include <gtkmm/dialog.h>#include <gtkmm/entry.h>#include <boost/algorithm/string.hpp>#include <vector>#include <string>#include <iostream>#include <sstream>#include <assert.h>#include "elevator.h"#include "controller.h"#include "dispatch_data.h"class Controller;typedef struct{Glib::ustring str;int button_num;int direction;Gtk::ToggleButton *theButton;}Button_Data;class Elevator_Window : public Gtk::Window{public:Elevator_Window (int numFloors, int numElevators);virtual ~Elevator_Window ();void set_controller (Controller *controller);void get_floors_from_user (int elevator_num);// Helper Functionsvoid open_elevator_at (int row, int col);void close_elevator_at (int row, int col);void unset_up_button (int button_num);void unset_down_button (int button_num);void set_label (int label_num, std::string new_text);protected:// Signal Handlersvirtual void on_toggle_button_pressed (Button_Data data);// Member WidgetsGtk::Table m_table;std::vector<Gtk::ToggleButton*> upbuttons;std::vector<Gtk::ToggleButton*> downbuttons;std::vector<Gtk::Image*> images;std::vector<Gtk::Label*> labels;// Member ControllerController *controller;// Member Variablesint numFloors;int numElevators;};#endif // ELEVATOR_WINDOW_H