Changeset 8704:37ea5fd8951d in orange


Ignore:
Timestamp:
08/14/11 15:05:16 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
f095807e48746568b94fa60d68d1a39037aaf91e
Message:

Make point selection work (again)

Location:
source/orangeqt
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • source/orangeqt/plot.cpp

    r8671 r8704  
    275275{ 
    276276    QList<Point*> list; 
    277     foreach (const PointHash& hash, m_point_hash) 
    278     { 
    279         foreach (Point* point, hash) 
    280         { 
    281             if (point->is_selected()) 
    282             { 
    283                 list.append(point); 
    284             } 
    285         } 
    286     } 
     277    foreach (Point* p, all_points()) 
     278    { 
     279        if (p->is_selected()) 
     280        { 
     281            list << p; 
     282        } 
     283    } 
     284    qDebug() << "Found" << list.size() << "selected points"; 
    287285    return list; 
    288286} 
     
    291289{ 
    292290    QList<Point*> list; 
    293     foreach (const PointHash& hash, m_point_hash) 
    294     { 
    295         foreach (Point* point, hash) 
    296         { 
    297             if (point->is_marked()) 
    298             { 
    299                 list.append(point); 
    300             } 
     291    foreach (Point* point, all_points()) 
     292    { 
     293        if (point->is_marked()) 
     294        { 
     295            list.append(point); 
    301296        } 
    302297    } 
     
    371366    m_point_set[parent].insert(pos); 
    372367    m_point_hash[parent].insert(pos, point); 
     368    qDebug() << "Added point" << m_point_set[parent].size(); 
    373369} 
    374370 
     
    399395void Plot::unmark_all_points() 
    400396{ 
    401     foreach (const PointHash& hash, m_point_hash) 
    402     { 
    403         foreach (Point* point, hash) 
    404         { 
    405             point->set_marked(false); 
    406         } 
     397    foreach (Point* point, all_points()) 
     398    { 
     399        point->set_marked(false); 
    407400    } 
    408401    emit marked_points_changed(); 
     
    411404void Plot::unselect_all_points() 
    412405{ 
    413     foreach (const PointHash& hash, m_point_hash) 
    414     { 
    415         foreach (Point* point, hash) 
    416         { 
    417             point->set_selected(false); 
    418         } 
     406    foreach (Point* point, all_points()) 
     407    { 
     408        point->set_selected(false); 
    419409    } 
    420410    emit selection_changed(); 
     
    451441void Plot::mark_points(const Data& data, Plot::SelectionBehavior behavior) 
    452442{ 
    453     qDebug() << "Trying to mark" << data.size() << "points"; 
    454443    foreach (const PointHash& hash, m_point_hash) 
    455444    { 
     
    487476} 
    488477 
    489  
     478QList< Point* > Plot::all_points() 
     479{ 
     480    QList<Point*> list; 
     481    foreach (PlotItem* item, plot_items()) 
     482    { 
     483        Curve* curve = qobject_cast<Curve*>(item); 
     484        if (!curve) 
     485        { 
     486            continue; 
     487        } 
     488        list << curve->points(); 
     489    } 
     490    return list; 
     491} 
    490492 
    491493#include "plot.moc" 
  • source/orangeqt/plot.h

    r8690 r8704  
    8484    QList< Point*> marked_points(); 
    8585     
    86     Point* nearest_point(const QPointF& pos); 
    87      
     86    Point* nearest_point(const QPointF& pos);     
    8887    Point* point_at(const DataPoint& pos); 
    89      
    90      
    9188    Point* selected_point_at(const DataPoint& pos); 
    92      
     89    QList<Point*> all_points(); 
     90 
    9391    void add_point(Point* point, PlotItem* parent); 
    9492    void add_points(const QList<Point*>& items, PlotItem* parent); 
  • source/orangeqt/plot.sip

    r8690 r8704  
    7878    QList< Point* > selected_points(); 
    7979    QList< Point*> marked_points(); 
    80     Point* nearest_point(const QPointF& pos); 
     80         
     81    Point* nearest_point(const QPointF& pos);     
    8182    Point* point_at(const DataPoint& pos); 
     83    Point* selected_point_at(const DataPoint& pos); 
     84    QList<Point*> all_points(); 
    8285     
    8386    void add_point(Point* point, PlotItem* parent); 
Note: See TracChangeset for help on using the changeset viewer.