Changeset 8368:23711938f6d4 in orange


Ignore:
Timestamp:
07/06/11 12:13:54 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
afae71b34b5f67fff3d6353393b2d91852c9345f
Message:

Revert orangeplot.sip to the proper, hopefully final, state

Location:
source/orangeplot
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • source/orangeplot/CMakeLists.txt

    r8361 r8368  
    1414 
    1515#### orangeplot sources #### 
    16 set(orangeplot_SRCS plotitem.cpp curve.cpp unconnectedlinescurve.cpp plot.cpp) 
     16set(orangeplot_SRCS plotitem.cpp curve.cpp unconnectedlinescurve.cpp networkcurve.cpp plot.cpp) 
    1717qt4_automoc(${orangeplot_SRCS}) 
    1818 
  • source/orangeplot/curve.cpp

    r8361 r8368  
    1616    checkForUpdate(); 
    1717} 
     18 
     19Curve::Curve(QGraphicsItem* parent, QGraphicsScene* scene): PlotItem(parent, scene) 
     20{ 
     21    m_style = NoCurve; 
     22    m_lineItem = 0; 
     23    m_needsUpdate = 0; 
     24} 
     25 
    1826 
    1927Curve::~Curve() 
  • source/orangeplot/curve.h

    r8361 r8368  
    6464   **/ 
    6565  Curve(const QList< double >& xData, const QList< double >& yData, QGraphicsItem* parent = 0, QGraphicsScene* scene = 0); 
     66  Curve(QGraphicsItem* parent = 0, QGraphicsScene* scene = 0); 
    6667 
    6768  /** 
  • source/orangeplot/orangeplot.sip

    r8367 r8368  
    22 
    33%Import QtGui/QtGuimod.sip 
    4  
    5 // QPair<double, double> is implemented as a Python 2-element tuple. 
    6 %MappedType QPair<double, double> /DocType="tuple-of-float-float"/ 
    7 { 
    8 %TypeHeaderCode 
    9 #include <QtCore/QPair> 
    10 %End 
    11  
    12 %ConvertFromTypeCode 
    13     // Create the tuple. 
    14     return Py_BuildValue((char *)"dd", sipCpp->first, sipCpp->second); 
    15 %End 
    16  
    17 %ConvertToTypeCode 
    18     // Check the type if that is all that is required. 
    19     if (sipIsErr == NULL) 
    20         return (PyTuple_Size(sipPy) == 2); 
    21      
    22     QPair<double,double>* qp = new QPair<double,double>(); 
    23  
    24     PyArg_ParseTuple(sipPy, "dd", &qp->first, &qp->second); 
    25     *sipCppPtr = qp; 
    26      
    27     return sipGetState(sipTransferObj); 
    28 %End 
    29 }; 
    30  
    314 
    325%Include plot.sip 
     
    347%Include curve.sip 
    358%Include unconnectedlinescurve.sip 
    36 %Include networkcurve.sip 
  • source/orangeplot/plot.cpp

    r8362 r8368  
    109109 
    110110#include "plot.moc" 
    111 #include "plot.h" 
    112 #include "plotitem.h" 
    113  
    114 #include <QtCore/QDebug> 
    115  
    116 Plot::Plot(QWidget* parent):  
    117 QGraphicsView(parent),  
    118 graph_item(new QGraphicsRectItem()) 
    119 { 
    120     setScene(new QGraphicsScene(this)); 
    121     scene()->addItem(graph_item); 
    122 } 
    123  
    124 Plot::~Plot() 
    125 { 
    126  
    127 } 
    128  
    129 void Plot::addItem(PlotItem* item) 
    130 { 
    131     if (m_items.contains(item)) 
    132     { 
    133         qWarning() << "Item is already in this graph"; 
    134         return; 
    135     } 
    136     item->m_plot = this; 
    137     item->setParentItem(graph_item); 
    138     m_items << item; 
    139 } 
    140  
    141 void Plot::removeItem(PlotItem* item) 
    142 { 
    143     qDebug() << "Removing item" << item << "with parent" << item->parentItem(); 
    144     if (m_items.contains(item)) 
    145     { 
    146         item->setParentItem(0); 
    147         m_items.removeAll(item); 
    148         item->m_plot = 0; 
    149     } 
    150     else 
    151     { 
    152         qWarning() << "Trying to remove an item that doesn't belong to this graph"; 
    153     } 
    154 } 
    155  
    156 QList< PlotItem* > Plot::itemList() 
    157 { 
    158     qDebug() << "Returning itemlist with" << m_items.size() << "items"; 
    159     return m_items; 
    160 } 
    161  
    162 QRectF Plot::dataRectForAxes(int xAxis, int yAxis) 
    163 { 
    164     QRectF r; 
    165     QPair<int,int> axes = qMakePair(xAxis, yAxis); 
    166     foreach (PlotItem* item, m_items) 
    167     { 
    168         if (item->isAutoScale() && item->axes() == axes) 
    169         { 
    170             r |= item->dataRect(); 
    171         } 
    172     } 
    173     return r; 
    174 } 
    175  
    176 QPair< double, double > Plot::boundsForAxis(int axis) 
    177 { 
    178     QRectF y_r; 
    179     QRectF x_r; 
    180     foreach (PlotItem* item, m_items) 
    181     { 
    182         if (item->isAutoScale()) 
    183         { 
    184             if (item->axes().first == axis) 
    185             { 
    186                x_r |= item->dataRect();  
    187             } 
    188             else if (item->axes().second == axis) 
    189             { 
    190                 y_r |= item->dataRect(); 
    191             } 
    192         } 
    193     } 
    194     if (x_r.isValid()) 
    195     { 
    196         return qMakePair(x_r.left(), x_r.right()); 
    197     } 
    198     else if (y_r.isValid()) 
    199     { 
    200         return qMakePair(y_r.top(), y_r.bottom()); 
    201     } 
    202     return qMakePair(0.0, 0.0); 
    203 } 
    204  
    205 void Plot::setDirty()  
    206 { 
    207     m_dirty = true; 
    208 } 
    209  
    210 void Plot::setClean()  
    211 { 
    212     m_dirty = false; 
    213 } 
    214  
    215 bool Plot::isDirty()  
    216 { 
    217     return m_dirty; 
    218 } 
    219  
    220 #include "plot.moc" 
  • source/orangeplot/plot.h

    r8362 r8368  
    3434}; 
    3535 
    36 #endif // GRAPH_H 
    37 #ifndef PLOT_H 
    38 #define PLOT_H 
    39  
    40 #include <QtGui/QGraphicsView> 
    41  
    42 class PlotItem; 
    43  
    44 class Plot : public QGraphicsView 
    45 { 
    46     Q_OBJECT 
    47 public: 
    48     Plot(QWidget* parent = 0); 
    49     virtual ~Plot(); 
    50      
    51     void addItem(PlotItem* item); 
    52     void removeItem(PlotItem* item); 
    53      
    54     QRectF dataRectForAxes(int xAxis, int yAxis); 
    55     QPair< double, double > boundsForAxis(int axis); 
    56      
    57     QList<PlotItem*> itemList(); 
    58      
    59     QGraphicsRectItem* graph_item; 
    60      
    61     void setDirty(); 
    62      
    63 protected: 
    64     void setClean();; 
    65     bool isDirty(); 
    66      
    67 private: 
    68     QList<PlotItem*> m_items; 
    69     bool m_dirty; 
    70 }; 
    71  
    72 #endif // GRAPH_H 
     36#endif // PLOT_H 
Note: See TracChangeset for help on using the changeset viewer.