From 29c8694822a192934278ba0f98eaf437024c0278 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 19 Jan 2005 19:31:40 +0000 Subject: [PATCH] added wxDP_SPIN/DROPDOWN styles (only Win32 native version implements the former) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/datectrl.tex | 17 +++++++++++++++-- include/wx/datectrl.h | 15 ++++++++++++++- src/generic/datectlg.cpp | 3 +++ src/msw/datectrl.cpp | 9 ++++++--- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/docs/latex/wx/datectrl.tex b/docs/latex/wx/datectrl.tex index 52d923a1ec..73f6482eab 100644 --- a/docs/latex/wx/datectrl.tex +++ b/docs/latex/wx/datectrl.tex @@ -30,6 +30,19 @@ the platform. (only available if \texttt{wxUSE\_DATEPICKCTRL} is set to $1$) +\wxheading{Window styles} + +\twocolwidtha{5cm}% +\begin{twocollist}\itemsep=0pt +\twocolitem{\windowstyle{wxDP\_SPIN}}{Creates a control without month calendar +drop down but with spin control-like arrows to change individual date +components. This style is not supported by the generic version.} +\twocolitem{\windowstyle{wxDP\_DROPDOWN}}{Creates a control with a month +calendar drop down part from which the user can select a date.} +\twocolitem{\windowstyle{wxDP\_DEFAULT}}{Creates a control with default style +which is the best supported for the current platform.} +\end{twocollist} + \wxheading{Event handling} \twocolwidtha{7cm}% @@ -53,7 +66,7 @@ changes the current selection in the control.} \param{const wxDateTime\& }{dt = wxDefaultDateTime},\rtfsp \param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{long}{ style = 0},\rtfsp +\param{long}{ style = wxDP\_DEFAULT},\rtfsp \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``datectrl"}} @@ -68,7 +81,7 @@ all the parameters. \param{const wxDateTime\& }{dt = wxDefaultDateTime},\rtfsp \param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{long}{ style = 0},\rtfsp +\param{long}{ style = wxDP\_DEFAULT},\rtfsp \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``datectrl"}} diff --git a/include/wx/datectrl.h b/include/wx/datectrl.h index 0d843357b7..1cf93fa1d2 100644 --- a/include/wx/datectrl.h +++ b/include/wx/datectrl.h @@ -17,6 +17,19 @@ #define wxDatePickerCtrlNameStr _T("datectrl") +// wxDatePickerCtrl styles +enum +{ + // default style on this platform, either wxDP_SPIN or wxDP_DROPDOWN + wxDP_DEFAULT = 0, + + // a spin control-like date picker (not supported in generic version) + wxDP_SPIN = 1, + + // a combobox-like date picker (not supported in mac version) + wxDP_DROPDOWN = 2 +}; + // ---------------------------------------------------------------------------- // wxDatePickerCtrl: allow the user to enter the date // ---------------------------------------------------------------------------- @@ -33,7 +46,7 @@ public: const wxDateTime& dt = wxDefaultDateTime, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0, + long style = wxDP_DEFAULT, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxDatePickerCtrlNameStr); */ diff --git a/src/generic/datectlg.cpp b/src/generic/datectlg.cpp index 3b30d8ffec..b265e27738 100644 --- a/src/generic/datectlg.cpp +++ b/src/generic/datectlg.cpp @@ -79,6 +79,9 @@ bool wxDatePickerCtrl::Create(wxWindow *parent, long style, const wxString& name) { + wxASSERT_MSG( !(style & wxDP_SPIN), + _T("wxDP_SPIN style not supported, use wxDP_DEFAULT") ); + wxString txt; if (date.IsValid()) txt = date.FormatDate(); diff --git a/src/msw/datectrl.cpp b/src/msw/datectrl.cpp index 373d146439..5d1ffa61ac 100644 --- a/src/msw/datectrl.cpp +++ b/src/msw/datectrl.cpp @@ -100,9 +100,11 @@ WXDWORD wxDatePickerCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const { WXDWORD styleMSW = wxDatePickerCtrlBase::MSWGetStyle(style, exstyle); - // for now this is unconditional, but we should support drop down control - // style as well later - styleMSW |= DTS_UPDOWN | DTS_SHORTDATEFORMAT; + if ( style & wxDP_SPIN ) + styleMSW |= DTS_UPDOWN; + //else: drop down by default + + styleMSW |= DTS_SHORTDATEFORMAT; return styleMSW; } @@ -226,3 +228,4 @@ wxDatePickerCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) } #endif // wxUSE_DATEPICKCTRL + -- 2.45.2