Changeset 8443:587dcc88d123 in orange


Ignore:
Timestamp:
07/25/11 11:31:41 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
bd867444e2546961e53c7d706151763420963361
Message:

Asynchronouse update both nodes and edges in NetworkCurve

Location:
source/orangeplot
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • source/orangeplot/networkcurve.cpp

    r8442 r8443  
    206206 
    207207    updateItems(m_nodes, NodeUpdater(t), UpdatePosition); 
    208      
    209     QLineF line; 
    210     int n = m_edges.size(); 
    211     for (int i = 0; i < n; ++i) 
    212     { 
    213         EdgeItem* edge = m_edges[i]; 
    214         NodeItem* node = m_nodes[edge->u()->index()]; 
    215         line.setP1(QPointF(node->x(), node->y())); 
    216         node = m_nodes[edge->v()->index()]; 
    217         line.setP2(QPointF(node->x(), node->y())); 
    218         edge->setLine(line * t); 
    219     } 
     208    updateItems(m_edges, EdgeUpdater(t), UpdatePen); 
    220209} 
    221210 
  • source/orangeplot/networkcurve.h

    r8425 r8443  
    106106}; 
    107107 
     108class EdgeUpdater 
     109{ 
     110public: 
     111    EdgeUpdater(const QTransform& t) : m_t(t) {} 
     112    void operator()(EdgeItem* item) 
     113    { 
     114        if (item->u() && item->v()) 
     115        { 
     116            item->setLine(QLineF(item->u()->x(), item->u()->y(), item->v()->x(), item->v()->y()) * m_t); 
     117        } 
     118    } 
     119private: 
     120    QTransform m_t; 
     121}; 
     122 
    108123class NetworkCurve : public Curve 
    109124{ 
Note: See TracChangeset for help on using the changeset viewer.