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

View File

@@ -55,6 +55,11 @@ wxChoice.
Constructor taking a wxArrayInt pointer. This will be used for wxListBox, wxCheckListBox. 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} \wxheading{Parameters}
\docparam{validator}{Validator to copy.} \docparam{validator}{Validator to copy.}

View File

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

View File

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