Changeset 9358:71c213c15b0b in orange


Ignore:
Timestamp:
12/15/11 16:37:36 (2 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
a3103a5f61c1fcd1e74380113ecaf77d60275e65
Message:

Text on new layer.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Unsupervised/OWNxCanvasQt.py

    r9259 r9358  
    507507         
    508508    def set_node_labels(self, attributes=None): 
     509        print "set labels" 
    509510        if self.graph is None: 
    510511            return  
     
    525526             
    526527        if self.trim_label_words > 0: 
     528            print "trim" 
    527529            self.networkCurve.set_node_labels(dict((node,  
    528530                ', '.join(indices[i] +  
     
    530532                for att in label_attributes])) for i, node in enumerate(nodes))) 
    531533        else: 
     534            print "no trim" 
    532535            self.networkCurve.set_node_labels(dict((node, ', '.join(indices[i]+\ 
    533536                           [str(self.items[node][att]) for att in \ 
  • orange/OrangeWidgets/Unsupervised/OWNxExplorer.py

    r9266 r9358  
    266266                        ("buttonS2M", "Add selection to marked", None, None, "selected_to_marked", 'Dlg_Sel2Mark'), 
    267267                        G.Spacing, 
    268                         ("buttonSEL", "Hide selected", None, None, "hideSelectedVertices", 'Dlg_UnselectedNodes'), 
    269                         ("buttonUN", "Hide unselected", None, None, "hideUnSelectedVertices", 'Dlg_SelectedNodes'), 
    270                         ("buttonSW", "Show all nodes", None, None, "showAllVertices", 'Dlg_clear'), 
     268                        #("buttonSEL", "Hide selected", None, None, "hideSelectedVertices", 'Dlg_UnselectedNodes'), 
     269                        #("buttonUN", "Hide unselected", None, None, "hideUnSelectedVertices", 'Dlg_SelectedNodes'), 
     270                        #("buttonSW", "Show all nodes", None, None, "showAllVertices", 'Dlg_clear'), 
    271271                    ]) 
    272272            self.zoomSelectToolbar.buttons[G.SendSelection].clicked.connect(self.send_data) 
  • source/orangeqt/networkcurve.cpp

    r9030 r9358  
    2121#include <QtCore/QMap> 
    2222#include <QtCore/QList> 
     23#include <QtGui/QTextBlockFormat> 
     24#include <QtGui/QTextCursor> 
    2325 
    2426#include <QtCore/qmath.h> 
     
    529531    qDeleteAll(m_nodes); 
    530532    m_nodes.clear(); 
     533    qDeleteAll(m_labels); 
     534    m_labels.clear(); 
    531535} 
    532536 
     
    990994} 
    991995 
     996NetworkCurve::Labels NetworkCurve::labels() const 
     997{ 
     998    return m_labels; 
     999} 
     1000 
     1001void NetworkCurve::set_labels(const NetworkCurve::Labels& labels) 
     1002{ 
     1003    cancel_all_updates(); 
     1004    qDeleteAll(m_labels); 
     1005    m_labels = labels; 
     1006    //Q_ASSERT(m_labels.uniqueKeys() == m_labels.keys()); 
     1007    //register_points(); 
     1008} 
     1009 
     1010void NetworkCurve::add_labels(const NetworkCurve::Labels& labels) 
     1011{ 
     1012    Labels::ConstIterator it = labels.constBegin(); 
     1013    Labels::ConstIterator end = labels.constEnd(); 
     1014    QList<int> indices; 
     1015    for (it; it != end; ++it) 
     1016    { 
     1017        indices.append(it.key()); 
     1018 
     1019        if (m_labels.contains(it.key())) 
     1020        { 
     1021            remove_label(it.key()); 
     1022        } 
     1023    } 
     1024 
     1025    m_labels.unite(labels); 
     1026    Q_ASSERT(m_labels.uniqueKeys() == m_labels.keys()); 
     1027    //register_points(); 
     1028} 
     1029 
     1030void NetworkCurve::remove_label(int index) 
     1031{ 
     1032    cancel_all_updates(); 
     1033    if (!m_labels.contains(index)) 
     1034    { 
     1035        qWarning() << "Trying to remove label for node " << index << " which is not in the network"; 
     1036        return; 
     1037    } 
     1038    QGraphicsItem* label = m_labels.take(index); 
     1039    //Q_ASSERT(node->index() == index); 
     1040    /* 
     1041    Plot* p = plot(); 
     1042    if (p) 
     1043    { 
     1044        p->remove_point(node, this); 
     1045    } 
     1046    */ 
     1047    delete label; 
     1048} 
     1049 
     1050void NetworkCurve::remove_labels(const QList<int>& labels) 
     1051{ 
     1052    cancel_all_updates(); 
     1053    foreach (int i, labels) 
     1054    { 
     1055        remove_label(i); 
     1056    } 
     1057 
     1058} 
     1059 
    9921060void NetworkCurve::set_edges(const NetworkCurve::Edges& edges) 
    9931061{ 
     
    10401108        remove_node(i); 
    10411109    } 
    1042      
    10431110} 
    10441111 
     
    12071274void NetworkCurve::set_node_labels(const QMap<int, QString>& labels) 
    12081275{ 
    1209     cancel_all_updates(); 
    1210     QMap<int, QString>::ConstIterator it; 
     1276    cancel_all_updates(); 
     1277    qDeleteAll(m_labels); 
     1278    m_labels.clear(); 
     1279    QMap<int, QString>::ConstIterator it; 
    12111280    for (it = labels.constBegin(); it != labels.constEnd(); ++it) 
    12121281    { 
    1213         m_nodes[it.key()]->set_label(it.value()); 
     1282        QGraphicsTextItem* item = new QGraphicsTextItem(it.value(), this); 
     1283        item->setZValue(0.6); 
     1284        item->setFont(plot()->font()); 
     1285        item->setFlag(ItemIgnoresTransformations); 
     1286        //item->setPos(m_nodes[it.key()]->pos() - QPointF(item->boundingRect().width() / 2, 0)); 
     1287        item->setPos(m_nodes[it.key()]->pos()); 
     1288        /* 
     1289        QFontMetrics fm(item->font()); 
     1290        QTransform t; 
     1291        t.translate(-(fm.width(it.value()) / 2), -5); 
     1292        item->setTransform(t); 
     1293        item->setTextWidth(item->boundingRect().width()); 
     1294        QTextBlockFormat format; 
     1295        format.setAlignment(Qt::AlignHCenter); 
     1296        QTextCursor cursor = item->textCursor(); 
     1297        cursor.select(QTextCursor::Document); 
     1298        cursor.mergeBlockFormat(format); 
     1299        cursor.clearSelection(); 
     1300        item->setTextCursor(cursor); 
     1301        */ 
     1302        m_labels.insert(it.key(), item); 
    12141303    } 
    12151304} 
  • source/orangeqt/networkcurve.h

    r9030 r9358  
    214214    typedef QList<EdgeItem*> Edges; 
    215215    typedef QMap<int, NodeItem*> Nodes; 
     216    typedef QMap<int, QGraphicsTextItem*> Labels; 
    216217 
    217218    explicit NetworkCurve(QGraphicsItem* parent = 0); 
     
    238239    void set_edges(const Edges& edges); 
    239240    void add_edges(const Edges& edges); 
     241 
     242    Labels labels() const; 
     243    void set_labels(const Labels& labels); 
     244    void add_labels(const Labels& labels); 
     245    void remove_label(int index); 
     246    void remove_labels(const QList< int >& labels); 
    240247 
    241248    QList<QPair<int, int> > edge_indices(); 
     
    272279    Nodes m_nodes; 
    273280    Edges m_edges; 
     281    Labels m_labels; 
    274282 
    275283    double m_min_node_size; 
Note: See TracChangeset for help on using the changeset viewer.