COIN-OR::LEMON - Graph Library

Changeset 153:d79a71382836 in glemon-0.x


Ignore:
Timestamp:
09/25/06 14:08:35 (18 years ago)
Author:
Akos Ladanyi
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/glemon/trunk@2957
Message:

Bugfixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • graph_displayer_canvas-event.cc

    r151 r153  
    170170        for(OutEdgeIt ei((mytab.mapstorage).graph,active_node);ei!=INVALID;++ei)
    171171        {
     172          XY arrow_pos;
     173
     174          if (mytab.mapstorage.graph.source(ei) == mytab.mapstorage.graph.target(ei))
     175          {
     176            arrow_pos = mytab.mapstorage.arrow_pos[ei] + XY(dx, dy);
     177          }
     178          else
     179          {
    172180            XY moved_node_1(coord_x - dx, coord_y - dy);
    173181            XY moved_node_2(coord_x, coord_y);
    174182            Node target = mytab.mapstorage.graph.target(ei);
    175183            XY fix_node(mytab.mapstorage.coords[target].x,
    176                         mytab.mapstorage.coords[target].y);
     184                mytab.mapstorage.coords[target].y);
    177185            XY old_arrow_pos(mytab.mapstorage.arrow_pos[ei]);
    178186
    179             XY arrow_pos;
    180             arrow_pos = calcArrowPos(moved_node_1, moved_node_2, fix_node, old_arrow_pos, isbutton);
    181 
    182             mytab.mapstorage.arrow_pos.set(ei, arrow_pos);
    183             edgesmap[ei]->draw();
    184 
    185             //reposition of edgetext
    186             XY text_pos=mytab.mapstorage.arrow_pos[ei];
    187             text_pos+=(XY(10,10));
    188             edgetextmap[ei]->property_x().set_value(text_pos.x);
    189             edgetextmap[ei]->property_y().set_value(text_pos.y);
     187            arrow_pos = calcArrowPos(moved_node_1, moved_node_2, fix_node, old_arrow_pos, isbutton);
     188          }
     189
     190          mytab.mapstorage.arrow_pos.set(ei, arrow_pos);
     191          edgesmap[ei]->draw();
     192
     193          //reposition of edgetext
     194          XY text_pos=mytab.mapstorage.arrow_pos[ei];
     195          text_pos+=(XY(10,10));
     196          edgetextmap[ei]->property_x().set_value(text_pos.x);
     197          edgetextmap[ei]->property_y().set_value(text_pos.y);
    190198        }
    191199
    192200        for(InEdgeIt ei((mytab.mapstorage).graph,active_node);ei!=INVALID;++ei)
    193201        {
     202          if (mytab.mapstorage.graph.source(ei) != mytab.mapstorage.graph.target(ei))
     203          {
    194204            XY moved_node_1(coord_x - dx, coord_y - dy);
    195205            XY moved_node_2(coord_x, coord_y);
    196206            Node source = mytab.mapstorage.graph.source(ei);
    197207            XY fix_node(mytab.mapstorage.coords[source].x,
    198                         mytab.mapstorage.coords[source].y);
     208                mytab.mapstorage.coords[source].y);
    199209            XY old_arrow_pos(mytab.mapstorage.arrow_pos[ei]);
    200210
    201211            XY arrow_pos;
    202             arrow_pos = calcArrowPos(moved_node_1, moved_node_2, fix_node, old_arrow_pos, isbutton);
     212            arrow_pos = calcArrowPos(moved_node_1, moved_node_2, fix_node, old_arrow_pos, isbutton);
    203213
    204214            mytab.mapstorage.arrow_pos.set(ei, arrow_pos);
    205215            edgesmap[ei]->draw();
    206216
    207             //reposition of edgetext
    208             XY text_pos=mytab.mapstorage.arrow_pos[ei];
    209             text_pos+=(XY(10,10));
    210             edgetextmap[ei]->property_x().set_value(text_pos.x);
    211             edgetextmap[ei]->property_y().set_value(text_pos.y);
     217            //reposition of edgetext
     218            XY text_pos=mytab.mapstorage.arrow_pos[ei];
     219            text_pos+=(XY(10,10));
     220            edgetextmap[ei]->property_x().set_value(text_pos.x);
     221            edgetextmap[ei]->property_y().set_value(text_pos.y);
     222          }
    212223        }
    213224      }
     
    527538          for (EdgeIt i((mytab.mapstorage).graph); i!=INVALID; ++i)
    528539            {
    529               if(edgesmap[i]==active_item)
     540              if(edgesmap[i]->getLine()==active_item)
    530541                {
    531542                  active_edge=i;
Note: See TracChangeset for help on using the changeset viewer.