## 15.14.4 ScrolledWindow Object

ScrolledWindow objects are ControlsWindow objects with the following extra methods:

`scrollbars` ([wantx, wanty])
  Create (or destroy) horizontal and vertical scrollbars. The arguments specify which you want (default: both). The scrollbars always have minimum `0` and maximum `32767`.

`getscrollbarvalues` ()
  You must supply this method. It should return a tuple `x, y` giving the current position of the scrollbars (between `0` and `32767`). You can return `None` for either to indicate the whole document is visible in that direction.

`updatescrollbars` ()
  Call this method when the document has changed. It will call `getscrollbarvalues` and update the scrollbars.

`scrollbar_callback` (which, what, value)
  Supplied by you and called after user interaction. `Which` will be `'x'` or `'y'`, `what` will be `'-'`, `'-'`, `'set'`, `'++'` or `'+'`. For `'set'`, `value` will contain the new scrollbar position.

`scalebarvalues` (absmin, absmax, curmin, curmax)
  Auxiliary method to help you calculate values to return from `getscrollbarvalues`. You pass document minimum and maximum value and topmost (leftmost) and bottommost (rightmost) visible values and it returns the correct number or `None`.

`do_activate` (onoff, event)
  Takes care of dimming/highlighting scrollbars when a window becomes frontmost vv. If you override this method call this one at the end of your method.

`do_postresize` (width, height, window)
  Moves scrollbars to the correct position. Call this method initially if you override it.

`do_controlhit` (window, control, pcode, event)
  Handles scrollbar interaction. If you override it call this method first, a nonzero return value indicates the hit was in the scrollbars and has been handled.