]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/checkbox.cpp
fixing osx_cocoa
[wxWidgets.git] / src / msw / checkbox.cpp
index 38449a2da39d48f4f5075ce82329aba0358e857e..3e4c9646247cc007d82a82559d54817d81df2d84 100644 (file)
 #include "wx/renderer.h"
 #include "wx/msw/uxtheme.h"
 #include "wx/msw/private/button.h"
+#include "wx/msw/missing.h"
 
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
 
-#ifndef BST_UNCHECKED
-    #define BST_UNCHECKED 0x0000
-#endif
-
-#ifndef BST_CHECKED
-    #define BST_CHECKED 0x0001
-#endif
-
-#ifndef BST_INDETERMINATE
-    #define BST_INDETERMINATE 0x0002
-#endif
-
-#ifndef DT_HIDEPREFIX
-    #define DT_HIDEPREFIX 0x00100000
-#endif
-
 #ifndef BP_CHECKBOX
     #define BP_CHECKBOX 3
 #endif
@@ -94,59 +79,6 @@ enum
 // implementation
 // ============================================================================
 
-#if wxUSE_EXTENDED_RTTI
-WX_DEFINE_FLAGS( wxCheckBoxStyle )
-
-wxBEGIN_FLAGS( wxCheckBoxStyle )
-    // new style border flags, we put them first to
-    // use them for streaming out
-    wxFLAGS_MEMBER(wxBORDER_SIMPLE)
-    wxFLAGS_MEMBER(wxBORDER_SUNKEN)
-    wxFLAGS_MEMBER(wxBORDER_DOUBLE)
-    wxFLAGS_MEMBER(wxBORDER_RAISED)
-    wxFLAGS_MEMBER(wxBORDER_STATIC)
-    wxFLAGS_MEMBER(wxBORDER_NONE)
-
-    // old style border flags
-    wxFLAGS_MEMBER(wxSIMPLE_BORDER)
-    wxFLAGS_MEMBER(wxSUNKEN_BORDER)
-    wxFLAGS_MEMBER(wxDOUBLE_BORDER)
-    wxFLAGS_MEMBER(wxRAISED_BORDER)
-    wxFLAGS_MEMBER(wxSTATIC_BORDER)
-    wxFLAGS_MEMBER(wxNO_BORDER)
-
-    // standard window styles
-    wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
-    wxFLAGS_MEMBER(wxCLIP_CHILDREN)
-    wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
-    wxFLAGS_MEMBER(wxWANTS_CHARS)
-    wxFLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE)
-    wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
-    wxFLAGS_MEMBER(wxVSCROLL)
-    wxFLAGS_MEMBER(wxHSCROLL)
-
-wxEND_FLAGS( wxCheckBoxStyle )
-
-IMPLEMENT_DYNAMIC_CLASS_XTI(wxCheckBox, wxControl,"wx/checkbox.h")
-
-wxBEGIN_PROPERTIES_TABLE(wxCheckBox)
-    wxEVENT_PROPERTY( Click , wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEvent )
-
-    wxPROPERTY( Font , wxFont , SetFont , GetFont , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
-    wxPROPERTY( Label,wxString, SetLabel, GetLabel, wxString() , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
-    wxPROPERTY( Value ,bool, SetValue, GetValue, EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
-    wxPROPERTY_FLAGS( WindowStyle , wxCheckBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
-wxEND_PROPERTIES_TABLE()
-
-wxBEGIN_HANDLERS_TABLE(wxCheckBox)
-wxEND_HANDLERS_TABLE()
-
-wxCONSTRUCTOR_6( wxCheckBox , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
-#else
-IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
-#endif
-
-
 // ----------------------------------------------------------------------------
 // wxCheckBox creation
 // ----------------------------------------------------------------------------
@@ -168,22 +100,16 @@ bool wxCheckBox::Create(wxWindow *parent,
 {
     Init();
 
+    WXValidateStyle(&style);
     if ( !CreateControl(parent, id, pos, size, style, validator, name) )
         return false;
 
     long msStyle = WS_TABSTOP;
 
     if ( style & wxCHK_3STATE )
-    {
         msStyle |= BS_3STATE;
-    }
     else
-    {
-        wxASSERT_MSG( !Is3rdStateAllowedForUser(),
-            wxT("Using wxCH_ALLOW_3RD_STATE_FOR_USER")
-            wxT(" style flag for a 2-state checkbox is useless") );
         msStyle |= BS_CHECKBOX;
-    }
 
     if ( style & wxALIGN_RIGHT )
     {
@@ -216,7 +142,7 @@ wxSize wxCheckBox::DoGetBestSize() const
     int wCheckbox, hCheckbox;
     if ( !str.empty() )
     {
-        wxClientDC dc(wx_const_cast(wxCheckBox *, this));
+        wxClientDC dc(const_cast<wxCheckBox *>(this));
         dc.SetFont(GetFont());
         dc.GetMultiLineTextExtent(GetLabelText(str), &wCheckbox, &hCheckbox);
         wCheckbox += s_checkSize + GetCharWidth();
@@ -334,7 +260,7 @@ bool wxCheckBox::SetForegroundColour(const wxColour& colour)
     // the only way to change the checkbox foreground colour under Windows XP
     // is to owner draw it
     if ( wxUxThemeEngine::GetIfActive() )
-        MakeOwnerDrawn(colour.Ok());
+        MakeOwnerDrawn(colour.IsOk());
 
     return true;
 }
@@ -476,7 +402,7 @@ bool wxCheckBox::MSWOnDraw(WXDRAWITEMSTRUCT *item)
             break;
 
         default:
-            wxFAIL_MSG( _T("unexpected Get3StateValue() return value") );
+            wxFAIL_MSG( wxT("unexpected Get3StateValue() return value") );
             // fall through
 
         case wxCHK_UNCHECKED:
@@ -511,7 +437,7 @@ bool wxCheckBox::MSWOnDraw(WXDRAWITEMSTRUCT *item)
         if ( !::DrawText(hdc, label.wx_str(), label.length(), &rectLabel,
                          fmt | DT_CALCRECT) )
         {
-            wxLogLastError(_T("DrawText(DT_CALCRECT)"));
+            wxLogLastError(wxT("DrawText(DT_CALCRECT)"));
         }
     }
 
@@ -522,7 +448,7 @@ bool wxCheckBox::MSWOnDraw(WXDRAWITEMSTRUCT *item)
 
     if ( !::DrawText(hdc, label.wx_str(), label.length(), &rectLabel, fmt) )
     {
-        wxLogLastError(_T("DrawText()"));
+        wxLogLastError(wxT("DrawText()"));
     }
 
     // finally draw the focus
@@ -532,7 +458,7 @@ bool wxCheckBox::MSWOnDraw(WXDRAWITEMSTRUCT *item)
         rectLabel.right++;
         if ( !::DrawFocusRect(hdc, &rectLabel) )
         {
-            wxLogLastError(_T("DrawFocusRect()"));
+            wxLogLastError(wxT("DrawFocusRect()"));
         }
     }