##
15.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.