|
| BCardLayout () |
| Create a new card layout.
|
|
| BCardLayout (BMessage *from) |
| Constructs a BCardLayout from an archive message.
|
|
virtual | ~BCardLayout () |
| Destructor.
|
|
virtual status_t | Archive (BMessage *into, bool deep=true) const |
| Archive this layout into a BMessage.
|
|
virtual BAlignment | BaseAlignment () |
| Overridden hook method from BAbstractLayout.
|
|
virtual BSize | BaseMaxSize () |
| Overridden hook method from BAbstractLayout.
|
|
virtual BSize | BaseMinSize () |
| Overridden hook method from BAbstractLayout.
|
|
virtual BSize | BasePreferredSize () |
| Overridden hook method from BAbstractLayout.
|
|
virtual void | GetHeightForWidth (float width, float *min, float *max, float *preferred) |
| Overridden hook method from BAbstractLayout.
|
|
virtual bool | HasHeightForWidth () |
| Overridden hook method from BAbstractLayout.
|
|
virtual status_t | Perform (perform_code d, void *arg) |
| Overridden hook method from BAbstractLayout.
|
|
void | SetVisibleItem (BLayoutItem *item) |
| Set the current visible item to item.
|
|
void | SetVisibleItem (int32 index) |
| Set the current visible item to the item at index.
|
|
int32 | VisibleIndex () const |
| Get the index of the currently visible item.
|
|
BLayoutItem * | VisibleItem () const |
| Get a pointer to the currently visible item.
|
|
virtual BAlignment | Alignment () |
|
virtual status_t | Archive (BMessage *into, bool deep=true) const |
| Archives this layout into archive. If deep is true, also archives the items in this layout, calling ItemArchived() for each one.
|
|
virtual BRect | Frame () |
| Return the bounding frame of this item.
|
|
virtual bool | IsVisible () |
| Return the current local visibility of this item. If an item is not visible, it will not be given space by the BLayout it resides in.
|
|
virtual BSize | MaxSize () |
|
virtual BSize | MinSize () |
|
virtual status_t | Perform (perform_code d, void *arg) |
| Perform some action (Internal method defined for binary compatibility purposes).
|
|
virtual BSize | PreferredSize () |
|
virtual void | SetExplicitAlignment (BAlignment alignment) |
| Set this item's explicit alignment, to be used in Alignment().
|
|
virtual void | SetExplicitMaxSize (BSize size) |
| Set this item's explicit max size, to be used in MaxSize().
|
|
virtual void | SetExplicitMinSize (BSize size) |
| Set this item's explicit min size, to be used in MinSize().
|
|
virtual void | SetExplicitPreferredSize (BSize size) |
| Set this item's explicit preferred size, to be used in PreferredSize().
|
|
virtual void | SetFrame (BRect frame) |
| Set the bounding frame of this item.
|
|
virtual void | SetVisible (bool visible) |
| Set the local visibility of this item.
|
|
| BAbstractLayout () |
| Construct a BAbstractLayout.
|
|
| BAbstractLayout (BMessage *from) |
| Archive constructor.
|
|
| BLayout () |
| Default constructor.
|
|
| BLayout (BMessage *archive) |
| Archive constructor.
|
|
virtual | ~BLayout () |
| Destructor, deletes all BLayoutItem's that this layout manages, and detaches from this BLayout's owner view if there is one.
|
|
virtual status_t | Perform (perform_code d, void *arg) |
| Perform some action (Internal method defined for binary compatibility purposes).
|
|
BView * | Owner () const |
| Returns the Owner of this layout, i.e. the view this layout manages.
|
|
BView * | TargetView () const |
| Returns the target view of this layout.
|
|
virtual BView * | View () |
| Returns the same BView* as BLayout::Owner(), this method is inherited from BLayoutItem.
|
|
virtual BLayoutItem * | AddView (BView *child) |
| Creates a BLayoutItem to represent a BView, and adds that item to this layout.
|
|
virtual BLayoutItem * | AddView (int32 index, BView *child) |
| Creates a BLayoutItem to represent child, and adds that item at index to this layout. child is added to this BLayout's target view.
|
|
virtual bool | AddItem (BLayoutItem *item) |
| Adds a BLayoutItem to this layout, and adds the BView it represents to this BLayout's target view.
|
|
virtual bool | AddItem (int32 index, BLayoutItem *item) |
| Adds item to this layout, and adds the BView item represents to this BLayout's target view.
|
|
virtual bool | RemoveView (BView *child) |
| Removes and deletes all BLayoutItem representing a BView from this layout.
|
|
virtual bool | RemoveItem (BLayoutItem *item) |
| Removes a BLayoutItem from this layout, and also removes the view it represents from this BLayout's target view.
|
|
virtual BLayoutItem * | RemoveItem (int32 index) |
| Remove the BLayoutItem at index.
|
|
BLayoutItem * | ItemAt (int32 index) const |
| Get the BLayoutItem at index. Returns NULL if index is out of bounds.
|
|
int32 | CountItems () const |
| Get the number of BLayoutItem s in this layout.
|
|
int32 | IndexOfItem (const BLayoutItem *item) const |
| Get the index of a BLayoutItem in this layout.
|
|
int32 | IndexOfView (BView *child) const |
| Get the index of child in this layout.
|
|
virtual void | Relayout (bool immediate=false) |
| Request this BLayout to reposition and resize its items as required.
|
|
void | LayoutItems (bool force=false) |
| If there is no layout currently ongoing, and force is false , creates a new BLayoutContext and calls the DoLayout() method of this BLayout and any BLayout's nested in this BLayout.
|
|
BLayoutContext * | LayoutContext () const |
| Returns the BLayoutContext this BLayout is currently operating in, or NULL .
|
|
bool | AncestorsVisible () const |
| Get the visibility of the ancestors of this layout.
|
|
BRect | LayoutArea () |
| Returns the on-screen area this layout has received to lay out its items in.
|
|
virtual void | InvalidateLayout (bool children=false) |
| Invalidate this layout and any cached data this layout has relating to positioning and sizing of its items.
|
|
void | RequireLayout () |
| Flag this layout as stale, i.e. any cached data may still be valid, but the items need to be repositioned or resized.
|
|
bool | IsValid () |
| Returns whether this layout has been invalidated (via BLayout::InvalidateLayout()) and has not yet been validated (by doing a layout, or by its ResetLayoutInvalidation() method.
|
|
void | EnableLayoutInvalidation () |
| Re-enable layout invalidation after a call to DisableLayoutInvalidation().
|
|
void | DisableLayoutInvalidation () |
| Disable layout invalidation notifications, i.e. calls to this object's InvalidateLayout() method.
|
|
| BLayoutItem (BMessage *from) |
| Archive constructor.
|
|
virtual status_t | Archive (BMessage *into, bool deep=true) const |
| Archive the object into a BMessage.
|
|
BLayout * | Layout () const |
| Returns the BLayout this BLayoutItem resides in.
|
|
virtual status_t | Perform (perform_code d, void *arg) |
| Perform some action (Internal method defined for binary compatibility purposes).
|
|
bool | RemoveSelf () |
| Remove this layout item from the BLayout it is a part of.
|
|
virtual BView * | View () |
| Return the BView this item is representing, or NULL if it does not represent any view.
|
|
void | SetExplicitSize (BSize size) |
| Set the explicity size to size.
|
|
void | AlignInFrame (BRect frame) |
| Position this BLayoutItem within frame, given the value returned by Alignment(), and the size constraints for this item.
|
|
void * | LayoutData () const |
| Retrieve arbitrary data attached to this BLayoutItem.
|
|
void | SetLayoutData (void *data) |
| Attach arbitrary data to this BLayoutItem.
|
|
| BArchivable () |
| Constructor. Does nothing.
|
|
| BArchivable (BMessage *from) |
| Constructor. Does important behind-the-scenes work in the unarchiving process.
|
|
virtual | ~BArchivable () |
| Destructor. Does nothing.
|
|
virtual status_t | AllArchived (BMessage *archive) const |
| Method relating to the use of BArchiver .
|
|
virtual status_t | AllUnarchived (const BMessage *archive) |
| Method relating to the use of BUnarchiver .
|
|
virtual status_t | Archive (BMessage *into, bool deep=true) const |
| Archive the object into a BMessage.
|
|
virtual status_t | Perform (perform_code d, void *arg) |
| Perform some action (Internal method defined for binary compatibility purposes).
|
|
|
virtual status_t | AllArchived (BMessage *archive) const |
| Hook method overridden from BArchivable.
|
|
virtual status_t | AllUnarchived (const BMessage *from) |
| Hook method overridden from BArchivable.
|
|
virtual void | DoLayout () |
| Hook method overridden from BAbstractLayout.
|
|
virtual bool | ItemAdded (BLayoutItem *item, int32 atIndex) |
| Hook method overridden from BAbstractLayout.
|
|
virtual status_t | ItemArchived (BMessage *into, BLayoutItem *item, int32 index) const |
| Hook method overridden from BArchivable.
|
|
virtual void | ItemRemoved (BLayoutItem *item, int32 fromIndex) |
| Hook method overridden from BAbstractLayout.
|
|
virtual status_t | ItemUnarchived (const BMessage *from, BLayoutItem *item, int32 index) |
| Hook method overridden from BArchivable.
|
|
virtual void | LayoutInvalidated (bool children=false) |
| Hook method overridden from BAbstractLayout.
|
|
virtual status_t | AllArchived (BMessage *archive) const |
| Method relating to the use of BArchiver .
|
|
virtual status_t | AllUnarchived (const BMessage *from) |
| Unarchives the BLayoutItem's for this layout, calling ItemUnarchived() for each one.
|
|
virtual void | AncestorVisibilityChanged (bool shown) |
| Hook method inherited from BLayoutItem, classes derived from BLayout must include the BLayout version of this method in their implementation.
|
|
virtual void | AttachedToLayout () |
| Hook method inherited from BLayoutItem, classes derived from BLayout must include the BLayout version of this method in their implementation.
|
|
virtual void | DetachedFromLayout (BLayout *layout) |
| Hook method inherited from BLayoutItem, classes derived from BLayout must include the BLayout version of this method in their implementation.
|
|
virtual bool | ItemAdded (BLayoutItem *item, int32 atIndex) |
| Hook method called when item is added to this layout.
|
|
virtual status_t | ItemArchived (BMessage *into, BLayoutItem *item, int32 index) const |
| Hook for derived classes to add data specific to item to the into BMessage. item resides at index.
|
|
virtual void | ItemRemoved (BLayoutItem *item, int32 fromIndex) |
| Hook method called when item is removed from this layout.
|
|
virtual status_t | ItemUnarchived (const BMessage *from, BLayoutItem *item, int32 index) |
| Hook for derived classes to retrieve data specific to item from the from BMessage. item resides at index.
|
|
virtual void | LayoutInvalidated (bool children) |
|
virtual void | OwnerChanged (BView *was) |
| Hook method called when this layout is attached to a BView.
|
|
virtual status_t | AllArchived (BMessage *archive) const |
| Method relating to the use of BArchiver .
|
|
void | VisibilityChanged (bool show) |
| Method to be called by derived classes in their SetVisible() implementation. Calls AncestorVisibilityChanged() on the items in this BLayout.
|
|
void | ResetLayoutInvalidation () |
| Reset layout invalidation, causing InvalidateLayout calls to proceed again. This method should be called once any cached data has been validated, or updated to valid values.
|
|
virtual status_t | AllArchived (BMessage *into) const |
| Method relating to the use of BArchiver .
|
|
virtual status_t | AllUnarchived (const BMessage *from) |
| Method relating to the use of BUnarchiver .
|
|
|
The BCardLayout class is a simple BLayout subclass that arranges the items as a stack of cards with only one card being on top and visible to the user.
Once you have set up the items in the container, you can select which one is visible using the SetVisibleItem() methods on this class. When there is no item on top, the system's default grey background is shown.
This view is useful when you have a number of pre-loaded UI elements, and you want to be able to swap between them quickly, while retaining the underlying state. The container itself will retain a fixed size, so from a visual perspective, it is imperative that the items in the stack have comparable dimensions.
An example usage is for a configuration wizard, where the user will need to complete a number of steps to perform an action. Because you want to the user to experience all these steps as a smooth flow within one window, you can set up the individual pages as views, and add these as cards to the card layout. Then you tie the Next and Previous buttons to switch between the visible cards using the BCardLayout::SetVisible() methods.
- Since
- Haiku R1