]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/spinctrl.h
added CFRef holder templated class
[wxWidgets.git] / include / wx / mac / spinctrl.h
index 76f0dc3412c6696bd956a8868c08581211abe28e..77da03667c77f21e16194f6f8c5b9777516c6a7d 100755 (executable)
@@ -1,185 +1,5 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        wx/generic/spinctlg.h
-// Purpose:     generic wxSpinCtrl class
-// Author:      Vadim Zeitlin
-// Modified by:
-// Created:     28.10.99
-// RCS-ID:      $Id$
-// Copyright:   (c) Vadim Zeitlin
-// Licence:     wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WX_MAC_SPINCTRL_H_
-#define _WX_MAC_SPINCTRL_H_
-
-// ----------------------------------------------------------------------------
-// wxSpinCtrl is a combination of wxSpinButton and wxTextCtrl, so if
-// wxSpinButton is available, this is what we do - but if it isn't, we still
-// define wxSpinCtrl class which then has the same appearance as wxTextCtrl but
-// the different interface. This allows to write programs using wxSpinCtrl
-// without tons of #ifdefs.
-// ----------------------------------------------------------------------------
-
-#if wxUSE_SPINBTN 
-
-#if defined(__GNUG__) && !defined(__APPLE__)
-    #pragma interface "spinctlg.h"
+#ifdef __WXMAC_CLASSIC__
+#include "wx/mac/classic/spinctrl.h"
+#else
+#include "wx/mac/carbon/spinctrl.h"
 #endif
-
-class WXDLLEXPORT wxSpinButton;
-class WXDLLEXPORT wxTextCtrl;
-
-// ----------------------------------------------------------------------------
-// wxSpinCtrl is a combination of wxTextCtrl and wxSpinButton
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxSpinCtrl : public wxControl
-{
-public:
-    wxSpinCtrl() { Init(); }
-
-    wxSpinCtrl(wxWindow *parent,
-               wxWindowID id = -1,
-               const wxString& value = wxEmptyString,
-               const wxPoint& pos = wxDefaultPosition,
-               const wxSize& size = wxDefaultSize,
-               long style = wxSP_ARROW_KEYS,
-               int min = 0, int max = 100, int initial = 0,
-               const wxString& name = _T("wxSpinCtrl"))
-    {
-        Init();
-        Create(parent, id, value, pos, size, style, min, max, initial, name);
-    }
-
-    bool Create(wxWindow *parent,
-                wxWindowID id = -1,
-                const wxString& value = wxEmptyString,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = wxSP_ARROW_KEYS,
-                int min = 0, int max = 100, int initial = 0,
-                const wxString& name = _T("wxSpinCtrl"));
-
-    virtual ~wxSpinCtrl();
-
-    // operations
-    void SetValue(int val);
-    void SetValue(const wxString& text);
-    void SetRange(int min, int max);
-
-    // accessors
-    int GetValue() const;
-    int GetMin() const;
-    int GetMax() const;
-
-    // implementation from now on
-
-    // forward these functions to all subcontrols
-    virtual bool Enable(bool enable = TRUE);
-    virtual bool Show(bool show = TRUE);
-
-    // get the subcontrols
-    wxTextCtrl *GetText() const { return m_text; }
-    wxSpinButton *GetSpinButton() const { return m_btn; }
-
-    // set the value of the text (only)
-    void SetTextValue(int val);
-
-    // put the numeric value of the string in the text ctrl into val and return
-    // TRUE or return FALSE if the text ctrl doesn't contain a number or if the
-    // number is out of range
-    bool GetTextValue(int *val) const;
-
-protected:
-    // override the base class virtuals involved into geometry calculations
-    virtual wxSize DoGetBestSize() const;
-    virtual void DoMoveWindow(int x, int y, int width, int height);
-
-    // common part of all ctors
-    void Init();
-
-private:
-    // the subcontrols
-    wxTextCtrl *m_text;
-    wxSpinButton *m_btn;
-    
-private:
-    DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
-};
-
-#else // !wxUSE_SPINBTN
-
-// ----------------------------------------------------------------------------
-// wxSpinCtrl is just a text control
-// ----------------------------------------------------------------------------
-
-#include "wx/textctrl.h"
-
-class WXDLLEXPORT wxSpinCtrl : public wxTextCtrl
-{
-public:
-    wxSpinCtrl() { Init(); }
-
-    wxSpinCtrl(wxWindow *parent,
-               wxWindowID id = -1,
-               const wxString& value = wxEmptyString,
-               const wxPoint& pos = wxDefaultPosition,
-               const wxSize& size = wxDefaultSize,
-               long style = wxSP_ARROW_KEYS,
-               int min = 0, int max = 100, int initial = 0,
-               const wxString& name = _T("wxSpinCtrl"))
-    {
-        Create(parent, id, value, pos, size, style, min, max, initial, name);
-    }
-
-    bool Create(wxWindow *parent,
-                wxWindowID id = -1,
-                const wxString& value = wxEmptyString,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = wxSP_ARROW_KEYS,
-                int min = 0, int max = 100, int initial = 0,
-                const wxString& name = _T("wxSpinCtrl"))
-    {
-        SetRange(min, max);
-
-        bool ok = wxTextCtrl::Create(parent, id, value, pos, size, style,
-                                     wxDefaultValidator, name);
-        SetValue(initial);
-
-        return ok;
-    }
-
-    // accessors
-    int GetValue(int WXUNUSED(dummy) = 1) const
-    {
-        int n;
-        if ( (wxSscanf(wxTextCtrl::GetValue(), wxT("%d"), &n) != 1) )
-            n = INT_MIN;
-
-        return n;
-    }
-
-    int GetMin() const { return m_min; }
-    int GetMax() const { return m_max; }
-
-    // operations
-    void SetValue(const wxString& value) { wxTextCtrl::SetValue(value); }
-    void SetValue(int val) { wxString s; s << val; wxTextCtrl::SetValue(s); }
-    void SetRange(int min, int max) { m_min = min; m_max = max; }
-
-protected:
-    // initialize m_min/max with the default values
-    void Init() { SetRange(0, 100); }
-
-    int   m_min;
-    int   m_max;
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
-};
-
-#endif // wxUSE_SPINBTN/!wxUSE_SPINBTN
-
-#endif // _WX_MAC_SPINCTRL_H_
-