Changeset 151:72f1c33f89d4 in glemon-0.x for gdc-broken_edge.cc
- Timestamp:
- 09/25/06 09:54:00 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/glemon/trunk@2953
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gdc-broken_edge.cc
r147 r151 156 156 GraphDisplayerCanvas::LoopEdge::LoopEdge(Gnome::Canvas::Group& _group, 157 157 Edge _edge, GraphDisplayerCanvas& _canvas) : 158 EdgeBase(_group, _edge, _canvas), line(*this) 159 { 160 line.property_fill_color().set_value("green"); 161 line.property_width_units().set_value(10); 158 EdgeBase(_group, _edge, _canvas), line(*this), isbutton(false) 159 { 160 arrow.signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::LoopEdge::edgeFormerEventHandler)); 161 162 line.property_outline_color().set_value("green"); 163 line.property_width_units().set_value(10); 162 164 line.lower_to_bottom(); 163 165 … … 200 202 void GraphDisplayerCanvas::LoopEdge::setFillColor(Gdk::Color c) 201 203 { 202 line.property_fill_color_gdk().set_value(c); 203 } 204 line.property_outline_color_gdk().set_value(c); 205 } 206 207 bool GraphDisplayerCanvas::LoopEdge::edgeFormerEventHandler(GdkEvent* e) 208 { 209 switch(e->type) 210 { 211 case GDK_BUTTON_PRESS: 212 if(canvas.getActualTool()!=CREATE_NODE) 213 { 214 canvas.toggleEdgeActivity(this, true); 215 isbutton=true; 216 } 217 break; 218 case GDK_BUTTON_RELEASE: 219 if(canvas.getActualTool()!=CREATE_NODE) 220 { 221 canvas.toggleEdgeActivity(this, false); 222 isbutton=false; 223 } 224 break; 225 case GDK_MOTION_NOTIFY: 226 if(isbutton) 227 { 228 canvas.mytab.mapstorage.arrow_pos.set(edge, XY(e->motion.x, e->motion.y)); 229 230 draw(); 231 canvas.textReposition(canvas.mytab.mapstorage.arrow_pos[edge]); 232 } 233 default: break; 234 } 235 return true; 236 }
Note: See TracChangeset
for help on using the changeset viewer.