ladanyi@1: // -*- C++ -*- // ladanyi@1: ladanyi@1: #ifndef MAP_WIN_H ladanyi@1: #define MAP_WIN_H ladanyi@1: ladanyi@1: #include ladanyi@1: #include ladanyi@1: #include ladanyi@1: #include ladanyi@1: #include ladanyi@1: hegyi@4: ///This class is responsible for creating a window, hegyi@4: ///on which the visualization attributes can be hegyi@4: ///assigned to maps. ladanyi@1: class MapWin : public Gtk::Window ladanyi@1: { ladanyi@1: protected: hegyi@4: ///The \ref GraphDisplayerCanvas on which the graph will be drawn. hegyi@4: ///It has to be known for this class, because hegyi@4: ///when a map assigned to a certain attribute hegyi@4: ///a function of the \ref GraphDisplayerCanvas will be called. ladanyi@1: GraphDisplayerCanvas & gdc; hegyi@4: hegyi@4: ///The \ref MapStorage in which the visualizable maps are stored ladanyi@1: MapStorage & ms; ladanyi@1: hegyi@4: ladanyi@1: Gtk::HBox * radios; ladanyi@1: Gtk::RadioButton ** rb_array; ladanyi@1: ladanyi@1: Gtk::VBox vbox_b, * vbox_r1, * vbox_r2; hegyi@4: hegyi@4: ///The notebook has different pages for each attribute. ladanyi@1: Gtk::Notebook notebook; hegyi@4: ladanyi@1: Gtk::Label * labels; ladanyi@1: ladanyi@1: public: hegyi@4: ///Constructor of MapWin creates the widgets shown in MapWin. ladanyi@1: MapWin(const std::string& title, MapStorage &, GraphDisplayerCanvas &); hegyi@4: hegyi@4: ///If a radiobutton is clicked, this function determines hegyi@4: ///which button was that and after that calls the hegyi@4: ///appropriate function of the \ref GraphDisplayerCanvas hegyi@4: ///to change the visible values of that attribute. ladanyi@1: virtual void radio_click(int, int); ladanyi@1: }; ladanyi@1: ladanyi@1: #endif //MAP_WIN_H