]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/gauge95.cpp
fix for potention crash when conversion fails
[wxWidgets.git] / src / msw / gauge95.cpp
index 2472ee678c2a773e1a6d9a99ae49b4492fc56536..d3e137616b5319cd9061b563fc0dfe3318a1922f 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "gauge95.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
-    #include "wx/defs.h"
-#endif
-
 #if wxUSE_GAUGE
 
 #include "wx/gauge.h"
-#include "wx/msw/private.h"
 
-#if !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__))
-    #include <commctrl.h>
+#ifndef WX_PRECOMP
 #endif
 
+#include "wx/msw/private.h"
+
+// include <commctrl.h> "properly"
+#include "wx/msw/wrapcctl.h"
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
@@ -78,7 +73,7 @@ wxBEGIN_FLAGS( wxGaugeStyle )
     wxFLAGS_MEMBER(wxBORDER_RAISED)
     wxFLAGS_MEMBER(wxBORDER_STATIC)
     wxFLAGS_MEMBER(wxBORDER_NONE)
-    
+
     // old style border flags
     wxFLAGS_MEMBER(wxSIMPLE_BORDER)
     wxFLAGS_MEMBER(wxSUNKEN_BORDER)
@@ -99,7 +94,9 @@ wxBEGIN_FLAGS( wxGaugeStyle )
 
     wxFLAGS_MEMBER(wxGA_HORIZONTAL)
     wxFLAGS_MEMBER(wxGA_VERTICAL)
+#if WXWIN_COMPATIBILITY_2_6
     wxFLAGS_MEMBER(wxGA_PROGRESSBAR)
+#endif // WXWIN_COMPATIBILITY_2_6
     wxFLAGS_MEMBER(wxGA_SMOOTH)
 
 wxEND_FLAGS( wxGaugeStyle )
@@ -111,13 +108,13 @@ wxBEGIN_PROPERTIES_TABLE(wxGauge95)
     wxPROPERTY( Range , int , SetRange, GetRange, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
     wxPROPERTY( ShadowWidth , int , SetShadowWidth, GetShadowWidth, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
     wxPROPERTY( BezelFace , int , SetBezelFace, GetBezelFace, 0 , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
-    wxPROPERTY_FLAGS( WindowStyle , wxGaugeStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
+    wxPROPERTY_FLAGS( WindowStyle , wxGaugeStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
 wxEND_PROPERTIES_TABLE()
 
 wxBEGIN_HANDLERS_TABLE(wxGauge95)
 wxEND_HANDLERS_TABLE()
 
-wxCONSTRUCTOR_6( wxGauge95 , wxWindow* , Parent , wxWindowID , Id , int , Range , wxPoint , Position , wxSize , Size , long , WindowStyle ) 
+wxCONSTRUCTOR_6( wxGauge95 , wxWindow* , Parent , wxWindowID , Id , int , Range , wxPoint , Position , wxSize , Size , long , WindowStyle )
 #else
 IMPLEMENT_DYNAMIC_CLASS(wxGauge95, wxControl)
 #endif
@@ -145,9 +142,6 @@ bool wxGauge95::Create(wxWindow *parent,
     if ( !MSWCreateControl(PROGRESS_CLASS, wxEmptyString, pos, size) )
         return false;
 
-    SetBackgroundColour(parent->GetBackgroundColour());
-    SetForegroundColour(parent->GetForegroundColour());
-
     SetRange(range);
 
     return true;
@@ -174,7 +168,10 @@ wxSize wxGauge95::DoGetBestSize() const
 {
     // VZ: no idea where does 28 come from, it was there before my changes and
     //     as nobody ever complained I guess we can leave it...
-    return wxSize(100, 28);
+    if (HasFlag(wxGA_VERTICAL))
+        return wxSize(28, 100);
+    else
+        return wxSize(100, 28);
 }
 
 // ----------------------------------------------------------------------------
@@ -221,4 +218,3 @@ bool wxGauge95::SetBackgroundColour(const wxColour& col)
 }
 
 #endif // wxUSE_GAUGE
-