]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/spinbutt.h
Remove unnecessary duplicate code dealing with invoking window from wxOSX.
[wxWidgets.git] / include / wx / motif / spinbutt.h
index 1731d356edde7da9a325365f3de37e62670f21a7..cd3e0c46ceeabedd992e4396272cf620a7edf252 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        spinbutt.h
+// Name:        wx/motif/spinbutt.h
 // Purpose:     wxSpinButton class
 // Author:      Julian Smart
 // Modified by:
 #ifndef _WX_SPINBUTT_H_
 #define _WX_SPINBUTT_H_
 
-#ifdef __GNUG__
-    #pragma interface "spinbutt.h"
-#endif
+class WXDLLIMPEXP_FWD_CORE wxArrowButton; // internal
 
-class WXDLLEXPORT wxSpinButton : public wxSpinButtonBase
+class WXDLLIMPEXP_CORE wxSpinButton : public wxSpinButtonBase
 {
     DECLARE_DYNAMIC_CLASS(wxSpinButton)
 
 public:
-    wxSpinButton() { }
+    wxSpinButton() : m_up( 0 ), m_down( 0 ), m_pos( 0 ) { }
 
     wxSpinButton(wxWindow *parent,
-                 wxWindowID id = -1,
-                 const wxPoint& pos = wxDefaultPosition,
-                 const wxSize& size = wxDefaultSize,
-                 long style = wxSP_VERTICAL,
-                 const wxString& name = "wxSpinButton")
+        wxWindowID id = wxID_ANY,
+        const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize,
+        long style = wxSP_VERTICAL,
+        const wxString& name = "wxSpinButton")
+        : m_up( 0 ),
+        m_down( 0 ),
+        m_pos( 0 )
     {
         Create(parent, id, pos, size, style, name);
     }
-    ~wxSpinButton();
+    virtual ~wxSpinButton();
 
     bool Create(wxWindow *parent,
-                wxWindowID id = -1,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = wxSP_VERTICAL,
-                const wxString& name = "wxSpinButton");
-
+        wxWindowID id = wxID_ANY,
+        const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize,
+        long style = wxSP_VERTICAL,
+        const wxString& name = "wxSpinButton");
 
     // accessors
     int GetValue() const;
@@ -52,15 +52,25 @@ public:
     void SetRange(int minVal, int maxVal);
 
     // Implementation
-    virtual void Command(wxCommandEvent& event) { (void)ProcessCommand(event); };
-    virtual void ChangeFont(bool keepOriginalSize = TRUE);
+    virtual void Command(wxCommandEvent& event)
+        { (void)ProcessCommand(event); };
+    virtual void ChangeFont(bool keepOriginalSize = true);
     virtual void ChangeBackgroundColour();
     virtual void ChangeForegroundColour();
+public:
+    // implementation detail
+    void Increment( int delta );
+
+private:
+    virtual void DoSetSize(int x, int y, int width, int height,
+                           int sizeFlags = wxSIZE_AUTO);
+    virtual void DoMoveWindow(int x, int y, int width, int height);
+    virtual wxSize DoGetBestSize() const;
 
-protected:
-    int   m_min;
-    int   m_max;
+    wxArrowButton* m_up;
+    wxArrowButton* m_down;
+    int m_pos;
 };
 
 #endif
-    // _WX_SPINBUTT_H_
+// _WX_SPINBUTT_H_