hegyi@163: // -*- C++ -*- // hegyi@163: hegyi@163: #ifndef DIJKSTRABOX_H hegyi@163: #define DIJKSTRABOX_H hegyi@163: hegyi@163: class DijkstraBox; hegyi@163: hegyi@163: #include hegyi@163: #include hegyi@163: #include hegyi@163: #include hegyi@163: #include hegyi@163: hegyi@163: ///Graphical interface to run Dijkstra algorithm. hegyi@163: hegyi@163: ///Child of \ref AlgoBox, hegyi@163: ///therefore the only task to do at implementation was to hegyi@163: /// hegyi@163: ///-call init function with correct parameters from correctly parametrized constructor hegyi@163: /// hegyi@163: ///-implement \ref build_box function hegyi@163: /// hegyi@163: ///-implement \ref run function hegyi@163: class DijkstraBox : public AlgoBox hegyi@163: { hegyi@163: ///Shows result of Dijkstra algorithm hegyi@163: Gtk::Label resultlabel; hegyi@163: hegyi@163: hegyi@163: ///Table for nodeselector widgets hegyi@163: Gtk::Table table; hegyi@163: hegyi@163: ///Combobox for select source node hegyi@163: Gtk::ComboBoxText source; hegyi@163: hegyi@163: ///Combobox for select target node hegyi@163: Gtk::ComboBoxText target; hegyi@163: hegyi@163: public: hegyi@163: ///Calls \ref AlgoBox::init function to initialize class properly, automatically. hegyi@163: DijkstraBox(std::vector t); hegyi@163: hegyi@163: ///Prepare, run and postprocess Dijkstra algorithm. hegyi@163: hegyi@163: ///\ref glemon works only with maps filled with double values hegyi@163: ///at the moment. While Dijkstra nedds a bool map as output. hegyi@163: ///As postprocess this bool map should be transformed to hegyi@163: ///double map. hegyi@163: void run(); hegyi@163: hegyi@163: ///Builds the graphical design of the interface. hegyi@163: void build_box(); hegyi@163: hegyi@163: void maplists_updated(); hegyi@163: }; hegyi@163: #endif //DIJKSTRABOX_H