Changeset 32:1f45545f124c in glemon-0.x
- Timestamp:
- 07/12/05 20:21:49 (20 years ago)
- Branch:
- gui
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk/gui@2046
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
all_include.h
r28 r32 19 19 enum {E_WIDTH, E_COLOR, E_TEXT, EDGE_PROPERTY_NUM}; // edge properties; 20 20 enum {N_RADIUS, N_COLOR, N_TEXT, NODE_PROPERTY_NUM}; // node properties; 21 enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, EDGE_MAP_EDIT, TOOL_NUM}; // tools;21 enum {MOVE, CREATE_NODE, CREATE_EDGE, ERASER, EDGE_MAP_EDIT, NODE_MAP_EDIT, TOOL_NUM}; // tools; 22 22 #define RANGE 3 23 23 #define WIN_WIDTH 900 -
graph_displayer_canvas-event.cc
r31 r32 42 42 case ERASER: 43 43 actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::eraserEventHandler), false); 44 break; 45 46 case EDGE_MAP_EDIT: 47 actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::edgeMapEditEventHandler), false); 48 break; 49 50 case NODE_MAP_EDIT: 51 actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::nodeMapEditEventHandler), false); 44 52 break; 45 53 … … 211 219 case GDK_MOTION_NOTIFY: 212 220 { 213 double world_motion_x, world_motion_y;214 221 GdkEvent * generated=new GdkEvent(); 215 222 generated->motion.x=e->motion.x; … … 477 484 } 478 485 486 bool GraphDisplayerCanvas::edgeMapEditEventHandler(GdkEvent* e) 487 { 488 switch(e->type) 489 { 490 case GDK_BUTTON_PRESS: 491 window_to_world (e->button.x, e->button.y, clicked_x, clicked_y); 492 active_item=(get_item_at(clicked_x, clicked_y)); 493 active_edge=INVALID; 494 for (EdgeIt i(g); i!=INVALID; ++i) 495 { 496 if(edgesmap[i]==active_item) 497 { 498 active_edge=i; 499 } 500 } 501 if(active_edge!=INVALID) 502 { 503 if(canvasentrywidget) 504 { 505 delete(canvasentrywidget); 506 } 507 entrywidget.show(); 508 entrywidget.set_text("Hello!"); 509 // canvasentrywidget=new Gnome::Canvas::Widget(displayed_graph, clicked_x, clicked_y,entrywidget); 510 canvasentrywidget=new Gnome::Canvas::Widget(displayed_graph, e->button.x, e->button.y, entrywidget); 511 canvasentrywidget->property_width().set_value(70); 512 canvasentrywidget->property_height().set_value(50); 513 canvasentrywidget->show(); 514 *(edgesmap[active_edge]) << Gnome::Canvas::Properties::fill_color("red"); 515 } 516 active_item=NULL; // !!!!!!!!!!!!!!!!!!!!!!!!!!! 517 active_edge=INVALID; // !!!!!!!!!!!!!!!!!!!!!!!!!!! 518 break; 519 default: 520 break; 521 } 522 return false; 523 } 524 525 bool GraphDisplayerCanvas::nodeMapEditEventHandler(GdkEvent* e) 526 { 527 e=e; 528 return false; 529 } 530 479 531 void GraphDisplayerCanvas::deleteItem(NodeIt node_to_delete) 480 532 { … … 537 589 538 590 } 591 -
graph_displayer_canvas.cc
r31 r32 3 3 #include <math.h> 4 4 5 GraphDisplayerCanvas::GraphDisplayerCanvas(Graph & gr, CoordinatesMap & cm, MapStorage & ms, MapWin * mw):g(gr),nodesmap(g),edgesmap(g),edgetextmap(g),nodetextmap(g),displayed_graph(*(root()), 0, 0), mapstorage(ms),isbutton(0),active_item(NULL),target_item(NULL),mapwin(mw)5 GraphDisplayerCanvas::GraphDisplayerCanvas(Graph & gr, CoordinatesMap & cm, MapStorage & ms, MapWin * mw):g(gr),nodesmap(g),edgesmap(g),edgetextmap(g),nodetextmap(g),displayed_graph(*(root()), 0, 0),canvasentrywidget(NULL),mapstorage(ms),isbutton(0),active_item(NULL),target_item(NULL),mapwin(mw) 6 6 { 7 7 … … 71 71 GraphDisplayerCanvas::~GraphDisplayerCanvas() 72 72 { 73 if(canvasentrywidget) 74 { 75 delete(canvasentrywidget); 76 } 73 77 74 78 //writing out the end state of the graph -
graph_displayer_canvas.h
r30 r32 86 86 ///event handler for the case when eraser-tool is active 87 87 bool eraserEventHandler(GdkEvent*); 88 ///event handler for the case when e raser-tool is active88 ///event handler for the case when edge map editor tool is active 89 89 bool edgeMapEditEventHandler(GdkEvent*); 90 ///event handler for the case when node map editor tool is active 91 bool nodeMapEditEventHandler(GdkEvent*); 90 92 91 93 public: … … 127 129 Gnome::Canvas::Group displayed_graph; 128 130 131 ///Map editor entry 132 Gtk::Entry entrywidget; 133 134 ///GnomeCanvas holder for entry 135 Gnome::Canvas::Widget * canvasentrywidget; 136 129 137 ///Here we store the maps that can be displayed through properties. 130 138 MapStorage mapstorage; -
main_win.cc
r28 r32 46 46 ag->add( Gtk::Action::create("MoveItem", Gtk::Stock::CONVERT), 47 47 sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 0) ); 48 ag->add( Gtk::Action::create("EditEdgeMap", Gtk::Stock::PROPERTIES), 49 sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 4) ); 50 ag->add( Gtk::Action::create("EditNodeMap", Gtk::Stock::PREFERENCES), 51 sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 5) ); 48 52 49 53 uim=Gtk::UIManager::create(); … … 89 93 " <toolitem action='EraseItem' />" 90 94 " <toolitem action='MoveItem' />" 95 " <toolitem action='EditEdgeMap' />" 96 " <toolitem action='EditNodeMap' />" 91 97 " </toolbar>" 92 98 "</ui>";
Note: See TracChangeset
for help on using the changeset viewer.