1.1 --- a/graph_displayer_canvas-event.cc Wed Jun 29 19:44:30 2005 +0000
1.2 +++ b/graph_displayer_canvas-event.cc Tue Jul 12 18:21:49 2005 +0000
1.3 @@ -43,6 +43,14 @@
1.4 actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::eraserEventHandler), false);
1.5 break;
1.6
1.7 + case EDGE_MAP_EDIT:
1.8 + actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::edgeMapEditEventHandler), false);
1.9 + break;
1.10 +
1.11 + case NODE_MAP_EDIT:
1.12 + actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::nodeMapEditEventHandler), false);
1.13 + break;
1.14 +
1.15 default:
1.16 break;
1.17 }
1.18 @@ -210,7 +218,6 @@
1.19 //move the new node
1.20 case GDK_MOTION_NOTIFY:
1.21 {
1.22 - double world_motion_x, world_motion_y;
1.23 GdkEvent * generated=new GdkEvent();
1.24 generated->motion.x=e->motion.x;
1.25 generated->motion.y=e->motion.y;
1.26 @@ -476,6 +483,51 @@
1.27 return false;
1.28 }
1.29
1.30 +bool GraphDisplayerCanvas::edgeMapEditEventHandler(GdkEvent* e)
1.31 +{
1.32 + switch(e->type)
1.33 + {
1.34 + case GDK_BUTTON_PRESS:
1.35 + window_to_world (e->button.x, e->button.y, clicked_x, clicked_y);
1.36 + active_item=(get_item_at(clicked_x, clicked_y));
1.37 + active_edge=INVALID;
1.38 + for (EdgeIt i(g); i!=INVALID; ++i)
1.39 + {
1.40 + if(edgesmap[i]==active_item)
1.41 + {
1.42 + active_edge=i;
1.43 + }
1.44 + }
1.45 + if(active_edge!=INVALID)
1.46 + {
1.47 + if(canvasentrywidget)
1.48 + {
1.49 + delete(canvasentrywidget);
1.50 + }
1.51 + entrywidget.show();
1.52 + entrywidget.set_text("Hello!");
1.53 + // canvasentrywidget=new Gnome::Canvas::Widget(displayed_graph, clicked_x, clicked_y,entrywidget);
1.54 + canvasentrywidget=new Gnome::Canvas::Widget(displayed_graph, e->button.x, e->button.y, entrywidget);
1.55 + canvasentrywidget->property_width().set_value(70);
1.56 + canvasentrywidget->property_height().set_value(50);
1.57 + canvasentrywidget->show();
1.58 + *(edgesmap[active_edge]) << Gnome::Canvas::Properties::fill_color("red");
1.59 + }
1.60 + active_item=NULL; // !!!!!!!!!!!!!!!!!!!!!!!!!!!
1.61 + active_edge=INVALID; // !!!!!!!!!!!!!!!!!!!!!!!!!!!
1.62 + break;
1.63 + default:
1.64 + break;
1.65 + }
1.66 + return false;
1.67 +}
1.68 +
1.69 +bool GraphDisplayerCanvas::nodeMapEditEventHandler(GdkEvent* e)
1.70 +{
1.71 + e=e;
1.72 + return false;
1.73 +}
1.74 +
1.75 void GraphDisplayerCanvas::deleteItem(NodeIt node_to_delete)
1.76 {
1.77 delete(nodetextmap[node_to_delete]);
1.78 @@ -536,3 +588,4 @@
1.79 }
1.80
1.81 }
1.82 +