Set m_rows, m_cols so GetRows/GetCols in the base class work. Added
GetCellSize method. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -94,6 +94,15 @@ pointer values) or NULL if not found. (non-recursive)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\membersection{wxGridBagSizer::GetCellSize}\label{wxgridbagsizergetcellsize}
|
||||||
|
|
||||||
|
\constfunc{wxSize}{GetCellSize}{\param{int }{row}, \param{int }{col}}
|
||||||
|
|
||||||
|
Get the size of the specified cell, including hgap and vgap. Only
|
||||||
|
valid after a Layout.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxGridBagSizer::GetEmptyCellSize}\label{wxgridbagsizergetemptycellsize}
|
\membersection{wxGridBagSizer::GetEmptyCellSize}\label{wxgridbagsizergetemptycellsize}
|
||||||
|
|
||||||
\constfunc{wxSize}{GetEmptyCellSize}{\void}
|
\constfunc{wxSize}{GetEmptyCellSize}{\void}
|
||||||
|
@@ -202,6 +202,10 @@ public:
|
|||||||
wxSize GetEmptyCellSize() const { return m_emptyCellSize; }
|
wxSize GetEmptyCellSize() const { return m_emptyCellSize; }
|
||||||
void SetEmptyCellSize(const wxSize& sz) { m_emptyCellSize = sz; }
|
void SetEmptyCellSize(const wxSize& sz) { m_emptyCellSize = sz; }
|
||||||
|
|
||||||
|
// Get the size of the specified cell, including hgap and vgap. Only
|
||||||
|
// valid after a Layout.
|
||||||
|
wxSize GetCellSize(int row, int col) const;
|
||||||
|
|
||||||
// Get the grid position of the specified item (non-recursive)
|
// Get the grid position of the specified item (non-recursive)
|
||||||
wxGBPosition GetItemPosition(wxWindow *window);
|
wxGBPosition GetItemPosition(wxWindow *window);
|
||||||
wxGBPosition GetItemPosition(wxSizer *sizer);
|
wxGBPosition GetItemPosition(wxSizer *sizer);
|
||||||
|
@@ -238,6 +238,15 @@ bool wxGridBagSizer::Add( wxGBSizerItem *item )
|
|||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxSize wxGridBagSizer::GetCellSize(int row, int col) const
|
||||||
|
{
|
||||||
|
wxCHECK_MSG( (row < m_rows) && (col < m_cols),
|
||||||
|
wxDefaultSize,
|
||||||
|
wxT("Invalid cell."));
|
||||||
|
return wxSize( m_colWidths[col], m_rowHeights[row] );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
wxGBPosition wxGridBagSizer::GetItemPosition(wxWindow *window)
|
wxGBPosition wxGridBagSizer::GetItemPosition(wxWindow *window)
|
||||||
{
|
{
|
||||||
wxGBPosition badpos(-1,-1);
|
wxGBPosition badpos(-1,-1);
|
||||||
@@ -456,14 +465,14 @@ wxSize wxGridBagSizer::CalcMin()
|
|||||||
|
|
||||||
// Now traverse the heights and widths arrays calcing the totals, including gaps
|
// Now traverse the heights and widths arrays calcing the totals, including gaps
|
||||||
int width = 0;
|
int width = 0;
|
||||||
int ncols = m_colWidths.GetCount();
|
m_cols = m_colWidths.GetCount();
|
||||||
for (idx=0; idx < ncols; idx++)
|
for (idx=0; idx < m_cols; idx++)
|
||||||
width += m_colWidths[idx] + ( idx == ncols-1 ? 0 : m_hgap );
|
width += m_colWidths[idx] + ( idx == m_cols-1 ? 0 : m_hgap );
|
||||||
|
|
||||||
int height = 0;
|
int height = 0;
|
||||||
int nrows = m_rowHeights.GetCount();
|
m_rows = m_rowHeights.GetCount();
|
||||||
for (idx=0; idx < nrows; idx++)
|
for (idx=0; idx < m_rows; idx++)
|
||||||
height += m_rowHeights[idx] + ( idx == nrows-1 ? 0 : m_vgap );
|
height += m_rowHeights[idx] + ( idx == m_rows-1 ? 0 : m_vgap );
|
||||||
|
|
||||||
return wxSize(width, height);
|
return wxSize(width, height);
|
||||||
}
|
}
|
||||||
@@ -481,17 +490,17 @@ void wxGridBagSizer::RecalcSizes()
|
|||||||
wxPoint pt( GetPosition() );
|
wxPoint pt( GetPosition() );
|
||||||
wxSize sz( GetSize() );
|
wxSize sz( GetSize() );
|
||||||
|
|
||||||
int nrows = m_rowHeights.GetCount();
|
m_rows = m_rowHeights.GetCount();
|
||||||
int ncols = m_colWidths.GetCount();
|
m_cols = m_colWidths.GetCount();
|
||||||
int idx, width, height;
|
int idx, width, height;
|
||||||
|
|
||||||
AdjustForGrowables(sz, minsz, nrows, ncols);
|
AdjustForGrowables(sz, minsz, m_rows, m_cols);
|
||||||
|
|
||||||
// Find the start positions on the window of the rows and columns
|
// Find the start positions on the window of the rows and columns
|
||||||
wxArrayInt rowpos;
|
wxArrayInt rowpos;
|
||||||
rowpos.Add(0, nrows);
|
rowpos.Add(0, m_rows);
|
||||||
int y = pt.y;
|
int y = pt.y;
|
||||||
for (idx=0; idx < nrows; idx++)
|
for (idx=0; idx < m_rows; idx++)
|
||||||
{
|
{
|
||||||
height = m_rowHeights[idx] + m_vgap;
|
height = m_rowHeights[idx] + m_vgap;
|
||||||
rowpos[idx] = y;
|
rowpos[idx] = y;
|
||||||
@@ -499,9 +508,9 @@ void wxGridBagSizer::RecalcSizes()
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxArrayInt colpos;
|
wxArrayInt colpos;
|
||||||
colpos.Add(0, ncols);
|
colpos.Add(0, m_cols);
|
||||||
int x = pt.x;
|
int x = pt.x;
|
||||||
for (idx=0; idx < ncols; idx++)
|
for (idx=0; idx < m_cols; idx++)
|
||||||
{
|
{
|
||||||
width = m_colWidths[idx] + m_hgap;
|
width = m_colWidths[idx] + m_hgap;
|
||||||
colpos[idx] = x;
|
colpos[idx] = x;
|
||||||
|
Reference in New Issue
Block a user