wxDatePicker and wxDateTime for PalmOS. Remove conflict with internal maxDays in PalmOS. #if wxUSE_XXX for limited builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -120,7 +120,9 @@ wxCUSTOM_TYPE_INFO(wxDateTime, wxToStringConverter<wxDateTime> , wxFromStringCon
|
||||
#endif
|
||||
|
||||
#if !defined(WX_TIMEZONE) && !defined(WX_GMTOFF_IN_TM)
|
||||
#if defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__)
|
||||
#if defined(__WXPALMOS__)
|
||||
#define WX_GMTOFF_IN_TM
|
||||
#elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__)
|
||||
#define WX_TIMEZONE _timezone
|
||||
#elif defined(__MWERKS__)
|
||||
long wxmw_timezone = 28800;
|
||||
@@ -3563,14 +3565,14 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
|
||||
}
|
||||
else // may be either day or year
|
||||
{
|
||||
wxDateTime_t maxDays = (wxDateTime_t)(
|
||||
wxDateTime_t max_days = (wxDateTime_t)(
|
||||
haveMon
|
||||
? GetNumOfDaysInMonth(haveYear ? year : Inv_Year, mon)
|
||||
: 31
|
||||
);
|
||||
|
||||
// can it be day?
|
||||
if ( (val == 0) || (val > (unsigned long)maxDays) )
|
||||
if ( (val == 0) || (val > (unsigned long)max_days) )
|
||||
{
|
||||
// no
|
||||
isYear = true;
|
||||
|
@@ -59,9 +59,9 @@ bool wxDatePickerCtrl::Create(wxWindow *parent,
|
||||
wxString label;
|
||||
|
||||
if ( dt.IsValid() )
|
||||
label = _T("test2");
|
||||
label = dt.FormatDate();
|
||||
|
||||
ig(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size))
|
||||
if(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -73,9 +73,7 @@ bool wxDatePickerCtrl::Create(wxWindow *parent,
|
||||
|
||||
wxSize wxDatePickerCtrl::DoGetBestSize() const
|
||||
{
|
||||
const int y = GetCharHeight();
|
||||
|
||||
return wxSize(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y));
|
||||
return wxSize(16,16);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -84,7 +82,10 @@ wxSize wxDatePickerCtrl::DoGetBestSize() const
|
||||
|
||||
void wxDatePickerCtrl::SetValue(const wxDateTime& dt)
|
||||
{
|
||||
SetLabel(_T("test1"));
|
||||
if ( dt.IsValid() )
|
||||
SetLabel(dt.FormatDate());
|
||||
else
|
||||
SetLabel(wxEmptyString);
|
||||
}
|
||||
|
||||
wxDateTime wxDatePickerCtrl::GetValue() const
|
||||
@@ -105,5 +106,19 @@ bool wxDatePickerCtrl::GetRange(wxDateTime *dt1, wxDateTime *dt2) const
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// helpers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
bool wxDatePickerCtrl::SendClickEvent()
|
||||
{
|
||||
wxDateTime dt(wxDateTime::Today());
|
||||
int16_t month = dt.GetMonth();
|
||||
int16_t day = dt.GetDay();
|
||||
int16_t year = dt.GetYear();
|
||||
|
||||
if(SelectDay(selectDayByMonth,&month,&day,&year,_T("Pick date")));
|
||||
}
|
||||
|
||||
#endif // wxUSE_DATEPICKCTRL
|
||||
|
||||
|
@@ -48,6 +48,7 @@
|
||||
#include "wx/radiobut.h"
|
||||
#include "wx/tglbtn.h"
|
||||
#include "wx/slider.h"
|
||||
#include "wx/datectrl.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// globals
|
||||
@@ -257,25 +258,41 @@ bool wxTopLevelWindowPalm::HandleControlSelect(EventType* event)
|
||||
if(win==NULL)
|
||||
return false;
|
||||
|
||||
#if wxUSE_BUTTON
|
||||
wxButton* button = wxDynamicCast(win,wxButton);
|
||||
if(button)
|
||||
return button->SendClickEvent();
|
||||
#endif // wxUSE_BUTTON
|
||||
|
||||
#if wxUSE_CHECKBOX
|
||||
wxCheckBox* checkbox = wxDynamicCast(win,wxCheckBox);
|
||||
if(checkbox)
|
||||
return checkbox->SendClickEvent();
|
||||
#endif // wxUSE_CHECKBOX
|
||||
|
||||
#if wxUSE_TOGGLEBTN
|
||||
wxToggleButton* toggle = wxDynamicCast(win,wxToggleButton);
|
||||
if(toggle)
|
||||
return toggle->SendClickEvent();
|
||||
#endif // wxUSE_TOGGLEBTN
|
||||
|
||||
#if wxUSE_RADIOBTN
|
||||
wxRadioButton* radio = wxDynamicCast(win,wxRadioButton);
|
||||
if(radio)
|
||||
return radio->SendClickEvent();
|
||||
#endif // wxUSE_RADIOBTN
|
||||
|
||||
#if wxUSE_DATEPICKCTRL
|
||||
wxDatePickerCtrl* datepicker = wxDynamicCast(win,wxDatePickerCtrl);
|
||||
if(datepicker)
|
||||
return datepicker->SendClickEvent();
|
||||
#endif // wxUSE_DATEPICKCTRL
|
||||
|
||||
#if wxUSE_SLIDER
|
||||
wxSlider* slider = wxDynamicCast(win,wxSlider);
|
||||
if(slider)
|
||||
return slider->SendUpdatedEvent();
|
||||
#endif // wxUSE_SLIDER
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -288,9 +305,11 @@ bool wxTopLevelWindowPalm::HandleControlRepeat(EventType* event)
|
||||
if(win==NULL)
|
||||
return false;
|
||||
|
||||
#if wxUSE_SLIDER
|
||||
wxSlider* slider = wxDynamicCast(win,wxSlider);
|
||||
if(slider)
|
||||
return slider->SendScrollEvent(event);
|
||||
#endif // wxUSE_SLIDER
|
||||
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user