1 | // -*- C++ -*- // |
---|
2 | |
---|
3 | #ifndef ALGOWIN_H |
---|
4 | #define ALGOWIN_H |
---|
5 | |
---|
6 | class AlgoWin; |
---|
7 | |
---|
8 | #include <all_include.h> |
---|
9 | //#include <mapstorage.h> |
---|
10 | #include <algobox.h> |
---|
11 | #include <libgnomecanvasmm.h> |
---|
12 | #include <libgnomecanvasmm/polygon.h> |
---|
13 | |
---|
14 | class MapStorage; |
---|
15 | |
---|
16 | enum {GENERAL, KRUSKAL, ALGO_NUM}; // algorithm IDs; |
---|
17 | |
---|
18 | class AlgoWin : public Gtk::Window |
---|
19 | { |
---|
20 | private: |
---|
21 | AlgoBox * ab; |
---|
22 | Gtk::Button * runbutton; |
---|
23 | Gtk::Button * closebutton; |
---|
24 | |
---|
25 | protected: |
---|
26 | sigc::signal<void, AlgoWin *> signal_closed; |
---|
27 | sigc::signal<void, AlgoWin *, std::string> signal_maplist_need; |
---|
28 | sigc::signal<void, std::string, bool> signal_newmapwin_need; |
---|
29 | |
---|
30 | public: |
---|
31 | bool closeIfEscapeIsPressed(GdkEventKey* e); |
---|
32 | |
---|
33 | sigc::signal<void, AlgoWin *> signal_closing(); |
---|
34 | sigc::signal<void, AlgoWin *, std::string> signal_maplist_needed(); |
---|
35 | sigc::signal<void, std::string, bool> signal_newmapwin_needed(){return signal_newmapwin_need;}; |
---|
36 | |
---|
37 | void emit_tab_change(std::string); |
---|
38 | void emit_new_map_signal(std::string tabname, bool itisedge){signal_newmapwin_need.emit(tabname, itisedge);}; |
---|
39 | |
---|
40 | AlgoWin(int, std::vector<std::string>); |
---|
41 | |
---|
42 | void update_tablist(std::vector<std::string> tabnames); |
---|
43 | void update_maplist(MapStorage *); |
---|
44 | |
---|
45 | void on_hide(); |
---|
46 | }; |
---|
47 | #endif //ALGOWIN_H |
---|