X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eae630f13910282c8da1dced8c15c2b478bab759..62d9eab60c5e363acecf3689f13aa2f552159722:/src/common/dbgrid.cpp diff --git a/src/common/dbgrid.cpp b/src/common/dbgrid.cpp index e541773ef2..d1e4b6ed4b 100644 --- a/src/common/dbgrid.cpp +++ b/src/common/dbgrid.cpp @@ -11,7 +11,7 @@ // Branched From : dbgrid.cpp,v 1.18 2000/12/19 13:00:58 /////////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "dbgrid.h" #endif @@ -23,7 +23,7 @@ #if wxUSE_ODBC -#if wxUSE_NEW_GRID +#if wxUSE_GRID #ifndef WX_PRECOMP #include "wx/textctrl.h" @@ -33,6 +33,10 @@ #include "wx/generic/gridctrl.h" #include "wx/dbgrid.h" +// DLL options compatibility check: +#include "wx/app.h" +WX_CHECK_BUILD_OPTIONS("wxDbGrid") + wxDbGridCellAttrProvider::wxDbGridCellAttrProvider() { @@ -175,7 +179,7 @@ wxDbGridTableBase::~wxDbGridTableBase() //FIXME: should i remove m_ColInfo and m_data from m_attrProvider if a wxDbGridAttrProvider // if ((provider = dynamic_cast(GetAttrProvider()))) - // Using C casting for now until we can support dynamic_cast with wxWindows + // Using C casting for now until we can support dynamic_cast with wxWidgets provider = (wxDbGridCellAttrProvider *)(GetAttrProvider()); if (provider) { @@ -229,7 +233,7 @@ bool wxDbGridTableBase::AssignDbTable(wxDbTable *tab, int count, bool takeOwners m_data = tab; //FIXME: Remove dynamic_cast before sumision to wxwin // if ((provider = dynamic_cast (GetAttrProvider()))) - // Using C casting for now until we can support dynamic_cast with wxWindows + // Using C casting for now until we can support dynamic_cast with wxWidgets provider = (wxDbGridCellAttrProvider *)(GetAttrProvider()); if (provider) { @@ -259,11 +263,8 @@ bool wxDbGridTableBase::AssignDbTable(wxDbTable *tab, int count, bool takeOwners return true; } -wxString wxDbGridTableBase::GetTypeName(int row, int col) +wxString wxDbGridTableBase::GetTypeName(int WXUNUSED(row), int col) { - if (col == 8) - int breakpoint = 1; - if (GetNumberCols() > col) { if (m_ColInfo[col].wxtypename == wxGRID_VALUE_DBAUTO) @@ -275,38 +276,32 @@ wxString wxDbGridTableBase::GetTypeName(int row, int col) switch(m_data->GetColDefs()[(m_ColInfo[col].DbCol)].SqlCtype) { case SQL_C_CHAR: +#ifdef SQL_C_WCHAR + case SQL_C_WCHAR: +#endif return wxGRID_VALUE_STRING; - break; + case SQL_C_SHORT: case SQL_C_SSHORT: return wxGRID_VALUE_NUMBER; - break; case SQL_C_USHORT: return wxGRID_VALUE_NUMBER; - break; + case SQL_C_LONG: case SQL_C_SLONG: return wxGRID_VALUE_NUMBER; - break; case SQL_C_ULONG: return wxGRID_VALUE_NUMBER; - break; case SQL_C_FLOAT: return wxGRID_VALUE_FLOAT; - break; case SQL_C_DOUBLE: return wxGRID_VALUE_FLOAT; - break; case SQL_C_DATE: return wxGRID_VALUE_DATETIME; - break; case SQL_C_TIME: return wxGRID_VALUE_DATETIME; - break; case SQL_C_TIMESTAMP: return wxGRID_VALUE_DATETIME; - break; default: return wxGRID_VALUE_STRING; - break; } } else @@ -330,7 +325,7 @@ bool wxDbGridTableBase::CanGetValueAs(int row, int col, const wxString& typeName return true; } - if (m_data->IsColNull(m_ColInfo[col].DbCol)) + if (m_data->IsColNull((UWORD)m_ColInfo[col].DbCol)) { return false; } @@ -380,16 +375,8 @@ bool wxDbGridTableBase::CanGetValueAs(int row, int col, const wxString& typeName return false; } -bool wxDbGridTableBase::CanSetValueAs(int row, int col, const wxString& typeName) +bool wxDbGridTableBase::CanSetValueAs(int WXUNUSED(row), int col, const wxString& typeName) { - //Is this needed? As will be validated on SetValueAsXXXX - ValidateRow(row); - - if (m_data->IsColNull(m_ColInfo[col].DbCol)) - { - return false; - } - if (typeName == wxGRID_VALUE_STRING) { //FIXME ummm What about blob field etc. @@ -461,7 +448,7 @@ long wxDbGridTableBase::GetValueAsLong(int row, int col) (sqltype == SQL_C_SLONG) || (sqltype == SQL_C_ULONG)) { - wxVariant val = m_data->GetCol(m_ColInfo[col].DbCol); + wxVariant val = m_data->GetColumn(m_ColInfo[col].DbCol); return val.GetLong(); } wxFAIL_MSG (_T("unknown column, ")); @@ -486,7 +473,7 @@ double wxDbGridTableBase::GetValueAsDouble(int row, int col) (sqltype == SQL_C_FLOAT) || (sqltype == SQL_C_DOUBLE)) { - wxVariant val = m_data->GetCol(m_ColInfo[col].DbCol); + wxVariant val = m_data->GetColumn(m_ColInfo[col].DbCol); return val.GetDouble(); } wxFAIL_MSG (_T("unknown column")); @@ -509,7 +496,7 @@ bool wxDbGridTableBase::GetValueAsBool(int row, int col) (sqltype == SQL_C_SLONG) || (sqltype == SQL_C_ULONG)) { - wxVariant val = m_data->GetCol(m_ColInfo[col].DbCol); + wxVariant val = m_data->GetColumn(m_ColInfo[col].DbCol); return val.GetBool(); } wxFAIL_MSG (_T("unknown column, ")); @@ -526,7 +513,7 @@ void* wxDbGridTableBase::GetValueAsCustom(int row, int col, const wxString& type wxFAIL_MSG (_T("You can not use GetValueAsCustom for virtual columns")); return NULL; } - if (m_data->IsColNull(m_ColInfo[col].DbCol)) + if (m_data->IsColNull((UWORD)m_ColInfo[col].DbCol)) return NULL; if (typeName == wxGRID_VALUE_DATETIME) @@ -538,7 +525,7 @@ void* wxDbGridTableBase::GetValueAsCustom(int row, int col, const wxString& type (sqltype == SQL_C_TIME) || (sqltype == SQL_C_TIMESTAMP)) { - wxVariant val = m_data->GetCol(m_ColInfo[col].DbCol); + wxVariant val = m_data->GetColumn(m_ColInfo[col].DbCol); return new wxDateTime(val.GetDateTime()); } } @@ -575,7 +562,7 @@ void wxDbGridTableBase::SetValueAsCustom(int row, int col, const wxString& typeN } wxVariant val(date); m_rowmodified = true; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_data->SetColumn(m_ColInfo[col].DbCol,val); } } wxFAIL_MSG (_T("unknown column data type")); @@ -598,7 +585,7 @@ bool wxDbGridTableBase::IsEmptyCell(int row, int col) wxLogDebug(wxT("IsEmtpyCell on %i,%i"),row,col); ValidateRow(row); - return m_data->IsColNull(m_ColInfo[col].DbCol); + return m_data->IsColNull((UWORD)m_ColInfo[col].DbCol); } @@ -607,7 +594,7 @@ wxString wxDbGridTableBase::GetValue(int row, int col) wxLogDebug(wxT("GetValue() on %i,%i"),row,col); ValidateRow(row); - wxVariant val = m_data->GetCol(m_ColInfo[col].DbCol); + wxVariant val = m_data->GetColumn(m_ColInfo[col].DbCol); wxLogDebug(wxT("\tReturning \"%s\"\n"),val.GetString().c_str()); return val.GetString(); @@ -622,7 +609,7 @@ void wxDbGridTableBase::SetValue(int row, int col,const wxString& value) wxVariant val(value); m_rowmodified = true; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -634,7 +621,7 @@ void wxDbGridTableBase::SetValueAsLong(int row, int col, long value) wxVariant val(value); m_rowmodified = true; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -646,7 +633,7 @@ void wxDbGridTableBase::SetValueAsDouble(int row, int col, double value) wxVariant val(value); m_rowmodified = true; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -659,7 +646,7 @@ void wxDbGridTableBase::SetValueAsBool(int row, int col, bool value) wxVariant val(value); m_rowmodified = true; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -698,7 +685,7 @@ void wxDbGridTableBase::ValidateRow(int row) m_data->SetKey(k); if (!m_data->QueryOnKeyFields()) { - wxDbLogExtendedErrorMsg("ODBC error during Query()\n\n", m_data->GetDb(),__FILE__,__LINE__); + wxDbLogExtendedErrorMsg(_T("ODBC error during Query()\n\n"), m_data->GetDb(),__TFILE__,__LINE__); } m_data->GetNext(); @@ -738,10 +725,10 @@ bool wxDbGridTableBase::Writeback() const return result; } -#include +#include "wx/arrimpl.cpp" -WX_DEFINE_OBJARRAY(keyarray); +WX_DEFINE_EXPORTED_OBJARRAY(keyarray); -#endif // #if wxUSE_NEW_GRID +#endif // #if wxUSE_GRID #endif // #if wxUSE_ODBC