]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/slider.h
Native wxBitmapComboBox patch for GTK+
[wxWidgets.git] / include / wx / gtk / slider.h
index a983248fed15cf6ba034f2a399b941d223a7bf66..5c266905516eea397115bb6b0babdefe463cee74 100644 (file)
@@ -1,91 +1,77 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        slider.h
+// Name:        wx/gtk/slider.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
-// Licence:    wxWindows licence
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#ifndef _WX_GTK_SLIDER_H_
+#define _WX_GTK_SLIDER_H_
 
-#ifndef __GTKSLIDERH__
-#define __GTKSLIDERH__
+// ----------------------------------------------------------------------------
+// wxSlider
+// ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
-#pragma interface
-#endif
+class WXDLLIMPEXP_CORE wxSlider : public wxSliderBase
+{
+public:
+    wxSlider();
+    wxSlider(wxWindow *parent,
+             wxWindowID id,
+             int value, int minValue, int maxValue,
+             const wxPoint& pos = wxDefaultPosition,
+             const wxSize& size = wxDefaultSize,
+             long style = wxSL_HORIZONTAL,
+             const wxValidator& validator = wxDefaultValidator,
+             const wxString& name = wxSliderNameStr)
+    {
+        Create( parent, id, value, minValue, maxValue,
+                pos, size, style, validator, name );
+    }
 
-#include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/list.h"
-#include "wx/control.h"
+    bool Create(wxWindow *parent,
+                wxWindowID id,
+                int value, int minValue, int maxValue,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxSL_HORIZONTAL,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxSliderNameStr);
 
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
+    // implement the base class pure virtuals
+    virtual int GetValue() const;
+    virtual void SetValue(int value);
 
-class wxSlider;
+    virtual void SetRange(int minValue, int maxValue);
+    virtual int GetMin() const;
+    virtual int GetMax() const;
 
-//-----------------------------------------------------------------------------
-// global data
-//-----------------------------------------------------------------------------
+    virtual void SetLineSize(int lineSize);
+    virtual void SetPageSize(int pageSize);
+    virtual int GetLineSize() const;
+    virtual int GetPageSize() const;
 
-extern const char *wxSliderNameStr;
+    virtual void SetThumbLength(int lenPixels);
+    virtual int GetThumbLength() const;
 
-//-----------------------------------------------------------------------------
-// wxSlider
-//-----------------------------------------------------------------------------
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
-class wxSlider: public wxControl
-{
-  DECLARE_DYNAMIC_CLASS(wxSlider)
+    // implementation
+    double m_pos;
+    int m_scrollEventType;
+    bool m_needThumbRelease;
+    bool m_blockScrollEvent;
+
+protected:
+    virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
 
-  public:
-    wxSlider(void);
-    wxSlider( wxWindow *parent, const wxWindowID id,
-           const int value, const int minValue, const int maxValue,
-           const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize,
-           const long style = wxSL_HORIZONTAL,
-/*           const wxValidator& validator = wxDefaultValidator, */
-           const wxString& name = wxSliderNameStr);
-   ~wxSlider(void);
-   bool Create(wxWindow *parent, const wxWindowID id,
-           const int value, const int minValue, const int maxValue,
-           const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize,
-           const long style = wxSL_HORIZONTAL,
-/*           const wxValidator& validator = wxDefaultValidator, */
-           const wxString& name = wxSliderNameStr);
-    virtual int GetValue(void) const;
-    virtual void SetValue( const int );
-    void GetSize( int *x, int *y ) const;
-    void SetSize( const int x, const int y, const int width, const int height, const int sizeFlags = wxSIZE_AUTO );
-    void GetPosition( int *x, int *y ) const;
-    void SetRange( const int minValue, const int maxValue );
-    int GetMin(void) const;
-    int GetMax(void) const;
-    void SetTickFreq( const int n, const int pos );
-    int GetTickFreq(void) const;
-    void SetPageSize( const int pageSize );
-    int GetPageSize(void) const;
-    void ClearSel(void);
-    void ClearTicks(void);
-    void SetLineSize( const int lineSize );
-    int GetLineSize(void) const;
-    int GetSelEnd(void) const;
-    int GetSelStart(void) const;
-    void SetSelection( const int minPos, const int maxPos );
-    void SetThumbLength( const int len );
-    int GetThumbLength(void) const;
-    void SetTick( const int tickPos );
+    // set the slider value unconditionally
+    void GTKSetValue(int value);
 
-  public:
-  
-    GtkAdjustment  *m_adjust;
-    float           m_oldPos;
-    
+    DECLARE_DYNAMIC_CLASS(wxSlider)
 };
 
-#endif // __GTKSLIDERH__
+#endif // _WX_GTK_SLIDER_H_