9 #include <nbtab.h> |
9 #include <nbtab.h> |
10 #include <mapselector.h> |
10 #include <mapselector.h> |
11 #include <libgnomecanvasmm.h> |
11 #include <libgnomecanvasmm.h> |
12 #include <libgnomecanvasmm/polygon.h> |
12 #include <libgnomecanvasmm/polygon.h> |
13 |
13 |
|
14 ///Graph visualization setup window. |
|
15 |
14 ///This class is responsible for creating a window, |
16 ///This class is responsible for creating a window, |
15 ///on which the visualization attributes can be |
17 ///on which the visualization attributes can be |
16 ///assigned to maps. |
18 ///assigned to maps. |
17 class MapWin : public Gtk::Window |
19 class MapWin : public Gtk::Window |
18 { |
20 { |
19 protected: |
21 protected: |
|
22 ///\ref NoteBookTab to that the \ref MapWin belongs to. |
20 NoteBookTab & mytab; |
23 NoteBookTab & mytab; |
21 |
24 |
|
25 ///Designing element |
22 Gtk::Table * table; |
26 Gtk::Table * table; |
23 |
27 |
24 MapSelector ** e_combo_array, ** n_combo_array; |
28 ///\ref MapSelectors for each property |
25 |
29 |
|
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; |
|
33 |
|
34 ///\ref MapSelectors for each property |
|
35 |
|
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; |
|
39 |
|
40 ///Information holder |
26 Gtk::Label * label; |
41 Gtk::Label * label; |
27 |
42 |
|
43 ///Container in which elements are organized. |
28 Gtk::VBox vbox; |
44 Gtk::VBox vbox; |
29 |
45 |
30 public: |
46 public: |
31 ///Constructor of MapWin creates the widgets shown in MapWin. |
47 ///Constructor |
32 MapWin(const std::string& title, std::vector<std::string>, std::vector<std::string>, NoteBookTab & mw); |
|
33 |
48 |
34 ~MapWin(); |
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); |
35 |
56 |
|
57 ///Deregistrates \ref MapWin in its \ref NoteBookTab (\ref mytab) |
36 virtual bool on_delete_event(GdkEventAny *); |
58 virtual bool on_delete_event(GdkEventAny *); |
37 |
59 |
38 void nodeMapChanged(std::string, int); |
60 ///Handles changement in nodemap selection |
39 |
61 |
40 void edgeMapChanged(std::string, int); |
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); |
41 |
69 |
42 void newMapWinNeeded(bool); |
70 ///Handles changement in edgemap selection |
43 |
71 |
44 ///This function inserts name of the new edgemap in the list in the combo box |
72 ///If \ref MapSelector emits a signal that indicates |
45 void registerNewEdgeMap(std::string); |
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); |
46 |
79 |
47 ///This function inserts name of the new nodemap in the list in the combo box |
80 ///Indicates to the owner \ref NoteBookTab that a \ref NewMapWin should be opened. |
48 void registerNewNodeMap(std::string); |
|
49 |
81 |
|
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); |
|
89 |
|
90 ///This function inserts name of the new edgemap in the name list in \ref MapSelector s |
|
91 |
|
92 ///\param new_name |
|
93 ///name of new map |
|
94 void registerNewEdgeMap(std::string new_name); |
|
95 |
|
96 ///This function inserts name of the new nodemap in the name list in \ref MapSelector s |
|
97 |
|
98 ///\param new_name |
|
99 ///name of new map |
|
100 void registerNewNodeMap(std::string new_name); |
|
101 |
|
102 ///Close window if Esc key pressed. |
50 virtual bool closeIfEscapeIsPressed(GdkEventKey*); |
103 virtual bool closeIfEscapeIsPressed(GdkEventKey*); |
51 |
104 |
52 void update(std::vector<std::string>, std::vector<std::string>); |
105 ///Updates list of maps in all \ref MapSelector |
|
106 |
|
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 |
|
111 ///variable. |
|
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); |
53 }; |
115 }; |
54 |
116 |
55 #endif //MAP_WIN_H |
117 #endif //MAP_WIN_H |