home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / source / xcircsld.cpp < prev    next >
C/C++ Source or Header  |  1998-01-27  |  3KB  |  123 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. <UL>
  19. <li>CS_NOBUTTON
  20. <li>CS_NOTEXT
  21. <li>CS_NONUMBER
  22. <li>CS_POINTSELECT
  23. <li>CS_360
  24. <li>CS_MIDPOINT
  25. <li>CS_PROPORTIONALTICKS
  26. <li>CS_NOTICKS
  27. <li>CS_CIRCULARVALUE
  28. <P>(can be or-ed)
  29.             °char * font            °font to use (e.g. "8.Helv")
  30.             </t>
  31. */
  32. 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)
  33. {
  34. }
  35.  
  36.  
  37. /*@ XCircularSlider :: GetValue( void )
  38. @group set/get value
  39. @remarks Return the current value
  40. @returns SHORT theValue
  41. */
  42. SHORT XCircularSlider::GetValue(void)
  43. {
  44.    SHORT val;
  45.  
  46.    WinSendMsg(winhandle, CSM_SETRANGE, MPFROMP(&val), 0);
  47.    return val;
  48. }
  49.  
  50.  
  51. /*@ XCircularSlider :: SetIncrements( const SHORT ticks, const SHORT steps)
  52. @group misc
  53. @remarks Set ticks and steps
  54. @parameters
  55. <t '°' c=2>
  56. °SHORT °ticks
  57. °SHORT °steps
  58. </t>
  59. @returns    BOOL result
  60. */
  61. BOOL XCircularSlider::SetIncrements(const SHORT ticks, const SHORT steps) const
  62. {
  63.    return SHORT1FROMMR(WinSendMsg(winhandle, CSM_SETINCREMENT, MPFROMSHORT(steps), MPFROMSHORT(ticks)));
  64. }
  65.  
  66.  
  67. /*@ XCircularSlider :: SetLimits( const LONG lowerLimit, const LONG upperLimit)
  68. @group limits
  69. @remarks Set limits
  70. @parameters
  71. <t '°' c=2>
  72. °LONG °lowerLimit
  73. °LONG °upperLimit
  74. </t>
  75. @returns BOOL result
  76. */
  77. BOOL XCircularSlider::SetLimits(const LONG lowerLimit, const LONG upperLimit) const
  78. {
  79.    return SHORT1FROMMR(WinSendMsg(winhandle, CSM_SETRANGE, MPFROMSHORT(lowerLimit), MPFROMSHORT(upperLimit)));
  80. }
  81.  
  82.  
  83. /*@ XCircularSlider :: SetValue( const LONG val)
  84. @group set/get value
  85. @remarks Set a new value
  86. @parameters LONG value
  87. @returns BOOL result
  88. */
  89. BOOL XCircularSlider::SetValue(const LONG val) const
  90. {
  91.    return SHORT1FROMMR(WinSendMsg(winhandle, CSM_SETVALUE, MPFROMSHORT(val), 0));
  92. }
  93.  
  94.  
  95. /*@ XCircularSlider :: GetLimits( SHORT& lowerLimit, SHORT& upperLimit )
  96. @group limits
  97. @remarks Query the limits set to the circular slider
  98. @parameters
  99. <t '°' c=2>
  100. °SHORT& °lowerLimit
  101. °SHORT& °upperLimit
  102. </t>
  103. */
  104. void XCircularSlider::GetLimits(SHORT & lowerLimit, SHORT & upperLimit)
  105. {
  106.    WinSendMsg(winhandle, CSM_QUERYRANGE, MPFROMP(&lowerLimit), MPFROMP(&upperLimit));
  107. }
  108.  
  109.  
  110. /*@ XCircularSlider :: GetIncremets( SHORT& scrollIncrement, SHORT& tickIncrement )
  111. @group misc
  112. @remarks Query the increments set to the slider
  113. @parameters
  114. <t '°' c=2>
  115. °SHORT& °scrollIncrement
  116. °SHORT& °tickIncrement
  117. </t>
  118. */
  119. void XCircularSlider::GetIncremets(SHORT & scrollIncrement, SHORT & tickIncrement)
  120. {
  121.    WinSendMsg(winhandle, CSM_QUERYRANGE, MPFROMP(&scrollIncrement), MPFROMP(&tickIncrement));
  122. }
  123.