1 // -*- C++ -*- // |
1 // -*- C++ -*- // |
2 |
2 |
3 #ifndef GRAPH_DISPLAYER_CANVAS_H |
3 #ifndef GRAPH_DISPLAYER_CANVAS_H |
4 #define GRAPH_DISPLAYER_CANVAS_H |
4 #define GRAPH_DISPLAYER_CANVAS_H |
|
5 |
|
6 class GraphDisplayerCanvas; |
5 |
7 |
6 #include <all_include.h> |
8 #include <all_include.h> |
7 #include <mapstorage.h> |
9 #include <mapstorage.h> |
8 #include <broken_edge.h> |
10 #include <broken_edge.h> |
9 #include <libgnomecanvasmm.h> |
11 #include <libgnomecanvasmm.h> |
67 bool create_node_event_handler(GdkEvent*); |
69 bool create_node_event_handler(GdkEvent*); |
68 ///event handler for the case when create_edge-tool is active |
70 ///event handler for the case when create_edge-tool is active |
69 bool create_edge_event_handler(GdkEvent*); |
71 bool create_edge_event_handler(GdkEvent*); |
70 ///event handler for the case when eraser-tool is active |
72 ///event handler for the case when eraser-tool is active |
71 bool eraser_event_handler(GdkEvent*); |
73 bool eraser_event_handler(GdkEvent*); |
|
74 ///event handler for the case when eraser-tool is active |
|
75 bool edge_map_edit_event_handler(GdkEvent*); |
72 |
76 |
|
77 public: |
|
78 ///\return the actual tool in hand |
|
79 int get_actual_tool(); |
|
80 |
|
81 private: |
73 ///Deletes the given element. |
82 ///Deletes the given element. |
74 void delete_item(NodeIt); |
83 void delete_item(NodeIt); |
75 ///Deletes the given element. |
84 ///Deletes the given element. |
76 void delete_item(EdgeIt); |
85 void delete_item(EdgeIt); |
77 ///Deletes the given element. |
86 ///Deletes the given element. |
78 void delete_item(Graph::Edge); |
87 void delete_item(Graph::Edge); |
|
88 |
|
89 private: |
79 |
90 |
80 ///The graph, on which we work |
91 ///The graph, on which we work |
81 Graph g; |
92 Graph g; |
82 |
93 |
83 ///Map of nodes of graph |
94 ///Map of nodes of graph |
96 MapStorage mapstorage; |
107 MapStorage mapstorage; |
97 |
108 |
98 ///Indicates whether the button of mouse is pressed or not |
109 ///Indicates whether the button of mouse is pressed or not |
99 int isbutton; |
110 int isbutton; |
100 |
111 |
|
112 ///Stores the actual tool in hand |
|
113 int actual_tool; |
|
114 |
101 ///At this location was the mousebutton pressed. |
115 ///At this location was the mousebutton pressed. |
102 ///It helps to calculate the distance of dragging. |
116 ///It helps to calculate the distance of dragging. |
103 double clicked_x, clicked_y; |
117 double clicked_x, clicked_y; |
104 |
118 |
105 ///Remembers which Gnome::Canvas::Item was pressed. |
119 ///Remembers which Gnome::Canvas::Item was pressed. |