File: slider.h

package info (click to toggle)
wxwidgets3.0 3.0.5.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 120,464 kB
  • sloc: cpp: 896,633; makefile: 52,303; ansic: 21,971; sh: 5,713; python: 2,940; xml: 1,534; perl: 264; javascript: 33
file content (156 lines) | stat: -rw-r--r-- 5,888 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/////////////////////////////////////////////////////////////////////////////
// Name:        wx/os2/slider.h
// Purpose:     wxSlider class
// Author:      David Webster
// Modified by:
// Created:     10/15/99
// Copyright:   (c) David Webster
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _WX_SLIDER_H_
#define _WX_SLIDER_H_

#include "wx/control.h"

// Slider
class WXDLLIMPEXP_CORE wxSlider: public wxSliderBase
{
public:
  wxSlider();
  inline wxSlider( wxWindow*          pParent
                  ,wxWindowID         vId
                  ,int                nValue
                  ,int                nMinValue
                  ,int                nMaxValue
                  ,const wxPoint&     rPos = wxDefaultPosition
                  ,const wxSize&      rSize = wxDefaultSize
                  ,long               lStyle = wxSL_HORIZONTAL
                  ,const wxValidator& rValidator = wxDefaultValidator
                  ,const wxString&    rsName = wxSliderNameStr
                 )
    {
        Create( pParent
               ,vId
               ,nValue
               ,nMinValue
               ,nMaxValue
               ,rPos
               ,rSize
               ,lStyle
               ,rValidator
               ,rsName
              );
    }
    virtual ~wxSlider();

    bool Create( wxWindow*          pParent
                ,wxWindowID         vId
                ,int                nValue
                ,int                nMinValue
                ,int                nMaxValue
                ,const wxPoint&     rPos = wxDefaultPosition
                ,const wxSize&      rSize = wxDefaultSize
                ,long               lStyle = wxSL_HORIZONTAL
                ,const wxValidator& rValidator = wxDefaultValidator
                ,const wxString&    rsName = wxSliderNameStr
               );

         virtual int  GetValue(void) const ;
         virtual void SetValue(int);

                 void GetSize( int* pnX
                              ,int* pnY
                             ) const;
                 void GetPosition( int* pnX
                                  ,int* pnY
                                 ) const ;
                 bool Show(bool bShow = TRUE);
                 void SetRange( int nMinValue
                               ,int nMaxValue
                              );

    inline       int  GetMin(void) const { return m_nRangeMin; }
    inline       int  GetMax(void) const { return m_nRangeMax; }

    //
    // For trackbars only
    //
                 void ClearSel(void);
                 void ClearTicks(void);

                 int  GetLineSize(void) const;
                 int  GetPageSize(void) const ;
                 int  GetSelEnd(void) const;
                 int  GetSelStart(void) const;
    inline       int  GetTickFreq(void) const { return m_nTickFreq; }
                 int  GetThumbLength(void) const ;

                 void SetLineSize(int nLineSize);
                 void SetPageSize(int nPageSize);
                 void SetSelection( int nMinPos
                                   ,int nMaxPos
                                  );
                 void SetThumbLength(int nLen) ;
                 void SetTick(int ntickPos) ;

    //
    // IMPLEMENTATION
    //
    inline         WXHWND   GetStaticMin(void) const { return m_hStaticMin; }
    inline         WXHWND   GetStaticMax(void) const { return m_hStaticMax; }
    inline         WXHWND   GetEditValue(void) const { return m_hStaticValue; }
           virtual bool     ContainsHWND(WXHWND hWnd) const;
                   void     AdjustSubControls( int  nX
                                              ,int  nY
                                              ,int  nWidth
                                              ,int  nHeight
                                              ,int  nSizeFlags
                                             );
    inline         int      GetSizeFlags(void) { return m_nSizeFlags; }
                   void     Command(wxCommandEvent& rEvent);
           virtual WXHBRUSH OnCtlColor( WXHDC    hDC
                                       ,WXHWND   hWnd
                                       ,WXUINT   uCtlColor
                                       ,WXUINT   uMessage
                                       ,WXWPARAM wParam
                                       ,WXLPARAM lParam
                                      );
           virtual bool     OS2OnScroll( int    nOrientation
                                        ,WXWORD wParam
                                        ,WXWORD wPos
                                        ,WXHWND hControl
                                       );

protected:
    WXHWND                          m_hStaticMin;
    WXHWND                          m_hStaticMax;
    WXHWND                          m_hStaticValue;
    int                             m_nRangeMin;
    int                             m_nRangeMax;
    int                             m_nPageSize;
    int                             m_nLineSize;
    int                             m_nTickFreq;
    double                          m_dPixelToRange;
    int                             m_nThumbLength;
    int                             m_nSizeFlags;

    virtual void DoGetSize( int* pnWidth
                           ,int* pnHeight
                          ) const;
    virtual void DoSetSize( int  nX
                           ,int  nY
                           ,int  nWidth
                           ,int  nHeight
                           ,int  nSizeFlags = wxSIZE_AUTO
                          );

    // Platform-specific implementation of SetTickFreq
    virtual void DoSetTickFreq(int freq);

private:
    DECLARE_DYNAMIC_CLASS(wxSlider)
}; // end of CLASS wxSlider

#endif
    // _WX_SLIDER_H_