add wxDatePickerCtrl support in wxGenericValidator (patch 1870174)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-01-20 22:40:14 +00:00
parent fb91e8d098
commit 22de6a4083
4 changed files with 59 additions and 3 deletions

View File

@ -217,6 +217,7 @@ All (GUI):
- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty).
- Added wxNotificationMessage class for non-intrusive notifications
- Added wxWindow::Show/HideWithEffect()
- Added wxWrapSizer
- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron).
- Added support for drop down toolbar buttons (Tim Kosse).
- Added support for labels for toolbar controls (Vince Harron).
@ -264,8 +265,8 @@ All (GUI):
- Added support for resizing wxWizard bitmaps to the current page height,
via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth.
Also made it easier to derive from wxWizard and override behaviour.
- Added wxWrapSizer
- Made wxSizer::Fit() set the client size of the target window
- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
wxGTK:

View File

@ -55,6 +55,11 @@ wxChoice.
Constructor taking a wxArrayInt pointer. This will be used for wxListBox, wxCheckListBox.
\func{}{wxGenericValidator}{\param{wxDateTime*}{ valPtr}}
Constructor taking a \helpref{wxDateTime}{wxdatetime} pointer. This will be
used for \helpref{wxDatePickerCtrl}{wxdatepickerctrl}.
\wxheading{Parameters}
\docparam{validator}{Validator to copy.}

View File

@ -16,6 +16,8 @@
#if wxUSE_VALIDATORS
class WXDLLIMPEXP_FWD_BASE wxDateTime;
class WXDLLEXPORT wxGenericValidator: public wxValidator
{
DECLARE_CLASS(wxGenericValidator)
@ -24,6 +26,9 @@ public:
wxGenericValidator(int* val);
wxGenericValidator(wxString* val);
wxGenericValidator(wxArrayInt* val);
#if wxUSE_DATETIME
wxGenericValidator(wxDateTime* val);
#endif // wxUSE_DATETIME
wxGenericValidator(const wxGenericValidator& copyFrom);
virtual ~wxGenericValidator(){}
@ -52,6 +57,9 @@ protected:
int* m_pInt;
wxString* m_pString;
wxArrayInt* m_pArrayInt;
#if wxUSE_DATETIME
wxDateTime* m_pDateTime;
#endif // wxUSE_DATETIME
private:
// Cannot use

View File

@ -38,6 +38,7 @@
#endif
#include "wx/spinctrl.h"
#include "wx/datectrl.h"
#if wxUSE_SPINBTN
#include "wx/spinbutt.h"
@ -74,6 +75,16 @@ wxGenericValidator::wxGenericValidator(wxArrayInt *val)
m_pArrayInt = val;
}
#if wxUSE_DATETIME
wxGenericValidator::wxGenericValidator(wxDateTime *val)
{
Initialize();
m_pDateTime = val;
}
#endif // wxUSE_DATETIME
wxGenericValidator::wxGenericValidator(const wxGenericValidator& val)
: wxValidator()
{
@ -88,6 +99,9 @@ bool wxGenericValidator::Copy(const wxGenericValidator& val)
m_pInt = val.m_pInt;
m_pString = val.m_pString;
m_pArrayInt = val.m_pArrayInt;
#if wxUSE_DATETIME
m_pDateTime = val.m_pDateTime;
#endif // wxUSE_DATETIME
return true;
}
@ -213,6 +227,19 @@ bool wxGenericValidator::TransferToWindow(void)
} else
#endif
// date time controls
#if wxUSE_DATEPICKCTRL
if (m_validatorWindow->IsKindOf(CLASSINFO(wxDatePickerCtrl)) )
{
wxDatePickerCtrl* pControl = (wxDatePickerCtrl*) m_validatorWindow;
if (m_pDateTime)
{
pControl->SetValue(*m_pDateTime) ;
return true;
}
} else
#endif
// string controls
#if wxUSE_BUTTON
if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
@ -458,6 +485,19 @@ bool wxGenericValidator::TransferFromWindow(void)
} else
#endif
// DATE TIME CONTROLS ************************************
#if wxUSE_DATEPICKCTRL
if (m_validatorWindow->IsKindOf(CLASSINFO(wxDatePickerCtrl)) )
{
wxDatePickerCtrl* pControl = (wxDatePickerCtrl*) m_validatorWindow;
if (m_pDateTime)
{
*m_pDateTime = pControl->GetValue() ;
return true;
}
} else
#endif
// STRING CONTROLS ************************************
#if wxUSE_BUTTON
if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
@ -597,7 +637,9 @@ void wxGenericValidator::Initialize()
m_pInt = 0;
m_pString = 0;
m_pArrayInt = 0;
#if wxUSE_DATETIME
m_pDateTime = 0;
#endif // wxUSE_DATETIME
}
#endif
// wxUSE_VALIDATORS
#endif // wxUSE_VALIDATORS