]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxSlider stub
authorDavid Elliott <dfe@tgwbd.org>
Thu, 19 Jun 2003 22:09:27 +0000 (22:09 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Thu, 19 Jun 2003 22:09:27 +0000 (22:09 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

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

diff --git a/include/wx/cocoa/slider.h b/include/wx/cocoa/slider.h
new file mode 100644 (file)
index 0000000..d89415f
--- /dev/null
@@ -0,0 +1,82 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/cocoa/slider.h
+// Purpose:     wxSlider class
+// Author:      David Elliott
+// Modified by:
+// Created:     2003/06/19
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 David Elliott
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __WX_COCOA_SLIDER_H__
+#define __WX_COCOA_SLIDER_H__
+
+// #include "wx/cocoa/NSSlider.h"
+
+// ========================================================================
+// wxSlider
+// ========================================================================
+class WXDLLEXPORT wxSlider: public wxSliderBase// , protected wxCocoaNSSlider
+{
+    DECLARE_DYNAMIC_CLASS(wxSlider)
+    DECLARE_EVENT_TABLE()
+//    WX_DECLARE_COCOA_OWNER(NSSlider,NSControl,NSView)
+// ------------------------------------------------------------------------
+// initialization
+// ------------------------------------------------------------------------
+public:
+    wxSlider() { }
+    wxSlider(wxWindow *parent, wxWindowID winid,
+            int value, int minValue, int maxValue,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSL_HORIZONTAL,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxStaticTextNameStr)
+    {
+        Create(parent, winid, value, minValue, maxValue,
+            pos, size, style, validator, name);
+    }
+
+    bool Create(wxWindow *parent, wxWindowID winid,
+            int value, int minValue, int maxValue,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSL_HORIZONTAL,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxStaticTextNameStr);
+    virtual ~wxSlider();
+
+// ------------------------------------------------------------------------
+// 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) { }
+    virtual int GetMin() const { return 0; }
+    virtual int GetMax() const { return 0; }
+
+    // the line/page size is the increment by which the slider moves when
+    // cursor arrow key/page up or down are pressed (clicking the mouse is like
+    // pressing PageUp/Down) and are by default set to 1 and 1/10 of the range
+    virtual void SetLineSize(int lineSize) { }
+    virtual void SetPageSize(int pageSize) { }
+    virtual int GetLineSize() const { return 0; }
+    virtual int GetPageSize() const { return 0; }
+
+    // these methods get/set the length of the slider pointer in pixels
+    virtual void SetThumbLength(int lenPixels) { }
+    virtual int GetThumbLength() const { return 0; }
+
+};
+
+#endif // __WX_COCOA_SLIDER_H__
diff --git a/src/cocoa/slider.mm b/src/cocoa/slider.mm
new file mode 100644 (file)
index 0000000..9b0cea9
--- /dev/null
@@ -0,0 +1,41 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        cocoa/slider.mm
+// Purpose:     wxSlider
+// Author:      David Elliott
+// Modified by:
+// Created:     2003/06/19
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 David Elliott
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/app.h"
+#include "wx/statline.h"
+
+#import <AppKit/NSView.h>
+
+IMPLEMENT_DYNAMIC_CLASS(wxSlider, wxControl)
+BEGIN_EVENT_TABLE(wxSlider, wxSliderBase)
+END_EVENT_TABLE()
+// WX_IMPLEMENT_COCOA_OWNER(wxSlider,NSSlider,NSControl,NSView)
+
+bool wxSlider::Create(wxWindow *parent, wxWindowID winid,
+            int value, int minValue, int maxValue,
+            const wxPoint& pos, const wxSize& size, long style,
+            const wxValidator& validator, const wxString& name)
+{
+    if(!CreateControl(parent,winid,pos,size,style,validator,name))
+        return false;
+    SetNSView([[NSView alloc] initWithFrame: NSMakeRect(10,10,20,20)]);
+    [m_cocoaNSView release];
+    if(m_parent)
+        m_parent->CocoaAddChild(this);
+    return true;
+}
+
+wxSlider::~wxSlider()
+{
+    CocoaRemoveFromParent();
+    SetNSView(NULL);
+}
+