X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32a2907bd33438d2119d587aa9656c0d94e6e460..bd3e8827dd468030e34df0bde66fc6c38c4fa9b4:/include/wx/dbgrid.h diff --git a/include/wx/dbgrid.h b/include/wx/dbgrid.h index 60f9ca0816..dd10c6c39b 100644 --- a/include/wx/dbgrid.h +++ b/include/wx/dbgrid.h @@ -3,7 +3,7 @@ // Purpose: Displays a wxDbTable in a wxGrid. // Author: Roger Gammans, Paul Gammans // Modified by: -// Created: +// Created: // RCS-ID: $Id$ // Copyright: (c) 1999 The Computer Surgery (roger@computer-surgery.co.uk) // Licence: wxWindows licence @@ -14,12 +14,12 @@ #ifndef _WX_GENERIC_DBGRID_H_ #define _WX_GENERIC_DBGRID_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "dbgrid.h" #endif #if wxUSE_ODBC -#if wxUSE_NEW_GRID +#if wxUSE_GRID #include "wx/log.h" #include "wx/dbtable.h" @@ -29,11 +29,11 @@ #define wxGRID_VALUE_DBAUTO _T("dbauto") -WX_DECLARE_OBJARRAY(GenericKey,keyarray); +WX_DECLARE_EXPORTED_OBJARRAY(GenericKey,keyarray); static const int wxUSE_QUERY = -1; -class wxDbGridColInfoBase +class WXDLLEXPORT wxDbGridColInfoBase { public: //Default ctor @@ -49,18 +49,18 @@ public: { DbCol = ref.DbCol; wxtypename = ref.wxtypename; - Title = ref.Title; + Title = ref.Title; } //Empty destructor for member obj's ~wxDbGridColInfoBase() {} - + int DbCol; wxString wxtypename; wxString Title; }; -class wxDbGridColInfo +class WXDLLEXPORT wxDbGridColInfo { public: wxDbGridColInfo(int colNo, @@ -78,6 +78,18 @@ public: //Recurse to find length. int Length() { return (m_next ? m_next->Length() +1 : 1); } + // Adds a new column info (2 step creation) + void AddColInfo (int colNo, + wxString type, + wxString title) + { + GetLast()->m_next = new wxDbGridColInfo (colNo, type, title, NULL); + } + + // Searches last + wxDbGridColInfo *GetLast() { return (m_next ? m_next->GetLast() : this); } + + protected: wxDbGridColInfoBase m_data; wxDbGridColInfo *m_next; @@ -86,7 +98,7 @@ public: }; -class wxDbGridCellAttrProvider : public wxGridCellAttrProvider +class WXDLLEXPORT wxDbGridCellAttrProvider : public wxGridCellAttrProvider { public: wxDbGridCellAttrProvider(); @@ -102,22 +114,22 @@ private: }; -class wxDbGridTableBase : public wxGridTableBase +class WXDLLEXPORT wxDbGridTableBase : public wxGridTableBase { public: wxDbGridTableBase(wxDbTable *tab, wxDbGridColInfo *ColInfo, - int count = wxUSE_QUERY, bool takeOwnership = true); + int count = wxUSE_QUERY, bool takeOwnership = TRUE); ~wxDbGridTableBase(); virtual int GetNumberRows() { wxLogDebug(" GetNumberRows() = %i",m_rowtotal); - return m_rowtotal; + return m_rowtotal; } virtual int GetNumberCols() - { + { wxLogDebug(" GetNumberCols() = %i",m_nocols); - return m_nocols; + return m_nocols; } virtual bool IsEmptyCell(int row, int col) ; virtual wxString GetValue(int row, int col) ; @@ -136,18 +148,18 @@ public: virtual void SetValueAsCustom(int row, int col, const wxString& typeName, void* value); - virtual wxString wxDbGridTableBase::GetColLabelValue(int col); + virtual wxString GetColLabelValue(int col); - virtual bool AssignDbTable(wxDbTable *tab, int count = wxUSE_QUERY, bool takeOwnership=true); + virtual bool AssignDbTable(wxDbTable *tab, int count = wxUSE_QUERY, bool takeOwnership=TRUE); virtual void ValidateRow(int row); virtual bool UpdateRow(int row) const { if (m_row != row) - return true; - else + return TRUE; + else return Writeback(); } - + private: //Operates on the current row bool Writeback() const; @@ -163,7 +175,7 @@ private: bool m_rowmodified; }; -#endif // #if wxUSE_NEW_GRID +#endif // #if wxUSE_GRID #endif // #if wxUSE_ODBC -#endif _WX_GENERIC_DBGRID_H_ +#endif // _WX_GENERIC_DBGRID_H_