]> git.saurik.com Git - wxWidgets.git/commitdiff
implementing checkbox using UISwitch
authorStefan Csomor <csomor@advancedconcepts.ch>
Fri, 24 Jul 2009 21:20:58 +0000 (21:20 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Fri, 24 Jul 2009 21:20:58 +0000 (21:20 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/iphone/checkbox.mm [new file with mode: 0644]

diff --git a/src/osx/iphone/checkbox.mm b/src/osx/iphone/checkbox.mm
new file mode 100644 (file)
index 0000000..efe49c6
--- /dev/null
@@ -0,0 +1,68 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/osx/iphone/checkbox.mm
+// Purpose:     wxCheckBox
+// Author:      Stefan Csomor
+// Modified by:
+// Created:     2008-08-20
+// RCS-ID:      $Id: checkbox.mm 54129 2008-06-11 19:30:52Z SC $
+// Copyright:   (c) Stefan Csomor
+// Licence:       wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#if wxUSE_CHECKBOX
+
+#include "wx/checkbox.h"
+#include "wx/osx/private.h"
+
+@interface wxUISwitch : UISwitch
+{
+}
+
+@end
+
+@implementation wxUISwitch
+
++ (void)initialize
+{
+    static BOOL initialized = NO;
+    if (!initialized) 
+    {
+        initialized = YES;
+        wxOSXIPhoneClassAddWXMethods( self );
+    }
+}
+
+- (int) intValue
+{
+    return [self isOn] ? 1 : 0;
+}
+
+- (void) setIntValue: (int) v
+{
+    [self setOn:v != 0 animated:NO];
+}
+
+@end
+
+wxWidgetImplType* wxWidgetImpl::CreateCheckBox( wxWindowMac* wxpeer, 
+                                    wxWindowMac* WXUNUSED(parent), 
+                                    wxWindowID WXUNUSED(id), 
+                                    const wxString& WXUNUSED(label),
+                                    const wxPoint& pos, 
+                                    const wxSize& size,
+                                    long style, 
+                                    long WXUNUSED(extraStyle)) 
+{
+    CGRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
+    wxUISwitch* v = [[wxUISwitch alloc] initWithFrame:r];
+
+//    if (style & wxCHK_3STATE)
+//        [v setAllowsMixedState:YES];
+        
+    wxWidgetIPhoneImpl* c = new wxWidgetIPhoneImpl( wxpeer, v );
+    return c;
+}
+
+#endif