]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dbgrid.cpp
fixed bug with adding new entries to a root group with subgroups but without any...
[wxWidgets.git] / src / common / dbgrid.cpp
index e541773ef2055ae14f93c33f2fc158814a8216fd..c413ed46919d49ec1dc85b1545e5bacbe822feab 100644 (file)
@@ -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"
 #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<wxDbGridCellAttrProvider *>(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<wxDbGridCellAttrProvider *> (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)
@@ -276,37 +277,26 @@ wxString wxDbGridTableBase::GetTypeName(int row, int col)
             {
                 case SQL_C_CHAR:
                     return wxGRID_VALUE_STRING;
-                    break;
                 case SQL_C_SSHORT:
                     return wxGRID_VALUE_NUMBER;
-                    break;
                 case SQL_C_USHORT:
                     return wxGRID_VALUE_NUMBER;
-                    break;
                 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 +320,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 +370,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.
@@ -526,7 +508,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)
@@ -598,7 +580,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);
 }
 
 
@@ -698,7 +680,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 +720,10 @@ bool wxDbGridTableBase::Writeback() const
     return result;
 }
 
-#include <wx/arrimpl.cpp>
+#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