]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/spinbutt.h
forward declare wxMenu
[wxWidgets.git] / include / wx / motif / spinbutt.h
index 1731d356edde7da9a325365f3de37e62670f21a7..756b210e03782b711aed049bde29030cf8e33bdf 100644 (file)
 #define _WX_SPINBUTT_H_
 
 #ifdef __GNUG__
-    #pragma interface "spinbutt.h"
+#pragma interface "spinbutt.h"
 #endif
 
+class WXDLLEXPORT wxArrowButton; // internal
+
 class WXDLLEXPORT 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 = -1,
+        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();
-
+    
     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 = -1,
+        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 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_