10 ScrolledWindows and ScrollBars
This chapter describes the ins and outs of scrolling. It pays particular attention to application−defined scrolling, which
is often required when the simple scrolling provided by the ScrolledWindow widget is insufficient.
The ScrolledWindow widget provides a viewing area into another, usually larger, visual object. The viewport may be
adjusted by the user through the use of ScrollBars that are attached to the ScrolledWindow. The Motif MainWindow,
ScrolledList, and ScrolledText objects use ScrolledWindows to implement scrolling for their respective contents. The
ScrolledWindow can also be used independently to provide a viewport into another large object, such as a
DrawingArea or a manager widget that contains a large group of widgets. All of these scenarios are explored in this
chapter.
10.1 The ScrolledWindow Design Model
The user always interacts with a ScrolledWindow through ScrollBars. Internally, however, there are several ways to
implement what the user sees. These methods are based on two different scrolling models: automatic scrolling and
application−defined scrolling. In either case, the application gives the ScrolledWindow a work window that contains
the visual data to be viewed. Although the two models are different, they share many of the same concepts and
features.
In automatic scrolling mode, the ScrolledWindow operates entirely on its own, adjusting the viewport as necessary in
response to ScrollBar activity. The application simply creates the ...