X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba9574c310e8930a0e71547507c9811e22633f30..615f68c6b9fb887d2cfcbc6a3c6c3716a34a914e:/samples/grid/griddemo.cpp diff --git a/samples/grid/griddemo.cpp b/samples/grid/griddemo.cpp index 34518418f6..aa3b4d59c4 100644 --- a/samples/grid/griddemo.cpp +++ b/samples/grid/griddemo.cpp @@ -5,7 +5,7 @@ // Modified by: Santiago Palacios // RCS-ID: $Id$ // Copyright: (c) Michael Bedward, Julian Smart, Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -200,7 +200,6 @@ BEGIN_EVENT_TABLE( GridFrame, wxFrame ) EVT_MENU( ID_SELECT_ROW, GridFrame::SelectRow) EVT_MENU( ID_SELECT_ALL, GridFrame::SelectAll) EVT_MENU( ID_SELECT_UNSELECT, GridFrame::OnAddToSelectToggle) - EVT_MENU( ID_SHOW_SELECTION, GridFrame::OnShowSelection) EVT_MENU( ID_SIZE_ROW, GridFrame::AutoSizeRow ) EVT_MENU( ID_SIZE_COL, GridFrame::AutoSizeCol ) @@ -306,8 +305,6 @@ GridFrame::GridFrame() selectMenu->Append( ID_SELECT_UNSELECT, wxT("Add new cells to the selection"), wxT("When off, old selection is deselected before ") wxT("selecting the new cells"), wxITEM_CHECK ); - selectMenu->Append( ID_SHOW_SELECTION, - wxT("&Show current selection\tCtrl-Alt-S")); selectMenu->AppendSeparator(); selectMenu->Append( ID_SELECT_ALL, wxT("Select all")); selectMenu->Append( ID_SELECT_ROW, wxT("Select row 2")); @@ -442,20 +439,33 @@ GridFrame::GridFrame() grid->SetCellValue(5, 8, wxT("Bg from row attr\nText col from cell attr")); grid->SetCellValue(5, 5, wxT("Bg from row attr Text col from col attr and this text is so long that it covers over many many empty cells but is broken by one that isn't")); + // Some numeric columns with different formatting. grid->SetColFormatFloat(6); - grid->SetCellValue(0, 6, wxString::Format(wxT("%g"), 3.1415)); - grid->SetCellValue(1, 6, wxString::Format(wxT("%g"), 1415.0)); - grid->SetCellValue(2, 6, wxString::Format(wxT("%g"), 12345.67890)); + grid->SetCellValue(0, 6, "Default\nfloat format"); + grid->SetCellValue(1, 6, wxString::Format(wxT("%g"), 3.1415)); + grid->SetCellValue(2, 6, wxString::Format(wxT("%g"), 1415.0)); + grid->SetCellValue(3, 6, wxString::Format(wxT("%g"), 12345.67890)); grid->SetColFormatFloat(7, 6, 2); - grid->SetCellValue(0, 7, wxString::Format(wxT("%g"), 3.1415)); - grid->SetCellValue(1, 7, wxString::Format(wxT("%g"), 1415.0)); - grid->SetCellValue(2, 7, wxString::Format(wxT("%g"), 12345.67890)); - - grid->SetColFormatNumber(8); - grid->SetCellValue(0, 8, "17"); - grid->SetCellValue(1, 8, "0"); - grid->SetCellValue(2, 8, "-666"); + grid->SetCellValue(0, 7, "Width 6\nprecision 2"); + grid->SetCellValue(1, 7, wxString::Format(wxT("%g"), 3.1415)); + grid->SetCellValue(2, 7, wxString::Format(wxT("%g"), 1415.0)); + grid->SetCellValue(3, 7, wxString::Format(wxT("%g"), 12345.67890)); + + grid->SetColFormatCustom(8, + wxString::Format("%s:%i,%i,%s", wxGRID_VALUE_FLOAT, -1, 4, "g")); + grid->SetCellValue(0, 8, "Compact\nformat"); + grid->SetCellValue(1, 8, wxT("31415e-4")); + grid->SetCellValue(2, 8, wxT("1415")); + grid->SetCellValue(3, 8, wxT("123456789e-4")); + + grid->SetColFormatNumber(9); + grid->SetCellValue(0, 9, "Integer\ncolumn"); + grid->SetCellValue(1, 9, "17"); + grid->SetCellValue(2, 9, "0"); + grid->SetCellValue(3, 9, "-666"); + grid->SetCellAlignment(3, 9, wxALIGN_CENTRE, wxALIGN_TOP); + grid->SetCellValue(3, 10, "<- This numeric cell should be centred"); const wxString choices[] = { @@ -472,7 +482,7 @@ GridFrame::GridFrame() grid->SetCellAlignment(7, 1, wxALIGN_CENTRE, wxALIGN_CENTRE); grid->SetCellValue(7, 1, wxT("Big box!")); - // create a separator-like row: it's grey and it's non-resizeable + // create a separator-like row: it's grey and it's non-resizable grid->DisableRowResize(10); grid->SetRowSize(10, 30); attr = new wxGridCellAttr; @@ -703,7 +713,7 @@ void GridFrame::SetLabelTextColour( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::SetLabelFont( wxCommandEvent& WXUNUSED(ev) ) { wxFont font = wxGetFontFromUser(this); - if ( font.Ok() ) + if ( font.IsOk() ) { grid->SetLabelFont(font); } @@ -946,7 +956,7 @@ void GridFrame::SelectRowsOrCols( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::SetCellFgColour( wxCommandEvent& WXUNUSED(ev) ) { wxColour col = wxGetColourFromUser(this); - if ( col.Ok() ) + if ( col.IsOk() ) { grid->SetDefaultCellTextColour(col); grid->Refresh(); @@ -956,7 +966,7 @@ void GridFrame::SetCellFgColour( wxCommandEvent& WXUNUSED(ev) ) void GridFrame::SetCellBgColour( wxCommandEvent& WXUNUSED(ev) ) { wxColour col = wxGetColourFromUser(this); - if ( col.Ok() ) + if ( col.IsOk() ) { // Check the new Refresh function by passing it a rectangle // which exactly fits the grid. @@ -1073,82 +1083,6 @@ void GridFrame::OnColSize( wxGridSizeEvent& ev ) } -void GridFrame::OnShowSelection(wxCommandEvent& WXUNUSED(event)) -{ - // max number of elements to dump -- otherwise it can take too much time - static const size_t countMax = 100; - - bool rows = false; - - switch ( grid->GetSelectionMode() ) - { - case wxGrid::wxGridSelectCells: - { - const wxGridCellCoordsArray cells(grid->GetSelectedCells()); - size_t count = cells.size(); - wxLogMessage(wxT("%lu cells selected:"), (unsigned long)count); - if ( count > countMax ) - { - wxLogMessage(wxT("[too many selected cells, ") - wxT("showing only the first %lu]"), - (unsigned long)countMax); - count = countMax; - } - - for ( size_t n = 0; n < count; n++ ) - { - const wxGridCellCoords& c = cells[n]; - wxLogMessage(wxT(" selected cell %lu: (%d, %d)"), - (unsigned long)n, c.GetCol(), c.GetRow()); - } - } - break; - - case wxGrid::wxGridSelectRows: - rows = true; - // fall through - - case wxGrid::wxGridSelectColumns: - { - const wxChar *plural, *single; - if ( rows ) - { - plural = wxT("rows"); - single = wxT("row"); - } - else // columns - { - plural = wxT("columns"); - single = wxT("column"); - } - - const wxArrayInt sels((const wxArrayInt)(rows ? grid->GetSelectedRows() - : grid->GetSelectedCols())); - size_t count = sels.size(); - wxLogMessage(wxT("%lu %s selected:"), - (unsigned long)count, plural); - if ( count > countMax ) - { - wxLogMessage(wxT("[too many selected %s, ") - wxT("showing only the first %lu]"), - plural, (unsigned long)countMax); - count = countMax; - } - - for ( size_t n = 0; n < count; n++ ) - { - wxLogMessage(wxT(" selected %s %lu: %d"), - single, (unsigned long)n, sels[n]); - } - } - break; - - default: - wxFAIL_MSG( wxT("unknown wxGrid selection mode") ); - break; - } -} - void GridFrame::OnSelectCell( wxGridEvent& ev ) { wxString logBuf;