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