Native PalmOS wxLongLong. Introduction of wxULongLong_t due to 'unsigned' not working on internally typedefed wxLongLong_t (both unsigned wxLongLong_t and wxULongLong_t should work for other platforms). Improvements in wxDatePicker control on PalmOS.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2005-02-16 09:35:31 +00:00
parent b734b2cafa
commit 6058220154
6 changed files with 63 additions and 28 deletions

View File

@@ -751,7 +751,7 @@ wxULongLongWx& wxULongLongWx::operator*=(const wxULongLongWx& ll)
m_hi = m_lo = 0;
#ifdef wxLONGLONG_TEST_MODE
unsigned wxLongLong_t llOld = m_ll;
wxULongLong_t llOld = m_ll;
m_ll = 0;
#endif // wxLONGLONG_TEST_MODE

View File

@@ -240,7 +240,19 @@ wxLongLong wxGetLocalTimeMillis()
// If possible, use a function which avoids conversions from
// broken-up time structures to milliseconds
#if defined(__WXMSW__) && (defined(__WINE__) || defined(__MWERKS__))
#if defined(__WXPALMOS__)
DateTimeType thenst;
thenst.second = 0;
thenst.minute = 0;
thenst.hour = 0;
thenst.day = 1;
thenst.month = 1;
thenst.year = 1970;
thenst.weekDay = 5;
uint32_t now = TimGetSeconds();
uint32_t then = TimDateTimeToSeconds (&thenst);
return SysTimeToMilliSecs(SysTimeInSecs(now - then));
#elif defined(__WXMSW__) && (defined(__WINE__) || defined(__MWERKS__))
// This should probably be the way all WXMSW compilers should do it
// Go direct to the OS for time

View File

@@ -59,7 +59,10 @@ bool wxDatePickerCtrl::Create(wxWindow *parent,
wxString label;
if ( dt.IsValid() )
{
label = dt.FormatDate();
m_dt = dt;
}
if(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size))
return false;
@@ -83,16 +86,14 @@ wxSize wxDatePickerCtrl::DoGetBestSize() const
void wxDatePickerCtrl::SetValue(const wxDateTime& dt)
{
if ( dt.IsValid() )
SetLabel(dt.FormatDate());
else
SetLabel(wxEmptyString);
m_dt = dt;
SetLabel(m_dt.FormatDate());
}
wxDateTime wxDatePickerCtrl::GetValue() const
{
wxDateTime dt;
// TODO
return dt;
return m_dt;
}
void wxDatePickerCtrl::SetRange(const wxDateTime& dt1, const wxDateTime& dt2)
@@ -112,12 +113,16 @@ bool wxDatePickerCtrl::GetRange(wxDateTime *dt1, wxDateTime *dt2) const
bool wxDatePickerCtrl::SendClickEvent()
{
wxDateTime dt(wxDateTime::Today());
int16_t month = dt.GetMonth();
int16_t day = dt.GetDay();
int16_t year = dt.GetYear();
int16_t month = m_dt.GetMonth();
int16_t day = m_dt.GetDay();
int16_t year = m_dt.GetYear();
if(SelectDay(selectDayByMonth,&month,&day,&year,_T("Pick date")));
if(!SelectDay(selectDayByDay,&month,&day,&year,_T("Pick date")))
return false;
wxDateTime dt(m_dt);
dt.Set((wxDateTime::wxDateTime_t)day, (wxDateTime::Month)month, (int)year);
SetValue(dt);
return true;
}
#endif // wxUSE_DATEPICKCTRL