element <Stack>
Namespace:
http://schema.caplin.com/CaplinTrader/webcentric
XML Representation Summary
<Stack
   
 = 
xs:string
 = 
xs:integer
 = 
xs:integer
 = 
xs:integer
 = 
xs:boolean
 = 
xs:boolean
 = 
xs:integer
 = 
xs:string
 = 
xs:boolean : "false"
 = 
xs:integer
    >
   
Content: 
FrameItems
</Stack>
Child elements (1):
Parent elements (2):
Description
The stack is a layout component that arranges child frameItems on top of each other like sheets or pages. Each child fills the same space as the Stack itself, but only one is visible at a time. Typically, Stacks are used with Tabstrib decorators that allow the user to switch between child sheets by clicking on their tabs. Stacks are defined as one of the frameItems in an application's GUI. Setting the id attribute to the special value of "application-layout" makes this stack the container for all draggable layout components in the application.
Attribute Detail
all_content_visible
Type:
xs:boolean, predefined
Use:
optional
Default:
"false"
When this is set to "true", all the contents of the Stack are super-imposed on top of each other such that the contents of each are visible, rather than just the component at the selected index. This is useful for layering, where you want one item to appear above another.

decorators
Type:
xs:string, predefined
Use:
optional
This value defines the id of the decorator to be applied on the Stack layout element. The decorator is defined separately in the Declarations section of the configuration.

fixed_size
Type:
xs:integer, predefined
Use:
optional
This provides a hint to Webcentric that this frameItem should retain its significant size attribute (width or height, depending upon whether the frameset is a Terrace or Tower), even when the containing frameset is resized. If the frameset is a stack, no size attribute is significant, as all dimensions are dictated by the Stack itself. In an MDI frameset, both width and height are significant.

height
Type:
xs:integer, predefined
Use:
optional
This value normally determines the height of the element in pixels. However, if this component is a child of a Tower frameset, its height in pixels is determined by considering the other children of the Tower. Specifically, if the heights of all the children have been defined, then for each child the fraction calculated by dividing its height by the sum total of all the children's heights is multiplied by the vertical space in pixels to be filled by the Tower. This calculated value is the height in pixels for that child. If however, the heights of one or more of the other children have not been defined or, the value of the fixed_size attribute is 'true', then the height of this element will be the specified height in pixels and the other children will fill up the remaining space.

maximized
Type:
xs:boolean, predefined
Use:
optional
Set this value to "true", if the frameItem should be displayed in the maximized state.

minimized
Type:
xs:boolean, predefined
Use:
optional
Set this value to "true", if the frameItem should be displayed in the minimized state.

padding
Type:
xs:integer, predefined
Use:
optional
The pixel value for the space left between the interior perimeter of a frameset and its children. The same effect can always be achieved with a Border, but padding is more efficient and uses less markup.

selected_ind
Type:
xs:integer, predefined
Use:
optional
The index position of the 'active' or 'selected' child frameItem. All framesets have the concept of a selected child frameItem. For a Stack, it is the visible frameItem (the 'top' item on the Stack). For other framesets the distinction is not so obvious, but it is the selected frameItem that is activated when the frameset is activated. In the case of an MDI frameset, the frameset manages the z-index of the child frameItems; the selected frameItem will appear in front of other frameItems.

style
Type:
xs:string, predefined
Use:
optional
This attribute allows for fine-grained control over the visual presentation aspects of components and decorators. Its value allows the element to be given a custom appearance or behavior via CSS or JavaScript respectively. In HTMLView, which is the base object for defining the HTML markup of components in the GUI, the value of the style attribute will be incorporated into the CSS class name of the rendered HTML object. In this way, custom visuals can be defined for this element in CSS. For example, using style="outer" in a Border element, results in the rendered HTML element having a class attribute of "Border_outer". CSS can then be applied to '.Border_outer', as opposed to the unmodified '.Border'. In JavaScript, a custom view implementation can be provided for a component or decorator. The name of the custom view object is HTML<ElementName>_<style>, where <style> is the value of this attribute and <ElementName> is the name of the element ('Border' or 'Tabstrip' for example). Methods on this view object can provide custom HTML construction mechanisms for the actual HTML components used in the element's display.

width
Type:
xs:integer, predefined
Use:
optional
This value normally determines the width of the element in pixels. However, if this component is a child of a Terrace frameset, its width in pixels is determined by considering the other children of the Terrace. Specifically, if the widths of all the children have been defined, then for each child the fraction calculated by dividing its width by the sum total of all the children's widths is multiplied by the horizontal space in pixels to be filled by the Terrace. This calculated value is the width in pixels for that child. If however, the widths of one or more of the other children have not been defined or, the value of the fixed_size attribute is 'true', then the width of this element will be the specified width in pixels and the other children will fill up the remaining space.