COIN-OR::LEMON - Graph Library

source: lemon-0.x/gui/map_win.h @ 1641:77f6ab7ad66f

Last change on this file since 1641:77f6ab7ad66f was 1606:dc4ea2010dee, checked in by Akos Ladanyi, 19 years ago

added support for saving files

File size: 2.0 KB
Line 
1// -*- C++ -*- //
2
3#ifndef MAP_WIN_H
4#define MAP_WIN_H
5
6class MapWin;
7
8#include "all_include.h"
9#include "graph_displayer_canvas.h"
10#include "mapstorage.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.
17class MapWin : public Gtk::Window
18{
19protected:
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
37public:
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  ///This function inserts name of the new edgemap in the list in the combo box
59  void registerNewEdgeMap(std::string);
60
61  ///This function inserts name of the new nodemap in the list in the combo box
62  void registerNewNodeMap(std::string);
63
64  virtual bool closeIfEscapeIsPressed(GdkEventKey*);
65
66  void update();
67};
68
69#endif //MAP_WIN_H
Note: See TracBrowser for help on using the repository browser.