]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/spinbutt.h
fixing infinite recursion for rotated text, introduced in cleanup r57915
[wxWidgets.git] / include / wx / motif / spinbutt.h
index 77aa1ec12d7d2edb2add1c6aaeade7e6a5290f7d..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,
+        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,
+        wxWindowID id = wxID_ANY,
         const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize,
         long style = wxSP_VERTICAL,
         const wxString& name = "wxSpinButton");
-       
+
     // accessors
     int GetValue() const;
     int GetMin() const { return m_min; }
     int GetMax() const { return m_max; }
-    
+
     // operations
     void SetValue(int val);
     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();
-    
-protected:
-    int   m_min;
-    int   m_max;
+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;
+
+    wxArrowButton* m_up;
+    wxArrowButton* m_down;
+    int m_pos;
 };
 
 #endif