X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32a2907bd33438d2119d587aa9656c0d94e6e460..9d52aad39a4e3b52c5baa50b9cc55caaf91bb026:/include/wx/dbgrid.h diff --git a/include/wx/dbgrid.h b/include/wx/dbgrid.h index 60f9ca0816..b08f2c6bcb 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,8 @@ #ifndef _WX_GENERIC_DBGRID_H_ #define _WX_GENERIC_DBGRID_H_ -#ifdef __GNUG__ - #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 +25,11 @@ #define wxGRID_VALUE_DBAUTO _T("dbauto") -WX_DECLARE_OBJARRAY(GenericKey,keyarray); +WX_DECLARE_USER_EXPORTED_OBJARRAY(GenericKey,keyarray,WXDLLIMPEXP_DBGRID); static const int wxUSE_QUERY = -1; -class wxDbGridColInfoBase +class WXDLLIMPEXP_DBGRID wxDbGridColInfoBase { public: //Default ctor @@ -49,18 +45,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 WXDLLIMPEXP_DBGRID wxDbGridColInfo { public: wxDbGridColInfo(int colNo, @@ -78,6 +74,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 +94,7 @@ public: }; -class wxDbGridCellAttrProvider : public wxGridCellAttrProvider +class WXDLLIMPEXP_DBGRID wxDbGridCellAttrProvider : public wxGridCellAttrProvider { public: wxDbGridCellAttrProvider(); @@ -102,22 +110,22 @@ private: }; -class wxDbGridTableBase : public wxGridTableBase +class WXDLLIMPEXP_DBGRID wxDbGridTableBase : public wxGridTableBase { public: wxDbGridTableBase(wxDbTable *tab, wxDbGridColInfo *ColInfo, int count = wxUSE_QUERY, bool takeOwnership = true); - ~wxDbGridTableBase(); + virtual ~wxDbGridTableBase(); virtual int GetNumberRows() { - wxLogDebug(" GetNumberRows() = %i",m_rowtotal); - return m_rowtotal; + wxLogDebug(_T(" GetNumberRows() = %i"),m_rowtotal); + return m_rowtotal; } virtual int GetNumberCols() - { - wxLogDebug(" GetNumberCols() = %i",m_nocols); - return m_nocols; + { + wxLogDebug(_T(" GetNumberCols() = %i"),m_nocols); + return m_nocols; } virtual bool IsEmptyCell(int row, int col) ; virtual wxString GetValue(int row, int col) ; @@ -136,7 +144,7 @@ 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 void ValidateRow(int row); @@ -144,10 +152,10 @@ public: { if (m_row != row) return true; - else + else return Writeback(); } - + private: //Operates on the current row bool Writeback() const; @@ -163,7 +171,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_