]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/grideditors.h
Fix missing documentation for several GDI functions.
[wxWidgets.git] / include / wx / generic / grideditors.h
index 073d62662b4c60d6ee3d64e648b2acb36f3470a6..116758901252e6bf3c6a30b5238eff28c333c4da 100644 (file)
@@ -42,7 +42,7 @@ private:
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxGridCellEditorEvtHandler)
-    DECLARE_NO_COPY_CLASS(wxGridCellEditorEvtHandler)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellEditorEvtHandler);
 };
 
 
@@ -52,18 +52,21 @@ private:
 class WXDLLIMPEXP_ADV wxGridCellTextEditor : public wxGridCellEditor
 {
 public:
-    wxGridCellTextEditor();
+    wxEXPLICIT wxGridCellTextEditor(size_t maxChars = 0);
 
     virtual void Create(wxWindow* parent,
                         wxWindowID id,
                         wxEvtHandler* evtHandler);
     virtual void SetSize(const wxRect& rect);
 
-    virtual void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr);
+    virtual void PaintBackground(wxDC& dc,
+                                 const wxRect& rectCell,
+                                 const wxGridCellAttr& attr);
 
     virtual bool IsAcceptedKey(wxKeyEvent& event);
     virtual void BeginEdit(int row, int col, wxGrid* grid);
-    virtual bool EndEdit(const wxString& oldval, wxString *newval);
+    virtual bool EndEdit(int row, int col, const wxGrid* grid,
+                         const wxString& oldval, wxString *newval);
     virtual void ApplyEdit(int row, int col, wxGrid* grid);
 
     virtual void Reset();
@@ -72,9 +75,9 @@ public:
 
     // parameters string format is "max_width"
     virtual void SetParameters(const wxString& params);
+    virtual void SetValidator(const wxValidator& validator);
 
-    virtual wxGridCellEditor *Clone() const
-        { return new wxGridCellTextEditor; }
+    virtual wxGridCellEditor *Clone() const;
 
     // added GetValue so we can get the value which is in the control
     virtual wxString GetValue() const;
@@ -89,10 +92,11 @@ protected:
     void DoReset(const wxString& startValue);
 
 private:
-    size_t   m_maxChars;        // max number of chars allowed
-    wxString m_value;
+    size_t                   m_maxChars;        // max number of chars allowed
+    wxScopedPtr<wxValidator> m_validator;
+    wxString                 m_value;
 
-    DECLARE_NO_COPY_CLASS(wxGridCellTextEditor)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellTextEditor);
 };
 
 // the editor for numeric (long) data
@@ -109,7 +113,8 @@ public:
 
     virtual bool IsAcceptedKey(wxKeyEvent& event);
     virtual void BeginEdit(int row, int col, wxGrid* grid);
-    virtual bool EndEdit(const wxString& oldval, wxString *newval);
+    virtual bool EndEdit(int row, int col, const wxGrid* grid,
+                         const wxString& oldval, wxString *newval);
     virtual void ApplyEdit(int row, int col, wxGrid* grid);
 
     virtual void Reset();
@@ -141,7 +146,7 @@ protected:
 
     // string representation of our value
     wxString GetString() const
-        { return wxString::Format(_T("%ld"), m_value); }
+        { return wxString::Format(wxT("%ld"), m_value); }
 
 private:
     int m_min,
@@ -149,14 +154,41 @@ private:
 
     long m_value;
 
-    DECLARE_NO_COPY_CLASS(wxGridCellNumberEditor)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellNumberEditor);
+};
+
+
+enum wxGridCellFloatFormat
+{
+    // Decimal floating point (%f)
+    wxGRID_FLOAT_FORMAT_FIXED      = 0x0010,
+
+    // Scientific notation (mantise/exponent) using e character (%e)
+    wxGRID_FLOAT_FORMAT_SCIENTIFIC = 0x0020,
+
+    // Use the shorter of %e or %f (%g)
+    wxGRID_FLOAT_FORMAT_COMPACT    = 0x0040,
+
+    // To use in combination with one of the above formats (%F/%E/%G)
+    wxGRID_FLOAT_FORMAT_UPPER      = 0x0080,
+
+    // Format used by default.
+    wxGRID_FLOAT_FORMAT_DEFAULT    = wxGRID_FLOAT_FORMAT_FIXED,
+
+    // A mask to extract format from the combination of flags.
+    wxGRID_FLOAT_FORMAT_MASK       = wxGRID_FLOAT_FORMAT_FIXED |
+                                     wxGRID_FLOAT_FORMAT_SCIENTIFIC |
+                                     wxGRID_FLOAT_FORMAT_COMPACT |
+                                     wxGRID_FLOAT_FORMAT_UPPER
 };
 
 // the editor for floating point numbers (double) data
 class WXDLLIMPEXP_ADV wxGridCellFloatEditor : public wxGridCellTextEditor
 {
 public:
-    wxGridCellFloatEditor(int width = -1, int precision = -1);
+    wxGridCellFloatEditor(int width = -1,
+                          int precision = -1,
+                          int format = wxGRID_FLOAT_FORMAT_DEFAULT);
 
     virtual void Create(wxWindow* parent,
                         wxWindowID id,
@@ -164,7 +196,8 @@ public:
 
     virtual bool IsAcceptedKey(wxKeyEvent& event);
     virtual void BeginEdit(int row, int col, wxGrid* grid);
-    virtual bool EndEdit(const wxString& oldval, wxString *newval);
+    virtual bool EndEdit(int row, int col, const wxGrid* grid,
+                         const wxString& oldval, wxString *newval);
     virtual void ApplyEdit(int row, int col, wxGrid* grid);
 
     virtual void Reset();
@@ -173,19 +206,23 @@ public:
     virtual wxGridCellEditor *Clone() const
         { return new wxGridCellFloatEditor(m_width, m_precision); }
 
-    // parameters string format is "width,precision"
+    // parameters string format is "width[,precision[,format]]"
+    // format to choose beween f|e|g|E|G (f is used by default)
     virtual void SetParameters(const wxString& params);
 
 protected:
     // string representation of our value
-    wxString GetString() const;
+    wxString GetString();
 
 private:
     int m_width,
         m_precision;
     double m_value;
 
-    DECLARE_NO_COPY_CLASS(wxGridCellFloatEditor)
+    int m_style;
+    wxString m_format;
+
+    wxDECLARE_NO_COPY_CLASS(wxGridCellFloatEditor);
 };
 
 #endif // wxUSE_TEXTCTRL
@@ -207,7 +244,8 @@ public:
 
     virtual bool IsAcceptedKey(wxKeyEvent& event);
     virtual void BeginEdit(int row, int col, wxGrid* grid);
-    virtual bool EndEdit(const wxString& oldval, wxString *newval);
+    virtual bool EndEdit(int row, int col, const wxGrid* grid,
+                         const wxString& oldval, wxString *newval);
     virtual void ApplyEdit(int row, int col, wxGrid* grid);
 
     virtual void Reset();
@@ -223,7 +261,7 @@ public:
 
     // set the string values returned by GetValue() for the true and false
     // states, respectively
-    static void UseStringValues(const wxString& valueTrue = _T("1"),
+    static void UseStringValues(const wxString& valueTrue = wxT("1"),
                                 const wxString& valueFalse = wxEmptyString);
 
     // return true if the given string is equal to the string representation of
@@ -238,7 +276,7 @@ private:
 
     static wxString ms_stringValues[2];
 
-    DECLARE_NO_COPY_CLASS(wxGridCellBoolEditor)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellBoolEditor);
 };
 
 #endif // wxUSE_CHECKBOX
@@ -260,10 +298,15 @@ public:
                         wxWindowID id,
                         wxEvtHandler* evtHandler);
 
-    virtual void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr);
+    virtual void SetSize(const wxRect& rect);
+
+    virtual void PaintBackground(wxDC& dc,
+                                 const wxRect& rectCell,
+                                 const wxGridCellAttr& attr);
 
     virtual void BeginEdit(int row, int col, wxGrid* grid);
-    virtual bool EndEdit(const wxString& oldval, wxString *newval);
+    virtual bool EndEdit(int row, int col, const wxGrid* grid,
+                         const wxString& oldval, wxString *newval);
     virtual void ApplyEdit(int row, int col, wxGrid* grid);
 
     virtual void Reset();
@@ -283,7 +326,7 @@ protected:
     wxArrayString   m_choices;
     bool            m_allowOthers;
 
-    DECLARE_NO_COPY_CLASS(wxGridCellChoiceEditor)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellChoiceEditor);
 };
 
 #endif // wxUSE_COMBOBOX
@@ -299,13 +342,14 @@ public:
     virtual wxGridCellEditor*  Clone() const;
 
     virtual void BeginEdit(int row, int col, wxGrid* grid);
-    virtual bool EndEdit(const wxString& oldval, wxString *newval);
+    virtual bool EndEdit(int row, int col, const wxGrid* grid,
+                         const wxString& oldval, wxString *newval);
     virtual void ApplyEdit(int row, int col, wxGrid* grid);
 
 private:
     long m_index;
 
-    DECLARE_NO_COPY_CLASS(wxGridCellEnumEditor)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellEnumEditor);
 };
 
 #endif // wxUSE_COMBOBOX
@@ -321,8 +365,9 @@ public:
     virtual wxGridCellEditor *Clone() const
         { return new wxGridCellAutoWrapStringEditor; }
 
-    DECLARE_NO_COPY_CLASS(wxGridCellAutoWrapStringEditor)
+    wxDECLARE_NO_COPY_CLASS(wxGridCellAutoWrapStringEditor);
 };
 
 #endif // wxUSE_GRID
+
 #endif // _WX_GENERIC_GRID_EDITORS_H_