Deck(3) a stack of interactors on top of each other


#include <InterViews/deck.h>


A deck is a scene containing interactors that are conceptually stacked on top of each other. Only one interactor is visible at a time. A deck is useful to implement ``paging'' through a document, or where only one of several similar components should be visible at a time, as in applications using alternate tool pallets or menus with alternate entries.

A deck will try to stretch or shrink the visible interactor to fill the total space. The natural size of a deck is the maximum of its components.

A deck uses its perspective to specify which component is visible. The components are numbered in the order in which they are inserted into the deck, starting with one. A scroller or other interactor which operates on the perspective can be used to allow a user to specify the component to view. Either horizontal or vertical scrolling can be used.


Construct a new deck.
void Insert(Interactor*)
Add an interactor to the deck.
void Change(Interactor*)
Notify the deck that an interactor's shape has changed. If propagation is on, the deck recomputes its own shape and notifies its parent.
void Remove(Interactor*)
Take an interactor out of a deck.
void Flip(int count = 1)
void FlipTo(int position)
void Top()
void Bottom()
Perform operations on the perspective to specify the component to view. Flip specifies the component relative to the current component. A positive value of count specifies a component nearer to the ``bottom'' of the deck (the components inserted last), and a negative value specifies a component nearer to the ``top''. FlipTo specifies a component by its absolute position in the deck. A positive value of position specifies a position from the top, starting at 1. A negative value specifies a position from the bottom, starting at -1. Top and Bottom are equivalent to FlipTo(1) and FlipTo(-1) respectively.