Changeset 8697:22a2b2363c35 in orange


Ignore:
Timestamp:
08/14/11 12:42:17 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
ddde225931fac4c9f654d65d5dc2436bb439081d
Message:

Added set_edge_sizes, set_edge_colors, set_edge_labels.

Location:
source/orangeqt
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • source/orangeqt/networkcurve.cpp

    r8680 r8697  
    180180    set_u(u); 
    181181    set_v(v); 
    182     m_size = 1; 
    183182    QPen p = pen(); 
    184     p.setWidthF(m_size); 
     183    p.setWidthF(1); 
    185184    p.setCosmetic(true); 
    186185    setPen(p); 
     
    648647    // iterations 
    649648    //clock_t refresh_time = clock() + 0.05 * CLOCKS_PER_SEC; 
     649    Plot *p = plot(); 
     650    bool animation_enabled = p->animate_points; 
     651    p->animate_points = false; 
    650652 
    651653    QTime refresh_time = QTime::currentTime(); 
     
    761763    } 
    762764 
    763         register_points(); 
    764         return 0; 
     765    p->animate_points = animation_enabled; 
     766    register_points(); 
     767    return 0; 
    765768} 
    766769 
     
    880883{ 
    881884    cancelAllUpdates(); 
    882     // TODO inverted 
     885 
    883886    NodeItem* node; 
    884887    Nodes::ConstIterator nit; 
     
    10331036} 
    10341037 
    1035 void NetworkCurve::set_edge_color(const QList<QColor>& colors) 
     1038void NetworkCurve::set_edge_colors(const QList<QColor>& colors) 
    10361039{ 
    10371040    cancelAllUpdates(); 
     
    10451048} 
    10461049 
     1050void NetworkCurve::set_edge_sizes(double max_size) 
     1051{ 
     1052    cancelAllUpdates(); 
     1053 
     1054    double min_size_value = std::numeric_limits<double>::max(); 
     1055    double max_size_value = std::numeric_limits<double>::min(); 
     1056 
     1057    int i; 
     1058    for (i = 0; i < m_edges.size(); ++i) 
     1059    { 
     1060        double w = m_edges[i]->weight(); 
     1061        if (w < min_size_value) 
     1062        { 
     1063            min_size_value = w; 
     1064        } 
     1065        if (w > max_size_value) 
     1066        { 
     1067            max_size_value = w; 
     1068        } 
     1069    } 
     1070 
     1071    double size_span = max_size_value - min_size_value; 
     1072    double edge_size_span = (max_size > 0) ? max_size - 1 : 0; 
     1073 
     1074    if (size_span > 0 && edge_size_span > 0) 
     1075    { 
     1076        for (i = 0; i < m_edges.size(); ++i) 
     1077        { 
     1078            double w = m_edges[i]->weight(); 
     1079            QPen p = m_edges[i]->pen(); 
     1080            p.setWidthF((w - min_size_value) / size_span * edge_size_span + 1); 
     1081            m_edges[i]->setPen(p); 
     1082        } 
     1083    } 
     1084    else 
     1085    { 
     1086        for (i = 0; i < m_edges.size(); ++i) 
     1087        { 
     1088            QPen p = m_edges[i]->pen(); 
     1089            p.setWidthF(1); 
     1090            m_edges[i]->setPen(p); 
     1091        } 
     1092    } 
     1093} 
     1094 
     1095void NetworkCurve::set_edge_labels(const QList<QString>& labels) 
     1096{ 
     1097    cancelAllUpdates(); 
     1098    int i; 
     1099    for (i = 0; i < labels.size(); ++i) 
     1100    { 
     1101        m_edges[i]->set_label(labels[i]); 
     1102    } 
     1103} 
     1104 
    10471105void NetworkCurve::set_min_node_size(double size) 
    10481106{ 
  • source/orangeqt/networkcurve.h

    r8694 r8697  
    173173    int m_links_index; 
    174174    double m_weight; 
    175     double m_size; 
    176175    QString m_label; 
    177176}; 
     
    234233    void set_node_colors(const QMap<int, QColor>& colors); 
    235234    void set_node_sizes(const QMap<int, double>& sizes = QMap<int, double>(), double min_size=0, double max_size=0); 
    236     void set_edge_color(const QList<QColor>& colors); 
    237235    void set_node_labels(const QMap<int, QString>& labels); 
    238236    void set_node_tooltips(const QMap<int, QString>& tooltips); 
     
    241239    void set_node_coordinates(const QMap<int, QPair<double, double> >& coordinates); 
    242240 
     241    void set_edge_colors(const QList<QColor>& colors); 
     242    void set_edge_sizes(double max_size); 
     243    void set_edge_labels(const QList<QString>& labels); 
     244 
    243245    void set_min_node_size(double size); 
    244246    double min_node_size() const; 
  • source/orangeqt/networkcurve.sip

    r8680 r8697  
    111111    void set_node_coordinates(const QMap<int, QPair<double, double> >& coordinates); 
    112112     
    113     void set_edge_color(const QList<QColor>& colors); 
     113    void set_edge_colors(const QList<QColor>& colors); 
     114    void set_edge_sizes(double max_size); 
     115    void set_edge_labels(const QList<QString>& labels); 
    114116     
    115117    void set_min_node_size(double size); 
Note: See TracChangeset for help on using the changeset viewer.