]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/grid.h
extend GetAsBitmap with an optional subrect
[wxWidgets.git] / include / wx / generic / grid.h
index 8ab4f4f1251dbd1a246ab5bd866f9863616f2f32..a9acd59db1565551b2968bb535544c42161aee92 100644 (file)
@@ -9,20 +9,14 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __WXGRID_H__
-#define __WXGRID_H__
+#ifndef _WX_GENERIC_GRID_H_
+#define _WX_GENERIC_GRID_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_GRID
 
-#include "wx/hashmap.h"
-#include "wx/panel.h"
 #include "wx/scrolwin.h"
-#include "wx/string.h"
-#include "wx/arrstr.h"
-#include "wx/scrolbar.h"
-#include "wx/event.h"
-#include "wx/combobox.h"
-#include "wx/dynarray.h"
-#include "wx/timer.h"
-#include "wx/clntdata.h"
 
 // ----------------------------------------------------------------------------
 // constants
@@ -34,7 +28,7 @@ extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxGridNameStr[];
 //
 #define WXGRID_DEFAULT_NUMBER_ROWS            10
 #define WXGRID_DEFAULT_NUMBER_COLS            10
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXGTK20__)
 #define WXGRID_DEFAULT_ROW_HEIGHT             25
 #else
 #define WXGRID_DEFAULT_ROW_HEIGHT             30
@@ -67,7 +61,6 @@ class WXDLLIMPEXP_ADV wxGridCellAttrProviderData;
 class WXDLLIMPEXP_ADV wxGridColLabelWindow;
 class WXDLLIMPEXP_ADV wxGridCornerLabelWindow;
 class WXDLLIMPEXP_ADV wxGridRowLabelWindow;
-class WXDLLIMPEXP_ADV wxGridTableBase;
 class WXDLLIMPEXP_ADV wxGridWindow;
 class WXDLLIMPEXP_ADV wxGridTypeRegistry;
 class WXDLLIMPEXP_ADV wxGridSelection;
@@ -355,7 +348,6 @@ public:
     // create a new object which is the copy of this one
     virtual wxGridCellEditor *Clone() const = 0;
 
-    // DJC MAPTEK
     // added GetValue so we can get the value which is in the control
     virtual wxString GetValue() const = 0;
 
@@ -412,9 +404,9 @@ public:
     virtual wxGridCellEditor *Clone() const
         { return new wxGridCellTextEditor; }
 
-    // DJC MAPTEK
     // added GetValue so we can get the value which is in the control
     virtual wxString GetValue() const;
+
 protected:
     wxTextCtrl *Text() const { return (wxTextCtrl *)m_control; }
 
@@ -453,7 +445,7 @@ public:
 
     virtual wxGridCellEditor *Clone() const
         { return new wxGridCellNumberEditor(m_min, m_max); }
-    // DJC MAPTEK
+
     // added GetValue so we can get the value which is in the control
     virtual wxString GetValue() const;
 
@@ -535,7 +527,7 @@ public:
                         wxEvtHandler* evtHandler);
 
     virtual void SetSize(const wxRect& rect);
-    virtual void Show(bool show, wxGridCellAttr *attr = (wxGridCellAttr *)NULL);
+    virtual void Show(bool show, wxGridCellAttr *attr = NULL);
 
     virtual bool IsAcceptedKey(wxKeyEvent& event);
     virtual void BeginEdit(int row, int col, wxGrid* grid);
@@ -547,16 +539,28 @@ public:
 
     virtual wxGridCellEditor *Clone() const
         { return new wxGridCellBoolEditor; }
-    // DJC MAPTEK
-    // added GetValue so we can get the value which is in the control
+
+    // added GetValue so we can get the value which is in the control, see
+    // also UseStringValues()
     virtual wxString GetValue() const;
 
+    // set the string values returned by GetValue() for the true and false
+    // states, respectively
+    static void UseStringValues(const wxString& valueTrue = _T("1"),
+                                const wxString& valueFalse = wxEmptyString);
+
+    // return true if the given string is equal to the string representation of
+    // true value which we currently use
+    static bool IsTrueValue(const wxString& value);
+
 protected:
     wxCheckBox *CBox() const { return (wxCheckBox *)m_control; }
 
 private:
     bool m_startValue;
 
+    static wxString ms_stringValues[2];
+
     DECLARE_NO_COPY_CLASS(wxGridCellBoolEditor)
 };
 
@@ -590,7 +594,7 @@ public:
     virtual void SetParameters(const wxString& params);
 
     virtual wxGridCellEditor *Clone() const;
-    // DJC MAPTEK
+
     // added GetValue so we can get the value which is in the control
     virtual wxString GetValue() const;
 
@@ -2034,6 +2038,8 @@ public:
 #endif
     }
 
+    virtual wxEvent *Clone() const { return new wxGridEvent(*this); }
+
 protected:
     int         m_row;
     int         m_col;
@@ -2045,7 +2051,7 @@ protected:
     bool        m_shift;
     bool        m_alt;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxGridEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridEvent)
 };
 
 class WXDLLIMPEXP_ADV wxGridSizeEvent : public wxNotifyEvent
@@ -2075,6 +2081,8 @@ public:
         return ControlDown();
 #endif
     }
+    
+    virtual wxEvent *Clone() const { return new wxGridSizeEvent(*this); }
 
 protected:
     int         m_rowOrCol;
@@ -2085,7 +2093,7 @@ protected:
     bool        m_shift;
     bool        m_alt;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxGridSizeEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridSizeEvent)
 };
 
 
@@ -2130,6 +2138,8 @@ public:
         return ControlDown();
 #endif
     }
+    
+    virtual wxEvent *Clone() const { return new wxGridRangeSelectEvent(*this); }
 
 protected:
     wxGridCellCoords  m_topLeft;
@@ -2140,7 +2150,7 @@ protected:
     bool              m_shift;
     bool              m_alt;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxGridRangeSelectEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridRangeSelectEvent)
 };
 
 
@@ -2163,14 +2173,15 @@ public:
     void SetRow(int row)                { m_row = row; }
     void SetCol(int col)                { m_col = col; }
     void SetControl(wxControl* ctrl)    { m_ctrl = ctrl; }
+    
+    virtual wxEvent *Clone() const { return new wxGridEditorCreatedEvent(*this); }
 
 private:
     int m_row;
     int m_col;
     wxControl* m_ctrl;
 
-    DECLARE_DYNAMIC_CLASS(wxGridEditorCreatedEvent)
-    DECLARE_NO_COPY_CLASS(wxGridEditorCreatedEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxGridEditorCreatedEvent)
 };
 
 
@@ -2274,5 +2285,5 @@ extern const int wxEVT_GRID_CHANGE_SEL_LABEL;
 
 #endif
 
-#endif  // ifndef wxUSE_GRID
-
+#endif // wxUSE_GRID
+#endif // _WX_GENERIC_GRID_H_