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);