git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
137 lines
3.6 KiB
C++
137 lines
3.6 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: src/palmos/datectrl.cpp
|
|
// Purpose: wxDatePickerCtrl implementation
|
|
// Author: Wlodzimierz ABX Skiba
|
|
// Modified by:
|
|
// Created: 02/14/05
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Wlodzimierz Skiba
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// ============================================================================
|
|
// declarations
|
|
// ============================================================================
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// headers
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#include "wx/wxprec.h"
|
|
|
|
#ifdef __BORLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#if wxUSE_DATEPICKCTRL
|
|
|
|
#include "wx/datectrl.h"
|
|
|
|
#ifndef WX_PRECOMP
|
|
#include "wx/intl.h"
|
|
#include "wx/app.h"
|
|
#endif
|
|
|
|
#include "wx/dynlib.h"
|
|
|
|
#define _WX_DEFINE_DATE_EVENTS_
|
|
#include "wx/dateevt.h"
|
|
|
|
#include <Control.h>
|
|
#include <SelDay.h>
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxDatePickerCtrl, wxControl)
|
|
|
|
// ============================================================================
|
|
// implementation
|
|
// ============================================================================
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxDatePickerCtrl creation
|
|
// ----------------------------------------------------------------------------
|
|
|
|
bool wxDatePickerCtrl::Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxDateTime& dt,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
long style,
|
|
const wxValidator& validator,
|
|
const wxString& name)
|
|
{
|
|
if(!wxControl::Create(parent, id, pos, size, style, validator, name))
|
|
return false;
|
|
|
|
wxString label;
|
|
|
|
if ( dt.IsValid() )
|
|
{
|
|
label = dt.FormatDate();
|
|
m_dt = dt;
|
|
}
|
|
|
|
if(!wxControl::PalmCreateControl(selectorTriggerCtl, label, pos, size))
|
|
return false;
|
|
|
|
return true;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxDatePickerCtrl geometry
|
|
// ----------------------------------------------------------------------------
|
|
|
|
wxSize wxDatePickerCtrl::DoGetBestSize() const
|
|
{
|
|
return wxSize(16,16);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxDatePickerCtrl operations
|
|
// ----------------------------------------------------------------------------
|
|
|
|
void wxDatePickerCtrl::SetValue(const wxDateTime& dt)
|
|
{
|
|
if ( dt.IsValid() )
|
|
m_dt = dt;
|
|
|
|
SetLabel(m_dt.FormatDate());
|
|
}
|
|
|
|
wxDateTime wxDatePickerCtrl::GetValue() const
|
|
{
|
|
return m_dt;
|
|
}
|
|
|
|
void wxDatePickerCtrl::SetRange(const wxDateTime& dt1, const wxDateTime& dt2)
|
|
{
|
|
// TODO
|
|
}
|
|
|
|
bool wxDatePickerCtrl::GetRange(wxDateTime *dt1, wxDateTime *dt2) const
|
|
{
|
|
// TODO
|
|
return false;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// helpers
|
|
// ----------------------------------------------------------------------------
|
|
|
|
bool wxDatePickerCtrl::SendClickEvent()
|
|
{
|
|
int16_t month = (int16_t)m_dt.GetMonth() + 1;
|
|
int16_t day = m_dt.GetDay();
|
|
int16_t year = m_dt.GetYear();
|
|
|
|
if(!SelectDay(selectDayByDay,&month,&day,&year,_T("Pick date")))
|
|
return false;
|
|
wxDateTime dt(m_dt);
|
|
dt.Set((wxDateTime::wxDateTime_t)day,
|
|
(wxDateTime::Month)(month-1),
|
|
(int)year);
|
|
SetValue(dt);
|
|
return true;
|
|
}
|
|
|
|
#endif // wxUSE_DATEPICKCTRL
|