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; 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; };