X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/161f4f7380e945b0769ad5f7122df55b8777396a..e7aaf2dedd0b9b8d2ab1a63ed0ba4f64abe1301b:/src/generic/gridctrl.cpp diff --git a/src/generic/gridctrl.cpp b/src/generic/gridctrl.cpp index 6a6076ace6..05d11b19ef 100644 --- a/src/generic/gridctrl.cpp +++ b/src/generic/gridctrl.cpp @@ -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; } @@ -114,11 +118,14 @@ wxSize wxGridCellDateTimeRenderer::GetBestSize(wxGrid& grid, return DoGetBestSize(attr, dc, GetString(grid, row, col)); } -void wxGridCellDateTimeRenderer::SetParameters(const wxString& params){ - if(params) +void wxGridCellDateTimeRenderer::SetParameters(const wxString& params) +{ + if (!params.empty()) m_oformat=params; } +#endif // wxUSE_DATETIME + // ---------------------------------------------------------------------------- // wxGridCellChoiceNumberRenderer // ---------------------------------------------------------------------------- @@ -128,7 +135,7 @@ void wxGridCellDateTimeRenderer::SetParameters(const wxString& params){ wxGridCellEnumRenderer::wxGridCellEnumRenderer(const wxString& choices) { - if(choices) + if (!choices.empty()) SetParameters(choices); } @@ -205,17 +212,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() + :wxGridCellChoiceEditor() { - if(choices) + m_startint = -1; + + if (!choices.empty()) SetParameters(choices); } @@ -240,7 +252,7 @@ void wxGridCellEnumEditor::BeginEdit(int row, int col, wxGrid* grid) else { wxString startValue = table->GetValue(row, col); - if (startValue.IsNumber() && !startValue.IsEmpty()) + if (startValue.IsNumber() && !startValue.empty()) { startValue.ToLong(&m_startint); } @@ -271,6 +283,11 @@ bool wxGridCellEnumEditor::EndEdit(int row, int col, wxGrid* grid) return changed; } +#endif // wxUSE_COMBOBOX + +// ---------------------------------------------------------------------------- +// wxGridCellAutoWrapStringEditor +// ---------------------------------------------------------------------------- void wxGridCellAutoWrapStringEditor::Create(wxWindow* parent, @@ -328,27 +345,29 @@ wxGridCellAutoWrapStringRenderer::GetTextLines(wxGrid& grid, dc.SetFont(attr.GetFont()); wxStringTokenizer tk(data , _T(" \n\t\r")); - wxString thisline(""); + wxString thisline = wxEmptyString; 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); - if ( curr_x + x > max_x) { + if ( curr_x + x > max_x) + { lines.Add( wxString(thisline) ); - thisline = tok; - curr_x=x; - } else { + thisline = tok; + curr_x=x; + } + else + { thisline+= tok; - curr_x += x; - } - + curr_x += x; + } } //Add last line lines.Add( wxString(thisline) ); @@ -363,13 +382,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 +403,5 @@ wxGridCellAutoWrapStringRenderer::GetBestSize(wxGrid& grid, return wxSize(width,height); } +#endif // wxUSE_GRID +