]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/grideditors.h
Use wxString::Clone() instead of c_str() in wxThreadEvent copy ctor.
[wxWidgets.git] / include / wx / generic / grideditors.h
index a3a8d60c32aece122fdcb21365d8bbe5077a3a5e..4a7b9270ddf696a900592cf5253b16d8e41ecee9 100644 (file)
@@ -63,7 +63,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();
@@ -109,7 +110,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 +143,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,
@@ -152,11 +154,38 @@ private:
     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 +193,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,18 +203,22 @@ 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;
 
+    int m_style;
+    wxString m_format;
+
     wxDECLARE_NO_COPY_CLASS(wxGridCellFloatEditor);
 };
 
@@ -207,7 +241,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 +258,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
@@ -260,10 +295,13 @@ public:
                         wxWindowID id,
                         wxEvtHandler* evtHandler);
 
+    virtual void SetSize(const wxRect& rect);
+
     virtual void PaintBackground(const wxRect& rectCell, 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();
@@ -299,7 +337,8 @@ 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:
@@ -325,4 +364,5 @@ public:
 };
 
 #endif // wxUSE_GRID
+
 #endif // _WX_GENERIC_GRID_EDITORS_H_