gui/map_win.h
author deba
Wed, 02 Nov 2005 15:25:13 +0000
changeset 1752 dce1f28ac595
parent 1731 616bc933c2bc
child 1819 fd82adfbe905
permissions -rw-r--r--
IterableIntMap

todo: documentation need
ladanyi@1442
     1
// -*- C++ -*- //
ladanyi@1442
     2
ladanyi@1442
     3
#ifndef MAP_WIN_H
ladanyi@1442
     4
#define MAP_WIN_H
ladanyi@1442
     5
hegyi@1512
     6
class MapWin;
hegyi@1512
     7
ladanyi@1606
     8
#include "all_include.h"
ladanyi@1606
     9
#include "graph_displayer_canvas.h"
ladanyi@1606
    10
#include "mapstorage.h"
hegyi@1733
    11
#include "new_map_win.h"
hegyi@1731
    12
#include "mapselector.h"
ladanyi@1442
    13
#include <libgnomecanvasmm.h>
ladanyi@1442
    14
#include <libgnomecanvasmm/polygon.h>
ladanyi@1442
    15
ladanyi@1442
    16
///This class is responsible for creating a window,
ladanyi@1442
    17
///on which the visualization attributes can be
ladanyi@1442
    18
///assigned to maps.
ladanyi@1442
    19
class MapWin : public Gtk::Window
ladanyi@1442
    20
{
ladanyi@1442
    21
protected:
ladanyi@1442
    22
  ///The \ref GraphDisplayerCanvas on which the graph will be drawn.
ladanyi@1442
    23
  ///It has to be known for this class, because
ladanyi@1442
    24
  ///when a map assigned to a certain attribute
ladanyi@1442
    25
  ///a function of the \ref GraphDisplayerCanvas will be called.
ladanyi@1442
    26
  GraphDisplayerCanvas & gdc;
ladanyi@1442
    27
ladanyi@1442
    28
  ///The \ref MapStorage in which the visualizable maps are stored
ladanyi@1442
    29
  MapStorage & ms;
ladanyi@1442
    30
hegyi@1733
    31
  NewMapWin & nmw;
hegyi@1733
    32
hegyi@1512
    33
  Gtk::Table * table;
ladanyi@1442
    34
  
hegyi@1731
    35
  MapSelector ** e_combo_array, ** n_combo_array;
ladanyi@1442
    36
hegyi@1446
    37
  Gtk::Label * label;
ladanyi@1442
    38
hegyi@1512
    39
  Gtk::VBox vbox;
hegyi@1512
    40
ladanyi@1442
    41
public:
ladanyi@1442
    42
  ///Constructor of MapWin creates the widgets shown in MapWin.
hegyi@1733
    43
  MapWin(const std::string& title, MapStorage &, GraphDisplayerCanvas &, NewMapWin &);
ladanyi@1442
    44
hegyi@1512
    45
  ///This function is created to set the appropriate maps on the newly created node
hegyi@1524
    46
  void updateNode(Graph::Node);
hegyi@1512
    47
hegyi@1512
    48
  ///This function is created to set the appropriate maps on the newly created edge
hegyi@1524
    49
  void updateEdge(Graph::Edge);
hegyi@1512
    50
hegyi@1586
    51
  ///This function inserts name of the new edgemap in the list in the combo box
hegyi@1586
    52
  void registerNewEdgeMap(std::string);
hegyi@1586
    53
hegyi@1586
    54
  ///This function inserts name of the new nodemap in the list in the combo box
hegyi@1586
    55
  void registerNewNodeMap(std::string);
hegyi@1586
    56
hegyi@1524
    57
  virtual bool closeIfEscapeIsPressed(GdkEventKey*);
hegyi@1586
    58
ladanyi@1606
    59
  void update();
ladanyi@1442
    60
};
ladanyi@1442
    61
ladanyi@1442
    62
#endif //MAP_WIN_H