home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool.zip / OOL / source / xcircsld.cpp < prev    next >
C/C++ Source or Header  |  1997-04-05  |  4KB  |  112 lines

  1. #include "xcircsld.h"
  2.  
  3. /*@
  4. @class XCircularSlider
  5. @parent XControl
  6. @type overview
  7. @symbol _
  8. */
  9.  
  10. /*@ XCircularSlider::XCircularSlider( const XWindow * owner, const XRect * rec, const USHORT id, const ULONG style, const char*font)
  11. @group constructors/destructors
  12. @remarks Constructs a XCircularSlider.
  13. @parameters <t '°' c=2>
  14.                 °XWindow * owner      °the owner of the XCircularSlider
  15.             °XRect * rect         °the rectangle
  16.             °USHORT id            °id of the window
  17.             °ULONG style          °style, valid values are:
  18.                                             <t '°' c=2>
  19.                                     °CS_NOBUTTON    °
  20.                                     °CS_NOTEXT    °
  21.                                     °CS_NONUMBER    °
  22.                                     °CS_POINTSELECT    °
  23.                                     °CS_360        °
  24.                                     °CS_MIDPOINT    °
  25.                                     °CS_PROPORTIONALTICKS    °
  26.                                     °CS_NOTICKS        °
  27.                                     °CS_CIRCULARVALUE    °
  28.                                             </t>
  29.                                  (can be or-ed)
  30.                 °char * font                °font to use (e.g. "8.Helv")
  31.                 </t>
  32. */
  33. XCircularSlider :: XCircularSlider(const XWindow * owner, const XRect * rec, const USHORT id, const ULONG style, const char *font):XControl(rec, style, owner, "", WC_CIRCULARSLIDER, id, font)
  34. {
  35. }
  36.  
  37.  
  38. /*@ XCircularSlider :: GetValue( void )
  39. @group set/get value
  40. @remarks Return the current value
  41. @returns SHORT theValue
  42. */
  43. SHORT XCircularSlider::GetValue(void)
  44. {
  45.     SHORT val;
  46.  
  47.     WinSendMsg(winhandle, CSM_SETRANGE, MPFROMP(&val), 0);
  48.     return val;
  49. }
  50.  
  51.  
  52. /*@ XCircularSlider :: SetIncrements( const SHORT ticks, const SHORT steps)
  53. @group misc
  54. @remarks Set ticks and steps
  55. @parameters SHORT ticks<BR>
  56.             SHORT steps<BR>
  57. @returns    BOOL result
  58. */
  59. BOOL XCircularSlider::SetIncrements(const SHORT ticks, const SHORT steps) const
  60. {
  61.     return SHORT1FROMMR(WinSendMsg(winhandle, CSM_SETINCREMENT, MPFROMSHORT(steps), MPFROMSHORT(ticks)));
  62. }
  63.  
  64.  
  65. /*@ XCircularSlider :: SetLimits( const LONG lowerLimit, const LONG upperLimit)
  66. @group limits
  67. @remarks Set limits
  68. @parameters LONG lowerLimit<BR>
  69.             LONG upperLimit
  70. @returns BOOL result
  71. */
  72. BOOL XCircularSlider::SetLimits(const LONG lowerLimit, const LONG upperLimit) const
  73. {
  74.     return SHORT1FROMMR(WinSendMsg(winhandle, CSM_SETRANGE, MPFROMSHORT(lowerLimit), MPFROMSHORT(upperLimit)));
  75. }
  76.  
  77.  
  78. /*@ XCircularSlider :: SetValue( const LONG val)
  79. @group set/get value
  80. @remarks Set a new value
  81. @parameters LONG value
  82. @returns BOOL result
  83. */
  84. BOOL XCircularSlider::SetValue(const LONG val) const
  85. {
  86.     return SHORT1FROMMR(WinSendMsg(winhandle, CSM_SETVALUE, MPFROMSHORT(val), 0));
  87. }
  88.  
  89.  
  90. /*@ XCircularSlider :: GetLimits( SHORT& lowerLimit, SHORT& upperLimit )
  91. @group limits
  92. @remarks Query the limits set to the circular slider
  93. @parameters SHORT& lowerLimit<BR>
  94.             SHORT& upperLimit
  95. */
  96. void XCircularSlider::GetLimits(SHORT & lowerLimit, SHORT & upperLimit)
  97. {
  98.     WinSendMsg(winhandle, CSM_QUERYRANGE, MPFROMP(&lowerLimit), MPFROMP(&upperLimit));
  99. }
  100.  
  101.  
  102. /*@ XCircularSlider :: GetIncremets( SHORT& scrollIncrement, SHORT& tickIncrement )
  103. @group misc
  104. @remarks Query the increments set to the slider
  105. @parameters SHORT& scrollIncrement<BR>
  106.             SHORT& tickIncrement
  107. */
  108. void XCircularSlider::GetIncremets(SHORT & scrollIncrement, SHORT & tickIncrement)
  109. {
  110.     WinSendMsg(winhandle, CSM_QUERYRANGE, MPFROMP(&scrollIncrement), MPFROMP(&tickIncrement));
  111. }
  112.