wxUniversal positioning fix [#1040625]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba 2005-04-26 19:08:37 +00:00
parent 64bce500c0
commit 50807f9083

View File

@ -821,37 +821,6 @@ void wxCalendarCtrl::DoMoveWindow(int x, int y, int width, int height)
wxSize sizeStatic = m_staticMonth->GetSize();
wxSize sizeSpin = m_spinYear->GetSize();
int dy = (sizeCombo.y - sizeStatic.y) / 2;
/*
In the calender the size of the combobox for the year
is just defined by a margin from the month combobox to
the left border. While in wxUniv the year control can't
show all 4 digits, in wxMsw it show almost twice as
much. Instead the year should use it's best size and be
left aligned to the calendar. Just in case the month in
any language is longer than it has space in the
calendar it is shortend.This way the year always can
show the 4 digits.
This patch relies on the fact that a combobox has a
good best size implementation. This is not the case
with wxMSW but I don't know why.
Otto Wyss
*/
#ifdef __WXUNIVERSAL__
if (sizeCombo.x + HORZ_MARGIN - sizeSpin.x > width)
{
m_comboMonth->SetSize(x, y, width - HORZ_MARGIN - sizeSpin.x, sizeCombo.y);
}
else
{
m_comboMonth->Move(x, y);
}
m_staticMonth->Move(x, y + dy);
m_spinYear->Move(x + width - sizeSpin.x, y);
m_staticYear->Move(x + width - sizeSpin.x, y + dy);
#else
m_comboMonth->Move(x, y);
m_staticMonth->SetSize(x, y + dy, sizeCombo.x, sizeStatic.y);
@ -859,7 +828,7 @@ Otto Wyss
m_spinYear->SetSize(x + xDiff, y, width - xDiff, sizeCombo.y);
m_staticYear->SetSize(x + xDiff, y + dy, width - xDiff, sizeStatic.y);
#endif
yDiff = wxMax(sizeSpin.y, sizeCombo.y) + VERT_MARGIN;
}
else // no controls on the top