]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/datectrl.cpp
reSWIGged
[wxWidgets.git] / src / msw / datectrl.cpp
index 29283075586c7bf1231211548a95be2143e02a27..c0d3396ddc9da09e6836cbed84cc5f7675497c17 100644 (file)
@@ -100,11 +100,11 @@ wxDatePickerCtrl::Create(wxWindow *parent,
     // supposed to initialize all common controls, in comctl32.dll 4.72 (and
     // presumably earlier versions 4.70 and 4.71, date time picker not being
     // supported in < 4.70 anyhow) it does not do it and we have to initialize
-    // it explicitely
+    // it explicitly
     static bool s_initDone = false; // MT-ok: used from GUI thread only
     if ( !s_initDone )
     {
-        if ( wxTheApp->GetComCtl32Version() < 470 )
+        if ( wxApp::GetComCtl32Version() < 470 )
         {
             wxLogError(_("This system doesn't support date picker control, please upgrade your version of comctl32.dll"));
 
@@ -141,7 +141,7 @@ wxDatePickerCtrl::Create(wxWindow *parent,
     if ( !MSWCreateControl(DATETIMEPICK_CLASS, wxEmptyString, pos, size) )
         return false;
 
-    if ( dt.IsValid() )
+    if ( dt.IsValid() || (style & wxDP_ALLOWNONE) )
         SetValue(dt);
 
     return true;
@@ -153,7 +153,7 @@ WXDWORD wxDatePickerCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const
 
     // although MSDN doesn't mention it, DTS_UPDOWN doesn't work with
     // comctl32.dll 4.72
-    if ( wxTheApp->GetComCtl32Version() > 472 && (style & wxDP_SPIN) )
+    if ( wxApp::GetComCtl32Version() > 472 && (style & wxDP_SPIN) )
         styleMSW |= DTS_UPDOWN;
     //else: drop down by default
 
@@ -180,7 +180,9 @@ wxSize wxDatePickerCtrl::DoGetBestSize() const
 {
     const int y = GetCharHeight();
 
-    return wxSize(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y));
+    wxSize best(DEFAULT_ITEM_WIDTH, EDIT_HEIGHT_FROM_CHAR_HEIGHT(y));
+    CacheBestSize(best);
+    return best;
 }
 
 // ----------------------------------------------------------------------------