gui/algowin.h
author hegyi
Thu, 05 Jan 2006 12:30:09 +0000
changeset 1878 409a31271efd
parent 1876 5ad84ad1b68f
child 1879 01d41844ef46
permissions -rw-r--r--
Several changes. \n If new map is added to mapstorage it emits signal with the name of the new map. This was important, because from now on not only tha mapwin should be updated. \n Furthermore algobox gets a pointer to mapstorage instead of only the mapnames from it. This is important because without it it would be complicated to pass all of the required maps to algobox.
hegyi@1871
     1
// -*- C++ -*- //
hegyi@1871
     2
hegyi@1871
     3
#ifndef ALGOWIN_H
hegyi@1871
     4
#define ALGOWIN_H
hegyi@1871
     5
hegyi@1871
     6
class AlgoWin;
hegyi@1871
     7
hegyi@1871
     8
#include <all_include.h>
hegyi@1871
     9
#include <algobox.h>
hegyi@1871
    10
#include <libgnomecanvasmm.h>
hegyi@1871
    11
#include <libgnomecanvasmm/polygon.h>
hegyi@1871
    12
hegyi@1876
    13
enum {GENERAL, KRUSKAL, ALGO_NUM}; // algorithm IDs;
hegyi@1871
    14
hegyi@1876
    15
class AlgoWin : public Gtk::Window
hegyi@1871
    16
{
hegyi@1871
    17
private:
hegyi@1871
    18
  AlgoBox * ab;
hegyi@1876
    19
  Gtk::Button * runbutton;
hegyi@1876
    20
  Gtk::Button * closebutton;
hegyi@1871
    21
hegyi@1871
    22
protected:
hegyi@1871
    23
  sigc::signal<void, AlgoWin *> signal_closed;  
hegyi@1876
    24
  sigc::signal<void, AlgoWin *, std::string> signal_maplist_need;  
hegyi@1871
    25
hegyi@1871
    26
public:
hegyi@1876
    27
  bool closeIfEscapeIsPressed(GdkEventKey* e);
hegyi@1871
    28
hegyi@1876
    29
  sigc::signal<void, AlgoWin *> signal_closing();
hegyi@1876
    30
  sigc::signal<void, AlgoWin *, std::string> signal_maplist_needed();
hegyi@1871
    31
hegyi@1876
    32
  void emit_tab_change(std::string);
hegyi@1871
    33
hegyi@1878
    34
  AlgoWin(int, std::vector<std::string>);
hegyi@1876
    35
hegyi@1876
    36
  void update_tablist(std::vector<std::string> tabnames);
hegyi@1878
    37
  void update_maplist( void *);
hegyi@1876
    38
hegyi@1876
    39
  void on_hide();
hegyi@1871
    40
};
hegyi@1871
    41
#endif //ALGOWIN_H