CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Layouting
[Crystal Space Windowing System]


Compounds

class  csAbsoluteLayout
 This is just for completeness. More...

class  csBorderConstraint
 This subclass of csLayoutConstraint additionally stores the location of the attached control. More...

class  csBorderLayout
 Displays upto 5 components. More...

class  csBoxLayout
 Components are scaled to fit in one row or one column of the canvas. More...

class  csConstraintVector
 The layout classes collect the constraints in here. More...

class  csFlowLayout
 In a flow layout components are displayed in a row and wraped at parents boundaries. More...

class  csGridBagConstraint
 Subclass of csLayoutConstraint for use with csGridBagLayout. More...

class  csGridBagLayout
 csGridBagLayout is the most flexible layout class. More...

class  csGridLayout
 Components are displayed in a grid fashion. More...

class  csLayout
 csLayout is our baseclass for various derived classes like csFlowLayout, csBoxLayout, csGridBagLayout and others. More...

class  csLayout2
 csLayout2 extends csLayout to take the maximum layout size and aligning along the x and y axis into account. More...

class  csLayoutConstraint
 csLayoutConstraint is a basic constraint used for positioning a control in a csLayout derived component. More...

What are layouts for?

Usually one designs dialogs, forms etc. by placing components like listcontrols, inputlines, treecontrols and so on at absolute locations inside the dialog. While this is fine for a fixed size of your dialog it turns out to be pretty ugly if you want allow resizing of dialogs, forms etc. A comparable ugly effect you achive by running an application in different window sizes.

Layouts will help you to overcome this drawback. They will allow you to relatively place a control and to resize components when necessary.

Layouts are themselfs csComponents and have a transparent canvas. Thus you will not note them. One important issue about layouts is that they will transfer all Events of type csevCommand to its parent control. This will allow you overwrite just one HandleEvent to receive all commands from the components embedded in the layouts no matter how deeply nested they are.


Generated for Crystal Space by doxygen 1.2.14