]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/gridctrl.cpp
basic blitting implementation
[wxWidgets.git] / src / generic / gridctrl.cpp
index 6b608141f92064fb5d6e43d745ae3b4a1262db68..124606e4acf689bb32296f2583bca1c4d4cc1e35 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "gridctrl.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
@@ -35,9 +31,9 @@
 
 #if wxUSE_DATETIME
 
 
 #if wxUSE_DATETIME
 
-// Enables a grid cell to display a formated date and or time
+// Enables a grid cell to display a formatted date and or time
 
 
-wxGridCellDateTimeRenderer::wxGridCellDateTimeRenderer(wxString outformat, wxString informat)
+wxGridCellDateTimeRenderer::wxGridCellDateTimeRenderer(const wxString& outformat, const wxString& informat)
 {
     m_iformat = informat;
     m_oformat = outformat;
 {
     m_iformat = informat;
     m_oformat = outformat;
@@ -56,7 +52,7 @@ wxGridCellRenderer *wxGridCellDateTimeRenderer::Clone() const
     return renderer;
 }
 
     return renderer;
 }
 
-wxString wxGridCellDateTimeRenderer::GetString(wxGrid& grid, int row, int col)
+wxString wxGridCellDateTimeRenderer::GetString(const wxGrid& grid, int row, int col)
 {
     wxGridTableBase *table = grid.GetTable();
 
 {
     wxGridTableBase *table = grid.GetTable();
 
@@ -118,8 +114,9 @@ wxSize wxGridCellDateTimeRenderer::GetBestSize(wxGrid& grid,
     return DoGetBestSize(attr, dc, GetString(grid, row, col));
 }
 
     return DoGetBestSize(attr, dc, GetString(grid, row, col));
 }
 
-void wxGridCellDateTimeRenderer::SetParameters(const wxString& params){
-    if (!params.IsEmpty())
+void wxGridCellDateTimeRenderer::SetParameters(const wxString& params)
+{
+    if (!params.empty())
         m_oformat=params;
 }
 
         m_oformat=params;
 }
 
@@ -134,7 +131,7 @@ void wxGridCellDateTimeRenderer::SetParameters(const wxString& params){
 
 wxGridCellEnumRenderer::wxGridCellEnumRenderer(const wxString& choices)
 {
 
 wxGridCellEnumRenderer::wxGridCellEnumRenderer(const wxString& choices)
 {
-    if (!choices.IsEmpty())
+    if (!choices.empty())
         SetParameters(choices);
 }
 
         SetParameters(choices);
 }
 
@@ -145,7 +142,7 @@ wxGridCellRenderer *wxGridCellEnumRenderer::Clone() const
     return renderer;
 }
 
     return renderer;
 }
 
-wxString wxGridCellEnumRenderer::GetString(wxGrid& grid, int row, int col)
+wxString wxGridCellEnumRenderer::GetString(const wxGrid& grid, int row, int col)
 {
     wxGridTableBase *table = grid.GetTable();
     wxString text;
 {
     wxGridTableBase *table = grid.GetTable();
     wxString text;
@@ -222,11 +219,11 @@ void wxGridCellEnumRenderer::SetParameters(const wxString& params)
 // "John","Fred"..."Bob" in the combo choice box
 
 wxGridCellEnumEditor::wxGridCellEnumEditor(const wxString& choices)
 // "John","Fred"..."Bob" in the combo choice box
 
 wxGridCellEnumEditor::wxGridCellEnumEditor(const wxString& choices)
-                    wxGridCellChoiceEditor()
+                     :wxGridCellChoiceEditor()
 {
     m_startint = -1;
 
 {
     m_startint = -1;
 
-    if (!choices.IsEmpty())
+    if (!choices.empty())
         SetParameters(choices);
 }
 
         SetParameters(choices);
 }
 
@@ -251,7 +248,7 @@ void wxGridCellEnumEditor::BeginEdit(int row, int col, wxGrid* grid)
     else
     {
         wxString startValue = table->GetValue(row, col);
     else
     {
         wxString startValue = table->GetValue(row, col);
-        if (startValue.IsNumber() && !startValue.IsEmpty())
+        if (startValue.IsNumber() && !startValue.empty())
         {
             startValue.ToLong(&m_startint);
         }
         {
             startValue.ToLong(&m_startint);
         }
@@ -329,7 +326,7 @@ wxGridCellAutoWrapStringRenderer::Draw(wxGrid& grid,
 wxArrayString
 wxGridCellAutoWrapStringRenderer::GetTextLines(wxGrid& grid,
                                                wxDC& dc,
 wxArrayString
 wxGridCellAutoWrapStringRenderer::GetTextLines(wxGrid& grid,
                                                wxDC& dc,
-                                               wxGridCellAttr& attr,
+                                               const wxGridCellAttr& attr,
                                                const wxRect& rect,
                                                int row, int col)
 {
                                                const wxRect& rect,
                                                int row, int col)
 {
@@ -349,22 +346,24 @@ wxGridCellAutoWrapStringRenderer::GetTextLines(wxGrid& grid,
     while ( tk.HasMoreTokens() )
     {
         wxString tok = tk.GetNextToken();
     while ( tk.HasMoreTokens() )
     {
         wxString tok = tk.GetNextToken();
-    //FIXME: this causes us to print an extra unnecesary
-    //       space at the end of the line. But it
-    //       is invisible , simplifies the size calculation
-    //       and ensures tokens are seperated in the display
-    tok += _T(" ");
+        //FIXME: this causes us to print an extra unnecesary
+        //       space at the end of the line. But it
+        //       is invisible , simplifies the size calculation
+        //       and ensures tokens are separated in the display
+        tok += _T(" ");
 
         dc.GetTextExtent(tok, &x, &y);
 
         dc.GetTextExtent(tok, &x, &y);
-        if ( curr_x + x > max_x) {
+        if ( curr_x + x > max_x)
+        {
             lines.Add( wxString(thisline) );
             lines.Add( wxString(thisline) );
-        thisline = tok;
-        curr_x=x;
-    } else {
+            thisline = tok;
+            curr_x=x;
+        }
+        else
+        {
             thisline+= tok;
             thisline+= tok;
-        curr_x += x;
-    }
-
+            curr_x += x;
+        }
     }
     //Add last line
     lines.Add( wxString(thisline) );
     }
     //Add last line
     lines.Add( wxString(thisline) );
@@ -391,7 +390,7 @@ wxGridCellAutoWrapStringRenderer::GetBestSize(wxGrid& grid,
     {
         width+=10;
         rect.SetWidth(width);
     {
         width+=10;
         rect.SetWidth(width);
-        height = y *( GetTextLines(grid,dc,attr,rect,row,col).GetCount());
+        height = y * (wx_truncate_cast(wxCoord, GetTextLines(grid,dc,attr,rect,row,col).GetCount()));
         count--;
     // Search for a shape no taller than the golden ratio.
     } while (count && (width  < (height*1.68)) );
         count--;
     // Search for a shape no taller than the golden ratio.
     } while (count && (width  < (height*1.68)) );