public:
wxYearSpinCtrl(wxCalendarCtrl *cal);
- void OnYearTextChange(wxCommandEvent& event)
+ void OnYearTextChange(wxCommandEvent& event)
{
m_cal->SetUserChangedYear();
m_cal->OnYearChange(event);
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxMonthComboBox, wxComboBox)
- EVT_COMBOBOX(-1, wxMonthComboBox::OnMonthChange)
+ EVT_COMBOBOX(wxID_ANY, wxMonthComboBox::OnMonthChange)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxYearSpinCtrl, wxSpinCtrl)
- EVT_TEXT(-1, wxYearSpinCtrl::OnYearTextChange)
- EVT_SPINCTRL(-1, wxYearSpinCtrl::OnYearChange)
+ EVT_TEXT(wxID_ANY, wxYearSpinCtrl::OnYearTextChange)
+ EVT_SPINCTRL(wxID_ANY, wxYearSpinCtrl::OnYearChange)
END_EVENT_TABLE()
#if wxUSE_EXTENDED_RTTI
wxFLAGS_MEMBER(wxBORDER_RAISED)
wxFLAGS_MEMBER(wxBORDER_STATIC)
wxFLAGS_MEMBER(wxBORDER_NONE)
-
+
// old style border flags
wxFLAGS_MEMBER(wxSIMPLE_BORDER)
wxFLAGS_MEMBER(wxSUNKEN_BORDER)
wxBEGIN_PROPERTIES_TABLE(wxCalendarCtrl)
wxEVENT_RANGE_PROPERTY( Updated , wxEVT_CALENDAR_SEL_CHANGED , wxEVT_CALENDAR_WEEKDAY_CLICKED , wxCalendarEvent )
wxHIDE_PROPERTY( Children )
- wxPROPERTY( Date,wxDateTime, SetDate , GetDate, , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ wxPROPERTY( Date,wxDateTime, SetDate , GetDate, , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
wxPROPERTY_FLAGS( WindowStyle , wxCalendarCtrlStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
wxEND_PROPERTIES_TABLE()
wxBEGIN_HANDLERS_TABLE(wxCalendarCtrl)
wxEND_HANDLERS_TABLE()
-wxCONSTRUCTOR_6( wxCalendarCtrl , wxWindow* , Parent , wxWindowID , Id , wxDateTime , Date , wxPoint , Position , wxSize , Size , long , WindowStyle )
+wxCONSTRUCTOR_6( wxCalendarCtrl , wxWindow* , Parent , wxWindowID , Id , wxDateTime , Date , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxCalendarCtrl, wxControl)
#endif
// ----------------------------------------------------------------------------
wxMonthComboBox::wxMonthComboBox(wxCalendarCtrl *cal)
- : wxComboBox(cal->GetParent(), -1,
+ : wxComboBox(cal->GetParent(), wxID_ANY,
wxEmptyString,
wxDefaultPosition,
wxDefaultSize,
}
SetSelection(m_cal->GetDate().GetMonth());
- SetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT);
+ SetSize(wxDefaultPosition.x,
+ wxDefaultPosition.y,
+ wxDefaultSize.x,
+ wxDefaultSize.y,
+ wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT);
}
wxYearSpinCtrl::wxYearSpinCtrl(wxCalendarCtrl *cal)
- : wxSpinCtrl(cal->GetParent(), -1,
+ : wxSpinCtrl(cal->GetParent(), wxID_ANY,
cal->GetDate().Format(_T("%Y")),
wxDefaultPosition,
wxDefaultSize,
const wxString& name)
{
Init();
-
+
(void)Create(parent, id, date, pos, size, style, name);
}
m_staticYear = NULL;
m_staticMonth = NULL;
- m_userChangedYear = FALSE;
+ m_userChangedYear = false;
m_widthCol =
m_heightRow = 0;
style | wxCLIP_CHILDREN | wxWANTS_CHARS,
wxDefaultValidator, name) )
{
- return FALSE;
+ return false;
}
// needed to get the arrow keys normally used for the dialog navigation
if ( !HasFlag(wxCAL_SEQUENTIAL_MONTH_SELECTION) )
{
m_spinYear = new wxYearSpinCtrl(this);
- m_staticYear = new wxStaticText(GetParent(), -1, m_date.Format(_T("%Y")),
+ m_staticYear = new wxStaticText(GetParent(), wxID_ANY, m_date.Format(_T("%Y")),
wxDefaultPosition, wxDefaultSize,
wxALIGN_CENTRE);
m_comboMonth = new wxMonthComboBox(this);
- m_staticMonth = new wxStaticText(GetParent(), -1, m_date.Format(_T("%B")),
+ m_staticMonth = new wxStaticText(GetParent(), wxID_ANY, m_date.Format(_T("%B")),
wxDefaultPosition, wxDefaultSize,
wxALIGN_CENTRE);
}
ShowCurrentControls();
wxSize sizeReal;
- if ( size.x == -1 || size.y == -1 )
+ if ( size.x == wxDefaultSize.x || size.y == wxDefaultSize.y )
{
sizeReal = DoGetBestSize();
- if ( size.x != -1 )
+ if ( size.x != wxDefaultSize.x )
sizeReal.x = size.x;
- if ( size.y != -1 )
+ if ( size.y != wxDefaultSize.y )
sizeReal.y = size.y;
}
else
// above it
SetSize(pos.x, pos.y, sizeReal.x, sizeReal.y);
+ SetForegroundColour(*wxBLACK);
SetBackgroundColour(*wxWHITE);
SetFont(*wxSWISS_FONT);
SetHolidayAttrs();
- return TRUE;
+ return true;
}
wxCalendarCtrl::~wxCalendarCtrl()
{
if ( !wxControl::Show(show) )
{
- return FALSE;
+ return false;
}
if ( !(GetWindowStyle() & wxCAL_SEQUENTIAL_MONTH_SELECTION) )
}
}
- return TRUE;
+ return true;
}
bool wxCalendarCtrl::Enable(bool enable)
{
if ( !wxControl::Enable(enable) )
{
- return FALSE;
+ return false;
}
if ( !(GetWindowStyle() & wxCAL_SEQUENTIAL_MONTH_SELECTION) )
GetYearControl()->Enable(enable);
}
- return TRUE;
+ return true;
}
// ----------------------------------------------------------------------------
bool wxCalendarCtrl::SetDate(const wxDateTime& date)
{
- bool retval = TRUE;
+ bool retval = true;
bool sameMonth = m_date.GetMonth() == date.GetMonth(),
sameYear = m_date.GetYear() == date.GetYear();
else
{
// forbidden
- retval = FALSE;
+ retval = false;
}
}
}
- m_userChangedYear = FALSE;
-
+ m_userChangedYear = false;
+
return retval;
}
bool wxCalendarCtrl::SetLowerDateLimit(const wxDateTime& date /* = wxDefaultDateTime */)
{
- bool retval = TRUE;
+ bool retval = true;
- if ( !(date.IsValid()) || ( ( m_highdate.IsValid() ) ? ( date <= m_highdate ) : TRUE ) )
+ if ( !(date.IsValid()) || ( ( m_highdate.IsValid() ) ? ( date <= m_highdate ) : true ) )
{
m_lowdate = date;
}
else
{
- retval = FALSE;
+ retval = false;
}
return retval;
bool wxCalendarCtrl::SetUpperDateLimit(const wxDateTime& date /* = wxDefaultDateTime */)
{
- bool retval = TRUE;
+ bool retval = true;
- if ( !(date.IsValid()) || ( ( m_lowdate.IsValid() ) ? ( date >= m_lowdate ) : TRUE ) )
+ if ( !(date.IsValid()) || ( ( m_lowdate.IsValid() ) ? ( date >= m_lowdate ) : true ) )
{
m_highdate = date;
}
else
{
- retval = FALSE;
+ retval = false;
}
return retval;
bool wxCalendarCtrl::SetDateRange(const wxDateTime& lowerdate /* = wxDefaultDateTime */, const wxDateTime& upperdate /* = wxDefaultDateTime */)
{
- bool retval = TRUE;
+ bool retval = true;
if (
- ( !( lowerdate.IsValid() ) || ( ( upperdate.IsValid() ) ? ( lowerdate <= upperdate ) : TRUE ) ) &&
- ( !( upperdate.IsValid() ) || ( ( lowerdate.IsValid() ) ? ( upperdate >= lowerdate ) : TRUE ) ) )
+ ( !( lowerdate.IsValid() ) || ( ( upperdate.IsValid() ) ? ( lowerdate <= upperdate ) : true ) ) &&
+ ( !( upperdate.IsValid() ) || ( ( lowerdate.IsValid() ) ? ( upperdate >= lowerdate ) : true ) ) )
{
m_lowdate = lowerdate;
m_highdate = upperdate;
}
else
{
- retval = FALSE;
+ retval = false;
}
return retval;
}
else
{
- return TRUE;
+ return true;
}
}
bool wxCalendarCtrl::IsDateInRange(const wxDateTime& date) const
{
// Check if the given date is in the range specified
- return ( ( ( m_lowdate.IsValid() ) ? ( date >= m_lowdate ) : TRUE )
- && ( ( m_highdate.IsValid() ) ? ( date <= m_highdate ) : TRUE ) );
+ return ( ( ( m_lowdate.IsValid() ) ? ( date >= m_lowdate ) : true )
+ && ( ( m_highdate.IsValid() ) ? ( date <= m_highdate ) : true ) );
}
bool wxCalendarCtrl::ChangeYear(wxDateTime* target) const
{
- bool retval = FALSE;
+ bool retval = false;
if ( !(IsDateInRange(*target)) )
{
if ( target->GetYear() >= GetLowerDateLimit().GetYear() )
{
*target = GetLowerDateLimit();
- retval = TRUE;
+ retval = true;
}
else
{
if ( target->GetYear() <= GetUpperDateLimit().GetYear() )
{
*target = GetUpperDateLimit();
- retval = TRUE;
+ retval = true;
}
else
{
}
else
{
- retval = TRUE;
+ retval = true;
}
return retval;
bool wxCalendarCtrl::ChangeMonth(wxDateTime* target) const
{
- bool retval = TRUE;
+ bool retval = true;
if ( !(IsDateInRange(*target)) )
{
- retval = FALSE;
+ retval = false;
if ( target->GetMonth() < m_date.GetMonth() )
{
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
+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
{
wxDateTime ldpm = wxDateTime(1,m_date.GetMonth(), m_date.GetYear()) - wxDateSpan::Day(); // last day prev month
// Check if range permits change
- if ( IsDateInRange(ldpm) && ( ( ldpm.GetYear() == m_date.GetYear() ) ? TRUE : AllowYearChange() ) )
+ if ( IsDateInRange(ldpm) && ( ( ldpm.GetYear() == m_date.GetYear() ) ? true : AllowYearChange() ) )
{
m_leftArrowRect = wxRect(larrowx - 3, arrowy - 3, (arrowheight / 2) + 8, (arrowheight + 6));
dc.SetBrush(wxBrush(*wxBLACK, wxSOLID));
dc.DrawRectangle(m_leftArrowRect);
}
wxDateTime fdnm = wxDateTime(1,m_date.GetMonth(), m_date.GetYear()) + wxDateSpan::Month(); // first day next month
- if ( IsDateInRange(fdnm) && ( ( fdnm.GetYear() == m_date.GetYear() ) ? TRUE : AllowYearChange() ) )
+ if ( IsDateInRange(fdnm) && ( ( fdnm.GetYear() == m_date.GetYear() ) ? true : AllowYearChange() ) )
{
m_rightArrowRect = wxRect(rarrowx - 4, arrowy - 3, (arrowheight / 2) + 8, (arrowheight + 6));
dc.SetBrush(wxBrush(*wxBLACK, wxSOLID));
wxCoord width;
dc.GetTextExtent(dayStr, &width, (wxCoord *)NULL);
- bool changedColours = FALSE,
- changedFont = FALSE;
+ bool changedColours = false,
+ changedFont = false;
- bool isSel = FALSE;
+ bool isSel = false;
wxCalendarDateAttr *attr = NULL;
if ( date.GetMonth() != m_date.GetMonth() || !IsDateInRange(date) )
// surrounding week or out-of-range
// draw "disabled"
dc.SetTextForeground(*wxLIGHT_GREY);
- changedColours = TRUE;
+ changedColours = true;
}
else
{
dc.SetTextForeground(m_colHighlightFg);
dc.SetTextBackground(m_colHighlightBg);
- changedColours = TRUE;
+ changedColours = true;
}
else if ( attr )
{
if ( colFg.Ok() )
{
dc.SetTextForeground(colFg);
- changedColours = TRUE;
+ changedColours = true;
}
if ( colBg.Ok() )
{
dc.SetTextBackground(colBg);
- changedColours = TRUE;
+ changedColours = true;
}
if ( attr->HasFont() )
{
dc.SetFont(attr->GetFont());
- changedFont = TRUE;
+ changedFont = true;
}
}
}
rect.x + rect.width, rect.y + rect.height);
#endif
- Refresh(TRUE, &rect);
+ Refresh(true, &rect);
}
void wxCalendarCtrl::HighlightRange(wxPaintDC* pDC, const wxDateTime& fromdate, const wxDateTime& todate, wxPen* pPen, wxBrush* pBrush)
bool wxCalendarCtrl::GetDateCoord(const wxDateTime& date, int *day, int *week) const
{
- bool retval = TRUE;
+ bool retval = true;
#if DEBUG_PAINT
wxLogDebug("+++ GetDateCoord: (%s) +++", date.Format("%d %m %Y"));
{
*day = -1;
*week = -1;
- retval = FALSE;
+ retval = false;
}
#if DEBUG_PAINT
attr = new wxCalendarDateAttr;
}
- attr->SetHoliday(TRUE);
+ attr->SetHoliday(true);
// can't use SetAttr() because it would delete this pointer
m_attrs[day - 1] = attr;
{
if ( m_attrs[day] )
{
- m_attrs[day]->SetHoliday(FALSE);
+ m_attrs[day]->SetHoliday(false);
}
}
}