Derived from: BWindow
Declared in: scrollingWindow.h
Library: libBeGUI.so
The ScrollingWindow Class is a BWindow wrapper class. It knows about LayoutMatrices and LayoutMatrixItems. It knows how big to make itself based upon all the items it contains, and their font sensitive sizes. If it's size would be larger than screen size, it limits itself to what will fit nicely on the screen and activates scroll gadgets as needed. It recalls it's past position, so it will return to where you last put it. You derive many of your application windows from this class.
This is the constructor. The parameter paramBound, lets the window know where to put itself on screen. This value is stored by the preference routine (see Preferences) and you ask preferences for this value and pass it in as a parameter.
The parameter paramWindowTitle is the title which will display in the window's title tab. The window will try it's best to size itself to accommodate the length of the title, but will never exceed the maximum width of the screen.
The parameter paramScrollViewName is an internal name used for the windows scrolling view (it might be important for scripting), it may be NULL.
The parameter paramNamePrefFrame is used by preferences to identify this window's stored data. It must be unique across all the application's windows.
The parameter paramPreferenceSet is used to declare in which preference file this window's frame will be stored. If this is an internal BeGUI library preference window, you pass in the libBeGUI.so PreferenceSet, otherwise you pass in the application's PreferenceSet.
The parameter paramHasMenu defaults to true, as most windows should have at least an about menu item. In rare situations the developer might want a window with no menu. In these cases the internal code must know not to take menu height into account. Set this parameter to false if you attach no menu to the window.
The parameter paramShowInInit defaults to true, as most windows should have all design work completed during the Initialize() method. In some situations the developer might want to modify a window off-screen before it is Show()ed. Set this parameter to false if you need to adjust the window before Show()ing it.
This is the destructor. It does nothing
This is the real work horse of the class construction. It calculates all it's sizes and position. It creates a custom scroll view (see ScrollView). It attaches it's menu (if it has one) and store's it's height. It looks at the bool value and Show()es itself if desired.
This is an internally called function. You might want to play around with the calculations which I made to determine the value of the size of a scroll due to an arrow press, or a hit off the knob in the scroll bar's container.
This is an internally called function. It overrides the normal BWindow version and intentionally does not call it inherited version.
This overrides the normal BWindow version and calls it inherited version if everything is normal. The window's preferred size and location are stored.
This overrides the normal BWindow version and calls it inherited version. You will also override this version in any derived class to get that window's specific messages, calling this version in your derived class for any messages you do not handle.
This is used internally by the LayoutMatrix Class.
Overview
[method summary]
ScrollingWindow()
ScrollingWindow(BRect paramBound,
const char * paramWindowTitle,
const char * paramScrollViewName,
const char * paramNamePrefFrame,
PreferenceSet * paramPreferenceSet,
bool paramHasMenu = true,
bool paramShowInInit = true);
~ScrollingWindow()
~ScrollingWindow();
Initialize()
bool Initialize(void);
UpdateScrollBars()
void UpdateScrollBars(void);
FrameResized()
void FrameResized(float,
float);
QuitRequested()
bool QuitRequested(void);
MessageReceived()
void MessageReceived(BMessage * paramMessage);
AddToLayoutMatrixList()
void AddToLayoutMatrixList(LayoutMatrix * paramLayoutMatrix);
for version 1.4.2
Copyright © 1998-1999 Ed Musgrove Be Developer #2076. All rights reserved.
edgar@harbornet.com
emusgrov@linknet.kitsap.lib.wa.us
Last modified March 17, 1999.