gui/map_win.h
author alpar
Mon, 24 Oct 2005 08:11:21 +0000
changeset 1735 41e96cd91d6d
parent 1731 616bc933c2bc
child 1819 fd82adfbe905
permissions -rw-r--r--
New version of XML reader/writer.
Now, there are only a single XmlIo class both for reading and writing.
     1 // -*- C++ -*- //
     2 
     3 #ifndef MAP_WIN_H
     4 #define MAP_WIN_H
     5 
     6 class MapWin;
     7 
     8 #include "all_include.h"
     9 #include "graph_displayer_canvas.h"
    10 #include "mapstorage.h"
    11 #include "new_map_win.h"
    12 #include "mapselector.h"
    13 #include <libgnomecanvasmm.h>
    14 #include <libgnomecanvasmm/polygon.h>
    15 
    16 ///This class is responsible for creating a window,
    17 ///on which the visualization attributes can be
    18 ///assigned to maps.
    19 class MapWin : public Gtk::Window
    20 {
    21 protected:
    22   ///The \ref GraphDisplayerCanvas on which the graph will be drawn.
    23   ///It has to be known for this class, because
    24   ///when a map assigned to a certain attribute
    25   ///a function of the \ref GraphDisplayerCanvas will be called.
    26   GraphDisplayerCanvas & gdc;
    27 
    28   ///The \ref MapStorage in which the visualizable maps are stored
    29   MapStorage & ms;
    30 
    31   NewMapWin & nmw;
    32 
    33   Gtk::Table * table;
    34   
    35   MapSelector ** e_combo_array, ** n_combo_array;
    36 
    37   Gtk::Label * label;
    38 
    39   Gtk::VBox vbox;
    40 
    41 public:
    42   ///Constructor of MapWin creates the widgets shown in MapWin.
    43   MapWin(const std::string& title, MapStorage &, GraphDisplayerCanvas &, NewMapWin &);
    44 
    45   ///This function is created to set the appropriate maps on the newly created node
    46   void updateNode(Graph::Node);
    47 
    48   ///This function is created to set the appropriate maps on the newly created edge
    49   void updateEdge(Graph::Edge);
    50 
    51   ///This function inserts name of the new edgemap in the list in the combo box
    52   void registerNewEdgeMap(std::string);
    53 
    54   ///This function inserts name of the new nodemap in the list in the combo box
    55   void registerNewNodeMap(std::string);
    56 
    57   virtual bool closeIfEscapeIsPressed(GdkEventKey*);
    58 
    59   void update();
    60 };
    61 
    62 #endif //MAP_WIN_H