algowin.h
author hegyi
Fri, 06 Jan 2006 16:07:08 +0000
branchgui
changeset 114 0ace7edbb06f
parent 109 9f8dc346ac6e
child 125 e8bf8bbcf75a
permissions -rw-r--r--
In algorithm window maps can be selected and reated through MapSelector widget.
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