gui/map_win.h
author athos
Mon, 04 Jul 2005 13:08:31 +0000
changeset 1530 d99c3c84f797
parent 1512 e54392395480
child 1586 1a8630f2e944
permissions -rw-r--r--
Doc.
     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 <mapstorage.h>
    10 #include <graph_displayer_canvas.h>
    11 #include <libgnomecanvasmm.h>
    12 #include <libgnomecanvasmm/polygon.h>
    13 
    14 ///This class is responsible for creating a window,
    15 ///on which the visualization attributes can be
    16 ///assigned to maps.
    17 class MapWin : public Gtk::Window
    18 {
    19 protected:
    20   ///The \ref GraphDisplayerCanvas on which the graph will be drawn.
    21   ///It has to be known for this class, because
    22   ///when a map assigned to a certain attribute
    23   ///a function of the \ref GraphDisplayerCanvas will be called.
    24   GraphDisplayerCanvas & gdc;
    25 
    26   ///The \ref MapStorage in which the visualizable maps are stored
    27   MapStorage & ms;
    28 
    29   Gtk::Table * table;
    30   
    31   Gtk::Combo * e_combo_array, * n_combo_array;
    32 
    33   Gtk::Label * label;
    34 
    35   Gtk::VBox vbox;
    36 
    37 public:
    38   ///Constructor of MapWin creates the widgets shown in MapWin.
    39   MapWin(const std::string& title, MapStorage &, GraphDisplayerCanvas &);
    40 
    41   ///If a radiobutton is clicked, this function determines
    42   ///which button was that and after that calls the
    43   ///appropriate function of the \ref GraphDisplayerCanvas
    44   ///to change the visible values of that attribute.
    45   virtual void eComboChanged(int);
    46   ///If a radiobutton is clicked, this function determines
    47   ///which button was that and after that calls the
    48   ///appropriate function of the \ref GraphDisplayerCanvas
    49   ///to change the visible values of that attribute.
    50   virtual void nComboChanged(int);
    51 
    52   ///This function is created to set the appropriate maps on the newly created node
    53   void updateNode(Graph::Node);
    54 
    55   ///This function is created to set the appropriate maps on the newly created edge
    56   void updateEdge(Graph::Edge);
    57 
    58   virtual bool closeIfEscapeIsPressed(GdkEventKey*);
    59 };
    60 
    61 #endif //MAP_WIN_H