The graph adadptors can be alteration observed.
In most cases it uses the adapted graph alteration notifiers.
Only special case is now the UndirGraphAdaptor, where
we have to proxy the signals from the graph.
The SubBidirGraphAdaptor is removed, because it doest not
gives more feature than the EdgeSubGraphAdaptor<UndirGraphAdaptor<Graph>>.
The ResGraphAdaptor is based on this composition.
8 #include <all_include.h>
10 #include <mapselector.h>
11 #include <libgnomecanvasmm.h>
12 #include <libgnomecanvasmm/polygon.h>
14 ///Graph visualization setup window.
16 ///This class is responsible for creating a window,
17 ///on which the visualization attributes can be
19 class MapWin : public Gtk::Window
22 ///\ref NoteBookTab to that the \ref MapWin belongs to.
28 ///\ref MapSelectors for each property
30 ///Each property has an own \ref MapSelector through which
31 ///the map to visualize by the property van be set.
32 MapSelector ** e_combo_array;
34 ///\ref MapSelectors for each property
36 ///Each property has an own \ref MapSelector through which
37 ///the map to visualize by the property van be set.
38 MapSelector ** n_combo_array;
43 ///Container in which elements are organized.
49 ///It creates the widgets shown in \ref MapWin and
50 ///binds the needed signal to the correct place.
51 ///\param title title of window
52 ///\param eml edgemap list
53 ///\param nml nodemap list
54 ///\param mw the owner \ref NoteBookTab (\ref mytab)
55 MapWin(const std::string& title, std::vector<std::string> eml, std::vector<std::string> nml, NoteBookTab & mw);
57 ///Deregistrates \ref MapWin in its \ref NoteBookTab (\ref mytab)
58 virtual bool on_delete_event(GdkEventAny *);
60 ///Handles changement in nodemap selection
62 ///If \ref MapSelector emits a signal that indicates
63 ///changement in nodemap selection this function will
64 ///be called. It calls the appropriate handler function,
65 ///\ref NoteBookTab::propertyChange with parameters describing the changement.
66 ///\param mapname the recently selected map
67 ///\param prop the changed property
68 void nodeMapChanged(std::string mapname, int prop);
70 ///Handles changement in edgemap selection
72 ///If \ref MapSelector emits a signal that indicates
73 ///changement in edgemap selection this function will
74 ///be called. It calls the appropriate handler function,
75 ///\ref NoteBookTab::propertyChange with parameters describing the changement.
76 ///\param mapname the recently selected map
77 ///\param prop the changed property
78 void edgeMapChanged(std::string mapname, int prop);
80 ///Indicates to the owner \ref NoteBookTab that a \ref NewMapWin should be opened.
82 ///This function is bound to the
83 ///signal emitted by the \ref MapSelector in case of
84 ///the user wants to create a new map. It only pass the
85 ///information further to the tab owning this \ref MapWin that is needed to open the
86 ///\ref NewMapWin. (\ref NoteBookTab::popupNewMapWin)
87 ///\param itisedge should the new map will be an edgemap? (or nodemap)
88 void newMapWinNeeded(bool itisedge);
90 ///This function inserts name of the new edgemap in the name list in \ref MapSelector s
94 void registerNewEdgeMap(std::string new_name);
96 ///This function inserts name of the new nodemap in the name list in \ref MapSelector s
100 void registerNewNodeMap(std::string new_name);
102 ///Close window if Esc key pressed.
103 virtual bool closeIfEscapeIsPressed(GdkEventKey*);
105 ///Updates list of maps in all \ref MapSelector
107 ///This function is called by \ref NoteBookTab, when the file
108 ///showed in it has changed, therefore the contained maps
109 ///have changed as well. \ref NoteBookTab knows, whether it
110 ///has to call this function or not from the \ref NoteBookTab::mapwinexists
112 ///\param eml edge map list
113 ///\param nml node map list
114 void update(std::vector<std::string> eml, std::vector<std::string> nml);