]> git.saurik.com Git - wxWidgets.git/commitdiff
wxCocoa: Added wxSpinButton
authorDavid Elliott <dfe@tgwbd.org>
Mon, 14 Jul 2003 17:33:36 +0000 (17:33 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Mon, 14 Jul 2003 17:33:36 +0000 (17:33 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/cocoa/spinbutt.h [new file with mode: 0644]
include/wx/spinbutt.h
src/cocoa/spinbutt.mm [new file with mode: 0644]

diff --git a/include/wx/cocoa/spinbutt.h b/include/wx/cocoa/spinbutt.h
new file mode 100644 (file)
index 0000000..cc55ddf
--- /dev/null
@@ -0,0 +1,62 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/cocoa/spinbutt.h
+// Purpose:     wxSpinButton class
+// Author:      David Elliott
+// Modified by:
+// Created:     2003/07/14
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 David Elliott
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __WX_COCOA_SPINBUTT_H__
+#define __WX_COCOA_SPINBUTT_H__
+
+// #include "wx/cocoa/NSStepper.h"
+
+// ========================================================================
+// wxSpinButton
+// ========================================================================
+class WXDLLEXPORT wxSpinButton: public wxSpinButtonBase// , protected wxCocoaNSStepper
+{
+    DECLARE_DYNAMIC_CLASS(wxSpinButton)
+    DECLARE_EVENT_TABLE()
+//    WX_DECLARE_COCOA_OWNER(NSStepper,NSControl,NSView)
+// ------------------------------------------------------------------------
+// initialization
+// ------------------------------------------------------------------------
+public:
+    wxSpinButton() { }
+    wxSpinButton(wxWindow *parent, wxWindowID winid = -1,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSP_VERTICAL | wxSP_ARROW_KEYS,
+            const wxString& name = wxSPIN_BUTTON_NAME)
+    {
+        Create(parent, winid, pos, size, style, name);
+    }
+
+    bool Create(wxWindow *parent, wxWindowID winid = -1,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSL_HORIZONTAL,
+            const wxString& name = wxSPIN_BUTTON_NAME);
+    virtual ~wxSpinButton();
+
+// ------------------------------------------------------------------------
+// Cocoa callbacks
+// ------------------------------------------------------------------------
+protected:
+// ------------------------------------------------------------------------
+// Implementation
+// ------------------------------------------------------------------------
+public:
+    // Pure Virtuals
+    virtual int GetValue() const { return 0; }
+    virtual void SetValue(int value) { }
+
+    // retrieve/change the range
+    virtual void SetRange(int minValue, int maxValue) { }
+};
+
+#endif // __WX_COCOA_SPINBUTT_H__
index bb25a5c61cf99dadde4a03df9766f4f96dce4b78..2db0d6880df7ae92352a2cec45232be8cfd8b940 100644 (file)
@@ -84,6 +84,8 @@ protected:
     #include "wx/gtk/spinbutt.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/spinbutt.h"
+#elif defined(__WXCOCOA__)
+    #include "wx/cocoa/spinbutt.h"
 #elif defined(__WXPM__)
     #include "wx/os2/spinbutt.h"
 #endif
diff --git a/src/cocoa/spinbutt.mm b/src/cocoa/spinbutt.mm
new file mode 100644 (file)
index 0000000..26e6ae1
--- /dev/null
@@ -0,0 +1,42 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        cocoa/spinbutt.mm
+// Purpose:     wxSpinButton
+// Author:      David Elliott
+// Modified by:
+// Created:     2003/07/14
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 David Elliott
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/setup.h"
+#if wxUSE_SPINBTN
+
+#include "wx/app.h"
+#include "wx/spinbutt.h"
+
+#import <AppKit/NSStepper.h>
+
+IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
+BEGIN_EVENT_TABLE(wxSpinButton, wxSpinButtonBase)
+END_EVENT_TABLE()
+// WX_IMPLEMENT_COCOA_OWNER(wxSpinButton,NSStepper,NSControl,NSView)
+
+bool wxSpinButton::Create(wxWindow *parent, wxWindowID winid,
+            const wxPoint& pos, const wxSize& size, long style,
+            const wxString& name)
+{
+    if(!CreateControl(parent,winid,pos,size,style,wxDefaultValidator,name))
+        return false;
+    SetNSControl([[NSStepper alloc] initWithFrame: NSMakeRect(10,10,20,20)]);
+    [m_cocoaNSView release];
+    if(m_parent)
+        m_parent->CocoaAddChild(this);
+    return true;
+}
+
+wxSpinButton::~wxSpinButton()
+{
+}
+
+#endif // wxUSE_SPINBTN