Hi,
I've been trying to get the latest gridtable updates in SVN to compile
against wxWidgets 2.8 branch.
I have a problem with parsing of
wxGridTableBase::IsEmptyCell
in 2.8 branch this is a pure virtual function, whilst in 2.9 it is virtual.
My full (none working) patch is attached, but the bit that 'breaks' is:
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
virtual bool IsEmptyCell(int row, int col) %Virtual;
#else
virtual bool IsEmptyCell(int row, int col) = 0 %Virtual{pure};
#endif
this fails with various error messages during compilation - but the root
cause is that in the xspp output produced via
build::Wx::XSP::Virtual
I get definitions for both versions of IsEmptyCell, which obviously
doesn't work.
Changing the patch so that I simply replace the IsEmptyCell definition
with one that works for 2.8 rather than giving two version dependent
defs makes everything work OK.
I know the problem is that build::Wx::XSP::Virtual is getting two
definitions for IsEmptyCell, but I can't quite figure out where in
ExtUtils::XSpp this is broken.
Regards
Mark
Index: interface/wx/grid/gridtablebase.h
===================================================================
--- interface/wx/grid/gridtablebase.h (revision 3025)
+++ interface/wx/grid/gridtablebase.h (working copy)
@@ -77,6 +77,7 @@
*/
virtual int GetNumberCols() = 0 %Virtual{pure};
+#if WXPERL_W_VERSION_GE( 2, 9, 0 )
/**
Return the number of rows in the table.
@@ -95,6 +96,7 @@
*/
int GetColsCount() const;
+#endif
/**
@name Table Cell Accessors
@@ -109,7 +111,12 @@
only returns true if the value of the given cell, as returned by
GetValue(), is empty.
*/
+
+#if WXPERL_W_VERSION_GE( 2, 9, 0 )
virtual bool IsEmptyCell(int row, int col) %Virtual;
+#else
+ virtual bool IsEmptyCell(int row, int col) = 0 %Virtual{pure};
+#endif
/**
Same as IsEmptyCell() but taking wxGridCellCoords.
@@ -117,7 +124,10 @@
Notice that this method is not virtual, only IsEmptyCell() should be
overridden.
*/
+
+#if WXPERL_W_VERSION_GE( 2, 9, 0 )
bool IsEmpty(const wxGridCellCoords& coords);
+#endif
/**
Must be overridden to implement accessing the table values as text.