/[pcsx2_0.9.7]/branch/r3113_0.9.7_beta/3rdparty/wxWidgets/include/wx/dbgrid.h
ViewVC logotype

Annotation of /branch/r3113_0.9.7_beta/3rdparty/wxWidgets/include/wx/dbgrid.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations) (download)
Tue Sep 7 03:24:11 2010 UTC (9 years, 9 months ago) by william
Original Path: trunk/3rdparty/wxWidgets/include/wx/dbgrid.h
File MIME type: text/plain
File size: 5305 byte(s)
committing r3113 initial commit again...
1 william 31 ///////////////////////////////////////////////////////////////////////////////
2     // Name: dbgrid.h
3     // Purpose: Displays a wxDbTable in a wxGrid.
4     // Author: Roger Gammans, Paul Gammans
5     // Modified by:
6     // Created:
7     // RCS-ID: $Id: dbgrid.h 41020 2006-09-05 20:47:48Z VZ $
8     // Copyright: (c) 1999 The Computer Surgery (roger@computer-surgery.co.uk)
9     // Licence: wxWindows licence
10     ///////////////////////////////////////////////////////////////////////////////
11     // Branched From : dbgrid.h,v 1.19 2001/03/28 11:16:01
12     ///////////////////////////////////////////////////////////////////////////////
13    
14     #ifndef _WX_GENERIC_DBGRID_H_
15     #define _WX_GENERIC_DBGRID_H_
16    
17     #if wxUSE_ODBC
18     #if wxUSE_GRID
19    
20     #include "wx/log.h"
21     #include "wx/dbtable.h"
22     #include "wx/dynarray.h"
23     #include "wx/grid.h"
24     #include "wx/dbkeyg.h"
25    
26     #define wxGRID_VALUE_DBAUTO _T("dbauto")
27    
28     WX_DECLARE_USER_EXPORTED_OBJARRAY(GenericKey,keyarray,WXDLLIMPEXP_DBGRID);
29    
30     static const int wxUSE_QUERY = -1;
31    
32     class WXDLLIMPEXP_DBGRID wxDbGridColInfoBase
33     {
34     public:
35     //Default ctor
36     wxDbGridColInfoBase() { }
37     wxDbGridColInfoBase(int colNo,
38     wxString type, wxString title) :
39     DbCol(colNo),
40     wxtypename(type),
41     Title(title)
42     { }
43     //Copy Ctor
44     wxDbGridColInfoBase(const wxDbGridColInfoBase& ref)
45     {
46     DbCol = ref.DbCol;
47     wxtypename = ref.wxtypename;
48     Title = ref.Title;
49     }
50     //Empty destructor for member obj's
51     ~wxDbGridColInfoBase() {}
52    
53     int DbCol;
54     wxString wxtypename;
55     wxString Title;
56     };
57    
58    
59     class WXDLLIMPEXP_DBGRID wxDbGridColInfo
60     {
61     public:
62     wxDbGridColInfo(int colNo,
63     wxString type,
64     wxString title,
65     wxDbGridColInfo *next) :
66     m_data(colNo,type,title)
67     {
68     m_next=next;
69     }
70    
71     //Empty List
72     ~wxDbGridColInfo() { delete m_next; }
73    
74     //Recurse to find length.
75     int Length() { return (m_next ? m_next->Length() +1 : 1); }
76    
77     // Adds a new column info (2 step creation)
78     void AddColInfo (int colNo,
79     wxString type,
80     wxString title)
81     {
82     GetLast()->m_next = new wxDbGridColInfo (colNo, type, title, NULL);
83     }
84    
85     // Searches last
86     wxDbGridColInfo *GetLast() { return (m_next ? m_next->GetLast() : this); }
87    
88    
89     protected:
90     wxDbGridColInfoBase m_data;
91     wxDbGridColInfo *m_next;
92    
93     friend class wxDbGridTableBase;
94     };
95    
96    
97     class WXDLLIMPEXP_DBGRID wxDbGridCellAttrProvider : public wxGridCellAttrProvider
98     {
99     public:
100     wxDbGridCellAttrProvider();
101     wxDbGridCellAttrProvider(wxDbTable *tab, wxDbGridColInfoBase* ColInfo);
102     virtual ~wxDbGridCellAttrProvider();
103    
104     virtual wxGridCellAttr *GetAttr(int row, int col,
105     wxGridCellAttr::wxAttrKind kind) const;
106     virtual void AssignDbTable(wxDbTable *tab);
107     private:
108     wxDbTable *m_data;
109     wxDbGridColInfoBase *m_ColInfo;
110     };
111    
112    
113     class WXDLLIMPEXP_DBGRID wxDbGridTableBase : public wxGridTableBase
114     {
115     public:
116     wxDbGridTableBase(wxDbTable *tab, wxDbGridColInfo *ColInfo,
117     int count = wxUSE_QUERY, bool takeOwnership = true);
118     virtual ~wxDbGridTableBase();
119    
120     virtual int GetNumberRows()
121     {
122     wxLogDebug(_T(" GetNumberRows() = %i"),m_rowtotal);
123     return m_rowtotal;
124     }
125     virtual int GetNumberCols()
126     {
127     wxLogDebug(_T(" GetNumberCols() = %i"),m_nocols);
128     return m_nocols;
129     }
130     virtual bool IsEmptyCell(int row, int col) ;
131     virtual wxString GetValue(int row, int col) ;
132     virtual void SetValue(int row, int col, const wxString& value);
133     virtual bool CanHaveAttributes();
134     virtual wxString GetTypeName(int row, int col);
135     virtual bool CanGetValueAs(int row, int col, const wxString& typeName);
136     virtual bool CanSetValueAs(int row, int col, const wxString& typeName);
137     virtual long GetValueAsLong(int row, int col);
138     virtual double GetValueAsDouble(int row, int col);
139     virtual bool GetValueAsBool(int row, int col);
140     virtual void SetValueAsLong(int row, int col, long value);
141     virtual void SetValueAsDouble(int row, int col, double value);
142     virtual void SetValueAsBool(int row, int col, bool value);
143     virtual void *GetValueAsCustom(int row, int col, const wxString& typeName);
144     virtual void SetValueAsCustom(int row, int col, const wxString& typeName, void* value);
145    
146    
147     virtual wxString GetColLabelValue(int col);
148    
149     virtual bool AssignDbTable(wxDbTable *tab, int count = wxUSE_QUERY, bool takeOwnership=true);
150     virtual void ValidateRow(int row);
151     virtual bool UpdateRow(int row) const
152     {
153     if (m_row != row)
154     return true;
155     else
156     return Writeback();
157     }
158    
159     private:
160     //Operates on the current row
161     bool Writeback() const;
162    
163     typedef wxGridTableBase inherited;
164     keyarray m_keys;
165     wxDbTable *m_data;
166     bool m_dbowner;
167     int m_rowtotal;
168     int m_nocols;
169     int m_row;
170     wxDbGridColInfoBase *m_ColInfo;
171     bool m_rowmodified;
172     };
173    
174     #endif // #if wxUSE_GRID
175     #endif // #if wxUSE_ODBC
176    
177     #endif // _WX_GENERIC_DBGRID_H_

  ViewVC Help
Powered by ViewVC 1.1.22