]> git.saurik.com Git - wxWidgets.git/commitdiff
wxCocoa: Added wxGauge
authorDavid Elliott <dfe@tgwbd.org>
Tue, 15 Jul 2003 14:04:22 +0000 (14:04 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Tue, 15 Jul 2003 14:04:22 +0000 (14:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

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

diff --git a/include/wx/cocoa/gauge.h b/include/wx/cocoa/gauge.h
new file mode 100644 (file)
index 0000000..8985ca0
--- /dev/null
@@ -0,0 +1,65 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/cocoa/gauge.h
+// Purpose:     wxGauge class
+// Author:      David Elliott
+// Modified by:
+// Created:     2003/07/15
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 David Elliott
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __WX_COCOA_GAUGE_H__
+#define __WX_COCOA_GAUGE_H__
+
+// #include "wx/cocoa/NSProgressIndicator.h"
+
+// ========================================================================
+// wxGauge
+// ========================================================================
+class WXDLLEXPORT wxGauge: public wxGaugeBase// , protected wxCocoaNSProgressIndicator
+{
+    DECLARE_DYNAMIC_CLASS(wxGauge)
+    DECLARE_EVENT_TABLE()
+//    WX_DECLARE_COCOA_OWNER(NSProgressIndicator,NSView,NSView)
+// ------------------------------------------------------------------------
+// initialization
+// ------------------------------------------------------------------------
+public:
+    wxGauge() { }
+    wxGauge(wxWindow *parent, wxWindowID winid, int range,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxGA_HORIZONTAL,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxGaugeNameStr)
+    {
+        Create(parent, winid, range, pos, size, style, validator, name);
+    }
+
+    bool Create(wxWindow *parent, wxWindowID winid, int range,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSL_HORIZONTAL,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxGaugeNameStr);
+    virtual ~wxGauge();
+
+// ------------------------------------------------------------------------
+// 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 maxValue) { }
+    int GetRange(void) const { return 0; }
+};
+
+#endif // __WX_COCOA_GAUGE_H__
index 260f16e2c07fa43812fda116e18ab38bb254efd5..830fecf778c052283a017c230250ecbbe9a21e05 100644 (file)
@@ -85,6 +85,8 @@ protected:
     #include "wx/gtk/gauge.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/gauge.h"
+#elif defined(__WXCOCOA__)
+    #include "wx/cocoa/gauge.h"
 #elif defined(__WXPM__)
     #include "wx/os2/gauge.h"
 #endif
diff --git a/src/cocoa/gauge.mm b/src/cocoa/gauge.mm
new file mode 100644 (file)
index 0000000..17962bd
--- /dev/null
@@ -0,0 +1,42 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        cocoa/gauge.mm
+// Purpose:     wxGauge
+// Author:      David Elliott
+// Modified by:
+// Created:     2003/07/15
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 David Elliott
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/setup.h"
+#if wxUSE_GAUGE
+
+#include "wx/app.h"
+#include "wx/gauge.h"
+
+#import <AppKit/NSProgressIndicator.h>
+
+IMPLEMENT_DYNAMIC_CLASS(wxGauge, wxControl)
+BEGIN_EVENT_TABLE(wxGauge, wxGaugeBase)
+END_EVENT_TABLE()
+// WX_IMPLEMENT_COCOA_OWNER(wxGauge,NSProgressIndicator,NSView,NSView)
+
+bool wxGauge::Create(wxWindow *parent, wxWindowID winid, int range,
+            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([[NSProgressIndicator alloc] initWithFrame: NSMakeRect(10,10,20,20)]);
+    [m_cocoaNSView release];
+    if(m_parent)
+        m_parent->CocoaAddChild(this);
+    return true;
+}
+
+wxGauge::~wxGauge()
+{
+}
+
+#endif // wxUSE_GAUGE