[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help with Qwt and PyQt-Qwt, C++ symbols



Hi Dima

 

Thanks a lot for the info.

>

> Are you asking about ABI stability? If so, you should run your library

> (qwt pre-patch and qwt post-patch) through abi-checking tools. I've used

> abi-compliance-checker before with great success.

I will need some time to find out how this tool works but it seems to be the solution.

 

>

> I THINK your virtual-function updates don't break the ABI, although I

> can't be certain. The update in src/qwt_picker_machine.h definitely DOES

> break the ABI however.

I changed the patch, not making d_selectionType public.

-    const SelectionType d_selectionType;
+    SelectionType d_selectionType;
It works and is a much less change of the library code but I don't know if it

still breaks the api.

 

I will learn abi-compliance-checker in my slow pace.

 

Regards

Gudjon


#Patch to simplify python interface
--- a/src/qwt_series_data.h
+++ b/src/qwt_series_data.h
@@ -54,14 +54,14 @@
     virtual ~QwtSeriesData();
 
     //! \return Number of samples
-    virtual size_t size() const = 0;
+    virtual size_t size() const {return 0;};
 
     /*!
       Return a sample
       \param i Index
       \return Sample at position i
      */
-    virtual T sample( size_t i ) const = 0;
+    virtual T sample( size_t i ) const {return T();};
 
     /*!
        Calculate the bounding rect of all samples
@@ -75,7 +75,7 @@
 
        \return Bounding rectangle
      */
-    virtual QRectF boundingRect() const = 0;
+    virtual QRectF boundingRect() const {return d_boundingRect;};
 
     /*!
        Set a the "rect of interest"
--- a/src/qwt_series_store.h
+++ b/src/qwt_series_store.h
@@ -28,19 +28,19 @@
     virtual ~QwtAbstractSeriesStore() {}
 
     //! dataChanged() indicates, that the series has been changed.
-    virtual void dataChanged() = 0;
+    virtual void dataChanged() {};
 
     /*!
       Set a the "rectangle of interest" for the stored series
       \sa QwtSeriesData<T>::setRectOfInterest()
      */
-    virtual void setRectOfInterest( const QRectF & ) = 0;
+    virtual void setRectOfInterest( const QRectF & ) {};
 
     //! \return Bounding rectangle of the stored series
-    virtual QRectF dataRect() const = 0;
+    virtual QRectF dataRect() const {return  QRectF( 0.0, 0.0, -1.0, -1.0 );};
 
     //! \return Number of samples
-    virtual size_t dataSize() const = 0;
+    virtual size_t dataSize() const {return 0;};
 };
 
 /*!
--- a/src/qwt_picker_machine.h
+++ b/src/qwt_picker_machine.h
@@ -71,7 +71,7 @@
     SelectionType selectionType() const;
 
 private:
-    const SelectionType d_selectionType;
+    SelectionType d_selectionType;
     int d_state;
 };
 

Reply to: