By Brian Tietz
Copyright 2000
Bug reports (including documentation errors) and feature requests can be sent to briant@timelinevista.com.
Updates available at http://www.bebits.com/app/1084.
Current version: 3.00
The source code, object code, libraries, and the other components of Santa's Gift Bag are being made publicly available and free to use in freeware and shareware products with a price under $25 (I believe that shareware should be cheap). For overpriced shareware (hehehe) or commercial products, please contact me to negotiate a commercial use license. After all, I did work hard on these classes and invested a lot of time into it. That being said, DON'T WORRY I don't want much. It totally depends on the sort of project you're working on and how much you expect to make off it. If someone makes money using my work, I'd like to get at least a little something for my contribution to that profit.
If any of the components of Santa's Gift Bag are is used in a shareware or commercial product, I get a free copy. The source is made available so that you can improve and extend it as you need. In general it is best to customize these classes through inheritance, leaving the original Santa's Gift Bag source code unmodified, so that you can take advantage of enhancements and bug fixes as they become available.
Feel free to distribute any components of this archive, but you are required to keep the documentation and license with it. If you wish to distribute modified versions, also feel free to do so, but do so in such a manner that it is very clear what was modified, why, how, that it is not an official Santa's Gift Bag release, and you are also required to keep the documentation and license with any modified versions.
These classes help do font-sensitive layout of GUI components, as well as language localization by allowing the programmer to programmatically create the GUI components using the user's font preferences, and the components will create themselves at the minimum size required to hold the contents in the selected font. Also, many BeOS classes include a buffer zone around them, typically used to render a keyboard navigation focus indicator box, which isn't usually shown. Therefore, these classes also introduce the notion of a "visual frame," i.e. the frame of what the user perceives to be the edge of the GUI component. The visual frame is used to align FSViews to one another, either programmatically or using the Align() function. For GUI components with a label to the left of the main component, the FSLeftLabelView provides facilities to Align() the divider.
FSLeftLabelViews without divider alignment:
FSLeftLabelViews with divider alignment:
The code to accomplish the above is as simple as:
FSLeftLabelView::Align(views,3);
Using FontSensitiveLayoutTools, it is possible to create a GUI layout in a manner almost as easy as using a graphical layout tool, but with the added benefit of giving a font-sensitive GUI, which can't be accomplished with any existing graphical layout tools for BeOS that I'm aware of.
FSView FSLeftLabelView FSMenuField FSTextControl FSBox FSButton FSCheckBox FSMultiLineTextControl
By Brian Tietz
Copyright 2000
Bug reports (including documentation errors) and feature requests can be sent to briant@timelinevista.com.