]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/gridctrl.cpp
For editors and renderers the type registry takes precedence over the
[wxWidgets.git] / src / generic / gridctrl.cpp
index 6a6076ace6f0b63533cf14bbf4155e6c7f004686..6b608141f92064fb5d6e43d745ae3b4a1262db68 100644 (file)
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "gridctrl.h"
 #endif
 
@@ -19,6 +19,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_GRID
+
 #ifndef WX_PRECOMP
     #include "wx/textctrl.h"
     #include "wx/dc.h"
@@ -31,6 +33,8 @@
 // wxGridCellDateTimeRenderer
 // ----------------------------------------------------------------------------
 
+#if wxUSE_DATETIME
+
 // Enables a grid cell to display a formated date and or time
 
 wxGridCellDateTimeRenderer::wxGridCellDateTimeRenderer(wxString outformat, wxString informat)
@@ -56,7 +60,7 @@ wxString wxGridCellDateTimeRenderer::GetString(wxGrid& grid, int row, int col)
 {
     wxGridTableBase *table = grid.GetTable();
 
-    bool hasDatetime = FALSE;
+    bool hasDatetime = false;
     wxDateTime val;
     wxString text;
     if ( table->CanGetValueAs(row, col, wxGRID_VALUE_DATETIME) )
@@ -65,7 +69,7 @@ wxString wxGridCellDateTimeRenderer::GetString(wxGrid& grid, int row, int col)
 
         if (tempval){
             val = *((wxDateTime *)tempval);
-            hasDatetime = TRUE;
+            hasDatetime = true;
             delete (wxDateTime *)tempval;
         }
 
@@ -115,10 +119,12 @@ wxSize wxGridCellDateTimeRenderer::GetBestSize(wxGrid& grid,
 }
 
 void wxGridCellDateTimeRenderer::SetParameters(const wxString& params){
-    if(params)
+    if (!params.IsEmpty())
         m_oformat=params;
 }
 
+#endif // wxUSE_DATETIME
+
 // ----------------------------------------------------------------------------
 // wxGridCellChoiceNumberRenderer
 // ----------------------------------------------------------------------------
@@ -128,7 +134,7 @@ void wxGridCellDateTimeRenderer::SetParameters(const wxString& params){
 
 wxGridCellEnumRenderer::wxGridCellEnumRenderer(const wxString& choices)
 {
-    if(choices)
+    if (!choices.IsEmpty())
         SetParameters(choices);
 }
 
@@ -205,17 +211,22 @@ void wxGridCellEnumRenderer::SetParameters(const wxString& params)
     }
 }
 
+#if wxUSE_COMBOBOX
+
 // ----------------------------------------------------------------------------
 // wxGridCellEnumEditor
 // ----------------------------------------------------------------------------
-// A cell editor which displays an enum number as a textual equivalent.
-// eg data in cell is 0,1,2 ... n the cell could be displayed as "John","Fred"..."Bob"
-// in the combo choice box
-//
+
+// A cell editor which displays an enum number as a textual equivalent. eg
+// data in cell is 0,1,2 ... n the cell could be displayed as
+// "John","Fred"..."Bob" in the combo choice box
+
 wxGridCellEnumEditor::wxGridCellEnumEditor(const wxString& choices)
                     : wxGridCellChoiceEditor()
 {
-    if(choices)
+    m_startint = -1;
+
+    if (!choices.IsEmpty())
         SetParameters(choices);
 }
 
@@ -271,6 +282,11 @@ bool wxGridCellEnumEditor::EndEdit(int row, int col, wxGrid* grid)
     return changed;
 }
 
+#endif // wxUSE_COMBOBOX
+
+// ----------------------------------------------------------------------------
+// wxGridCellAutoWrapStringEditor
+// ----------------------------------------------------------------------------
 
 void
 wxGridCellAutoWrapStringEditor::Create(wxWindow* parent,
@@ -328,7 +344,7 @@ wxGridCellAutoWrapStringRenderer::GetTextLines(wxGrid& grid,
 
     dc.SetFont(attr.GetFont());
     wxStringTokenizer tk(data , _T(" \n\t\r"));
-    wxString thisline("");
+    wxString thisline = wxEmptyString;
 
     while ( tk.HasMoreTokens() )
     {
@@ -363,13 +379,13 @@ wxGridCellAutoWrapStringRenderer::GetBestSize(wxGrid& grid,
                                               wxDC& dc,
                                               int row, int col)
 {
-    int x,y, height , width = grid.GetColSize(col) -10;
+    wxCoord x,y, height , width = grid.GetColSize(col) -10;
     int count = 250; //Limit iterations..
 
     wxRect rect(0,0,width,10);
 
     // M is a nice large character 'y' gives descender!.
-    dc.GetTextExtent("My", &x, &y);
+    dc.GetTextExtent(wxT("My"), &x, &y);
 
     do
     {
@@ -384,3 +400,5 @@ wxGridCellAutoWrapStringRenderer::GetBestSize(wxGrid& grid,
     return wxSize(width,height);
 }
 
+#endif // wxUSE_GRID
+