hegyi@1871: // -*- C++ -*- // hegyi@1871: hegyi@1871: #ifndef ALGOWIN_H hegyi@1871: #define ALGOWIN_H hegyi@1871: hegyi@1871: class AlgoWin; hegyi@1871: hegyi@1871: #include hegyi@1879: //#include hegyi@1871: #include hegyi@1871: #include hegyi@1871: #include hegyi@1871: hegyi@1879: class MapStorage; hegyi@1879: hegyi@1876: enum {GENERAL, KRUSKAL, ALGO_NUM}; // algorithm IDs; hegyi@1871: hegyi@1876: class AlgoWin : public Gtk::Window hegyi@1871: { hegyi@1871: private: hegyi@1871: AlgoBox * ab; hegyi@1876: Gtk::Button * runbutton; hegyi@1876: Gtk::Button * closebutton; hegyi@1871: hegyi@1871: protected: hegyi@1871: sigc::signal signal_closed; hegyi@1876: sigc::signal signal_maplist_need; hegyi@1884: sigc::signal signal_newmapwin_need; hegyi@1871: hegyi@1871: public: hegyi@1876: bool closeIfEscapeIsPressed(GdkEventKey* e); hegyi@1871: hegyi@1876: sigc::signal signal_closing(); hegyi@1876: sigc::signal signal_maplist_needed(); hegyi@1884: sigc::signal signal_newmapwin_needed(){return signal_newmapwin_need;}; hegyi@1871: hegyi@1876: void emit_tab_change(std::string); hegyi@1884: void emit_new_map_signal(std::string tabname, bool itisedge){signal_newmapwin_need.emit(tabname, itisedge);}; hegyi@1871: hegyi@1878: AlgoWin(int, std::vector); hegyi@1876: hegyi@1876: void update_tablist(std::vector tabnames); hegyi@1879: void update_maplist(MapStorage *); hegyi@1876: hegyi@1876: void on_hide(); hegyi@1871: }; hegyi@1871: #endif //ALGOWIN_H