X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bb41dcbe3a1ee4df0cd6a44e9cfb6a55b5d94fd6..0d91b2342a1f83b3b9db145c7210efd5d9547cc8:/src/common/dbgrid.cpp diff --git a/src/common/dbgrid.cpp b/src/common/dbgrid.cpp index 2a95253af5..418d445b16 100644 --- a/src/common/dbgrid.cpp +++ b/src/common/dbgrid.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: dbgrid.cpp +// Name: src/common/dbgrid.cpp // Purpose: Displays a wxDbTable in a wxGrid. // Author: Roger Gammans, Paul Gammans // Modified by: @@ -11,28 +11,26 @@ // Branched From : dbgrid.cpp,v 1.18 2000/12/19 13:00:58 /////////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ - #pragma implementation "dbgrid.h" -#endif - #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif - -#if wxUSE_ODBC -#if wxUSE_GRID +#if wxUSE_ODBC && wxUSE_GRID #ifndef WX_PRECOMP #include "wx/textctrl.h" #include "wx/dc.h" + #include "wx/app.h" #endif // WX_PRECOMP #include "wx/generic/gridctrl.h" #include "wx/dbgrid.h" +// DLL options compatibility check: +WX_CHECK_BUILD_OPTIONS("wxDbGrid") + wxDbGridCellAttrProvider::wxDbGridCellAttrProvider() { @@ -128,7 +126,7 @@ wxDbGridTableBase::wxDbGridTableBase(wxDbTable *tab, wxDbGridColInfo* ColInfo, m_keys(), m_data(tab), m_dbowner(takeOwnership), - m_rowmodified(FALSE) + m_rowmodified(false) { if (count == wxUSE_QUERY) @@ -175,7 +173,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) { @@ -197,7 +195,7 @@ bool wxDbGridTableBase::CanHaveAttributes() // use the default attr provider by default SetAttrProvider(new wxDbGridCellAttrProvider(m_data, m_ColInfo)); } - return TRUE; + return true; } @@ -229,7 +227,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) { @@ -255,11 +253,11 @@ bool wxDbGridTableBase::AssignDbTable(wxDbTable *tab, int count, bool takeOwners grid->EndBatch(); } m_dbowner = takeOwnership; - m_rowmodified = FALSE; - return TRUE; + m_rowmodified = false; + return true; } -wxString wxDbGridTableBase::GetTypeName(int row, int col) +wxString wxDbGridTableBase::GetTypeName(int WXUNUSED(row), int col) { if (GetNumberCols() > col) { @@ -272,11 +270,16 @@ 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; + case SQL_C_SHORT: case SQL_C_SSHORT: return wxGRID_VALUE_NUMBER; case SQL_C_USHORT: return wxGRID_VALUE_NUMBER; + case SQL_C_LONG: case SQL_C_SLONG: return wxGRID_VALUE_NUMBER; case SQL_C_ULONG: @@ -313,19 +316,19 @@ bool wxDbGridTableBase::CanGetValueAs(int row, int col, const wxString& typeName if (typeName == wxGRID_VALUE_STRING) { //FIXME ummm What about blob field etc. - return TRUE; + return true; } - if (m_data->IsColNull(m_ColInfo[col].DbCol)) + if (m_data->IsColNull((UWORD)m_ColInfo[col].DbCol)) { - return FALSE; + return false; } if (m_data->GetNumberOfColumns() <= m_ColInfo[col].DbCol) { //If a virtual column then we can't find it's type. we have to - // return FALSE to get using wxVariant. - return FALSE; + // return false to get using wxVariant. + return false; } int sqltype = m_data->GetColDefs()[(m_ColInfo[col].DbCol)].SqlCtype; @@ -335,9 +338,9 @@ bool wxDbGridTableBase::CanGetValueAs(int row, int col, const wxString& typeName (sqltype == SQL_C_TIME) || (sqltype == SQL_C_TIMESTAMP)) { - return TRUE; + return true; } - return FALSE; + return false; } if (typeName == wxGRID_VALUE_NUMBER) { @@ -346,9 +349,9 @@ bool wxDbGridTableBase::CanGetValueAs(int row, int col, const wxString& typeName (sqltype == SQL_C_SLONG) || (sqltype == SQL_C_ULONG)) { - return TRUE; + return true; } - return FALSE; + return false; } if (typeName == wxGRID_VALUE_FLOAT) { @@ -359,31 +362,31 @@ bool wxDbGridTableBase::CanGetValueAs(int row, int col, const wxString& typeName (sqltype == SQL_C_FLOAT) || (sqltype == SQL_C_DOUBLE)) { - return TRUE; + return true; } - return FALSE; + return false; } - return FALSE; + return false; } -bool wxDbGridTableBase::CanSetValueAs(int row, int col, const wxString& typeName) +bool wxDbGridTableBase::CanSetValueAs(int WXUNUSED(row), int col, const wxString& typeName) { if (typeName == wxGRID_VALUE_STRING) { //FIXME ummm What about blob field etc. - return TRUE; + return true; } if (!(m_data->GetColDefs()[(m_ColInfo[col].DbCol)].Updateable)) { - return FALSE; + return false; } if (m_data->GetNumberOfColumns() <= m_ColInfo[col].DbCol) { //If a virtual column then we can't find it's type. we have to faulse to //get using wxVairent. - return FALSE; + return false; } int sqltype = m_data->GetColDefs()[(m_ColInfo[col].DbCol)].SqlCtype; @@ -393,9 +396,9 @@ bool wxDbGridTableBase::CanSetValueAs(int row, int col, const wxString& typeName (sqltype == SQL_C_TIME) || (sqltype == SQL_C_TIMESTAMP)) { - return TRUE; + return true; } - return FALSE; + return false; } if (typeName == wxGRID_VALUE_NUMBER) { @@ -404,9 +407,9 @@ bool wxDbGridTableBase::CanSetValueAs(int row, int col, const wxString& typeName (sqltype == SQL_C_SLONG) || (sqltype == SQL_C_ULONG)) { - return TRUE; + return true; } - return FALSE; + return false; } if (typeName == wxGRID_VALUE_FLOAT) { @@ -417,11 +420,11 @@ bool wxDbGridTableBase::CanSetValueAs(int row, int col, const wxString& typeName (sqltype == SQL_C_FLOAT) || (sqltype == SQL_C_DOUBLE)) { - return TRUE; + return true; } - return FALSE; + return false; } - return FALSE; + return false; } long wxDbGridTableBase::GetValueAsLong(int row, int col) @@ -439,7 +442,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, ")); @@ -464,7 +467,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")); @@ -487,7 +490,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, ")); @@ -504,7 +507,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) @@ -516,7 +519,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()); } } @@ -552,8 +555,8 @@ void wxDbGridTableBase::SetValueAsCustom(int row, int col, const wxString& typeN return; } wxVariant val(date); - m_rowmodified = TRUE; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_rowmodified = true; + m_data->SetColumn(m_ColInfo[col].DbCol,val); } } wxFAIL_MSG (_T("unknown column data type")); @@ -576,7 +579,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); } @@ -585,7 +588,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(); @@ -599,8 +602,8 @@ void wxDbGridTableBase::SetValue(int row, int col,const wxString& value) ValidateRow(row); wxVariant val(value); - m_rowmodified = TRUE; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_rowmodified = true; + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -611,8 +614,8 @@ void wxDbGridTableBase::SetValueAsLong(int row, int col, long value) ValidateRow(row); wxVariant val(value); - m_rowmodified = TRUE; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_rowmodified = true; + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -623,8 +626,8 @@ void wxDbGridTableBase::SetValueAsDouble(int row, int col, double value) ValidateRow(row); wxVariant val(value); - m_rowmodified = TRUE; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_rowmodified = true; + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -636,8 +639,8 @@ void wxDbGridTableBase::SetValueAsBool(int row, int col, bool value) ValidateRow(row); wxVariant val(value); - m_rowmodified = TRUE; - m_data->SetCol(m_ColInfo[col].DbCol,val); + m_rowmodified = true; + m_data->SetColumn(m_ColInfo[col].DbCol,val); } @@ -676,24 +679,24 @@ 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(); m_row = row; } - m_rowmodified = FALSE; + m_rowmodified = false; } bool wxDbGridTableBase::Writeback() const { if (!m_rowmodified) { - return TRUE; + return true; } - bool result=TRUE; + bool result=true; wxLogDebug(wxT("\trow key unknown")); // FIXME: this code requires dbtable support for record status @@ -718,8 +721,6 @@ bool wxDbGridTableBase::Writeback() const #include "wx/arrimpl.cpp" -WX_DEFINE_EXPORTED_OBJARRAY(keyarray); - -#endif // #if wxUSE_GRID -#endif // #if wxUSE_ODBC +WX_DEFINE_EXPORTED_OBJARRAY(keyarray) +#endif // wxUSE_GRID && wxUSE_ODBC