X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/118cc185eb27b933439f3fb136b2b6ece5fe1bea..ba597ca8315df299a603990df4e0f334e3f21f6a:/contrib/src/gizmos/multicell.cpp?ds=sidebyside diff --git a/contrib/src/gizmos/multicell.cpp b/contrib/src/gizmos/multicell.cpp index 632c054674..d50fd58826 100644 --- a/contrib/src/gizmos/multicell.cpp +++ b/contrib/src/gizmos/multicell.cpp @@ -296,11 +296,10 @@ void wxMultiCellSizer::RecalcSizes() wxPoint c_point; wxSize c_size; - wxNode *current; - current = m_children.GetFirst(); + wxSizerItemList::Node *current = m_children.GetFirst(); while (current != NULL) { - wxSizerItem *item = (wxSizerItem*) current->Data(); + wxSizerItem *item = current->GetData(); wxMultiCellItemHandle *rect; if (item != NULL && @@ -372,7 +371,7 @@ void wxMultiCellSizer::RecalcSizes() } item->SetDimension(c_point, c_size); } - current = current->Next(); + current = current->GetNext(); } } //--------------------------------------------------------------------------- @@ -381,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 ); } //--------------------------------------------------------------------------- @@ -404,10 +400,10 @@ void wxMultiCellSizer :: GetMinimums() m_weights[x]->SetWidth(0); } - wxNode *node = m_children.GetFirst(); + wxSizerItemList::Node *node = m_children.GetFirst(); while (node) { - wxSizerItem *item = (wxSizerItem*) node->Data(); + wxSizerItem *item = node->GetData(); wxMultiCellItemHandle *rect; if (item != NULL && (rect = (wxMultiCellItemHandle *)item->GetUserData()) != NULL) @@ -506,7 +502,7 @@ void wxMultiCellSizer :: GetMinimums() m_maxWidth[col] = wxMax(m_maxWidth[col], m_defaultCellSize.GetWidth()); m_weights[col]->SetWidth(wxMax(m_weights[col]->GetWidth(), rect->GetWeight().GetWidth())); } - node = node->Next(); + node = node->GetNext(); } } } // wxMultiCellSizer :: GetMinimums @@ -633,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); @@ -660,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); } @@ -668,3 +661,4 @@ void wxMultiCellCanvas :: CalculateConstraints() } /*** End of File ***/ +