X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12a3f2275c94a345cf83abf5151db68391859623..90c108964caba82a62602c7eef1268d4bb6e4841:/contrib/src/gizmos/multicell.cpp diff --git a/contrib/src/gizmos/multicell.cpp b/contrib/src/gizmos/multicell.cpp index a7a9020b38..d9bf7b1364 100644 --- a/contrib/src/gizmos/multicell.cpp +++ b/contrib/src/gizmos/multicell.cpp @@ -186,7 +186,7 @@ wxMultiCellSizer::wxMultiCellSizer( int rows, int cols) //--------------------------------------------------------------------------- wxMultiCellSizer::~wxMultiCellSizer() { - m_children.DeleteContents(TRUE); + WX_CLEAR_LIST(wxSizerItemList, m_children); free(m_maxHeight); free(m_maxWidth); @@ -296,8 +296,8 @@ void wxMultiCellSizer::RecalcSizes() wxPoint c_point; wxSize c_size; - wxSizerItemList::Node *current = m_children.GetFirst(); - while (current != NULL) + wxSizerItemList::compatibility_iterator current = m_children.GetFirst(); + while (current) { wxSizerItem *item = current->GetData(); @@ -380,12 +380,9 @@ wxSize wxMultiCellSizer::CalcMin() if (m_children.GetCount() == 0) return wxSize(10,10); - int m_minWidth = 0; - int m_minHeight = 0; - GetMinimums(); - m_minWidth = Sum(m_maxWidth, m_cell_count.GetWidth()); - m_minHeight = Sum(m_maxHeight, m_cell_count.GetHeight()); + int m_minWidth = Sum(m_maxWidth, m_cell_count.GetWidth()); + int m_minHeight = Sum(m_maxHeight, m_cell_count.GetHeight()); return wxSize( m_minWidth, m_minHeight ); } //--------------------------------------------------------------------------- @@ -403,7 +400,7 @@ void wxMultiCellSizer :: GetMinimums() m_weights[x]->SetWidth(0); } - wxSizerItemList::Node *node = m_children.GetFirst(); + wxSizerItemList::compatibility_iterator node = m_children.GetFirst(); while (node) { wxSizerItem *item = node->GetData(); @@ -632,17 +629,14 @@ wxMultiCellCanvas :: wxMultiCellCanvas(wxWindow *par, int numRows, int numCols) m_minCellSize = wxSize(5, 5); } //--------------------------------------------------------------------------- -wxString itoa(int x) -{ - char bfr[255]; - sprintf(bfr, "%d", x); - return bfr; -} -//--------------------------------------------------------------------------- void wxMultiCellCanvas :: Add(wxWindow *win, unsigned int row, unsigned int col) { - wxASSERT_MSG(row >= 0 && row < m_maxRows, wxString("Row ") + itoa(row) + " out of bounds (" + itoa(m_maxRows) + ")"); - wxASSERT_MSG(col >= 0 && col < m_maxCols, wxString("Column ") + itoa(col) + " out of bounds (" + itoa(m_maxCols) + ")"); + // thanks to unsigned data row and col are always >= 0 + wxASSERT_MSG( /* row >= 0 && */ row < m_maxRows, + wxString::Format(_T("Row %d out of bounds (0..%d)"), row, m_maxRows) ); + wxASSERT_MSG( /* col >= 0 && */ col < m_maxCols, + wxString::Format(_T("Column %d out of bounds (0..%d)"), col, m_maxCols) ); + wxASSERT_MSG(m_cells[CELL_LOC(row, col)] == NULL, wxT("Cell already occupied")); wxCell *newCell = new wxCell(win); @@ -659,7 +653,7 @@ void wxMultiCellCanvas :: CalculateConstraints() if (!m_cells[CELL_LOC(row, col)]) { // Create an empty static text field as a placeholder - m_cells[CELL_LOC(row, col)] = new wxCell(new wxStaticText(m_parent, -1, "")); + m_cells[CELL_LOC(row, col)] = new wxCell(new wxStaticText(m_parent, -1, wxT(""))); } wxFlexGridSizer::Add(m_cells[CELL_LOC(row, col)]->m_window); } @@ -667,3 +661,4 @@ void wxMultiCellCanvas :: CalculateConstraints() } /*** End of File ***/ +