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