Class TInternalChildrenControls

Unit

Declaration

type TInternalChildrenControls = class(TObject)

Description

List of UI controls, with a parent control and container. Ordered from back to front. Used for TCastleContainer.Controls.

User code should not create instances of this class. The only way to have an instance of it, is to get a container, by creating a TCastleWindow or TCastleControl. Then you can access MyWindow.Container.Controls.

User code should rarely need to use methods and properties of this class. That's because most TCastleUserInterface controls should be added to TCastleView, so only TCastleView instances should be present at the top-level of the UI hierarchy in TInternalChildrenControls. And you should manage TCastleView instances using TCastleContainer.View, TCastleContainer.PushView etc. that will make it added / removed from the TInternalChildrenControls automatically.

Hierarchy

  • TObject
  • TInternalChildrenControls

Overview

Methods

Public constructor Create(AParent: TCastleUserInterface);
Public destructor Destroy; override;
Public function Count: Integer;
Public procedure Assign(const Source: TInternalChildrenControls);
Public procedure Remove(const Item: TCastleUserInterface);
Public procedure Clear;
Public procedure Add(const Item: TCastleUserInterface); deprecated 'use InsertFront or InsertBack';
Public procedure Insert(Index: Integer; const Item: TCastleUserInterface);
Public function IndexOf(const Item: TCastleUserInterface): Integer;
Public function MakeSingle(ReplaceClass: TCastleUserInterfaceClass; NewItem: TCastleUserInterface; AddFront: boolean = true): TCastleUserInterface;
Public procedure InsertFront(const NewItem: TCastleUserInterface); overload;
Public procedure InsertFrontIfNotExists(const NewItem: TCastleUserInterface);
Public procedure InsertFront(const NewItems: TCastleUserInterfaceList); overload;
Public procedure InsertBack(const NewItem: TCastleUserInterface); overload;
Public procedure InsertBackIfNotExists(const NewItem: TCastleUserInterface);
Public procedure InsertBack(const NewItems: TCastleUserInterfaceList); overload;
Public procedure InsertIfNotExists(const Index: Integer; const NewItem: TCastleUserInterface); deprecated 'use InsertFrontIfNotExists or InsertBackIfNotExists';
Public procedure AddIfNotExists(const NewItem: TCastleUserInterface); deprecated 'use InsertFrontIfNotExists or InsertBackIfNotExists';
Public procedure BeginDisableContextOpenClose;
Public procedure EndDisableContextOpenClose;

Properties

Public property Items[const I: Integer]: TCastleUserInterface read GetItem write SetItem;

Description

Methods

Public constructor Create(AParent: TCastleUserInterface);
 
Public destructor Destroy; override;
 
Public function Count: Integer;
 
Public procedure Assign(const Source: TInternalChildrenControls);
 
Public procedure Remove(const Item: TCastleUserInterface);

Remove the Item from this list. Note that the given Item should always exist only once on a list (it is not allowed to add it multiple times), so there's no RemoveAll method.

Public procedure Clear;
 
Public procedure Add(const Item: TCastleUserInterface); deprecated 'use InsertFront or InsertBack';

Warning: this symbol is deprecated: use InsertFront or InsertBack

 
Public procedure Insert(Index: Integer; const Item: TCastleUserInterface);
 
Public function IndexOf(const Item: TCastleUserInterface): Integer;
 
Public function MakeSingle(ReplaceClass: TCastleUserInterfaceClass; NewItem: TCastleUserInterface; AddFront: boolean = true): TCastleUserInterface;

Make sure that NewItem is the only instance of given ReplaceClass on the list, replacing old item if necesssary. See TCastleObjectList.MakeSingle for precise description.

Public procedure InsertFront(const NewItem: TCastleUserInterface); overload;

Add at the end of the list.

Public procedure InsertFrontIfNotExists(const NewItem: TCastleUserInterface);
 
Public procedure InsertFront(const NewItems: TCastleUserInterfaceList); overload;
 
Public procedure InsertBack(const NewItem: TCastleUserInterface); overload;

Add at the beginning of the list.

Public procedure InsertBackIfNotExists(const NewItem: TCastleUserInterface);
 
Public procedure InsertBack(const NewItems: TCastleUserInterfaceList); overload;
 
Public procedure InsertIfNotExists(const Index: Integer; const NewItem: TCastleUserInterface); deprecated 'use InsertFrontIfNotExists or InsertBackIfNotExists';

Warning: this symbol is deprecated: use InsertFrontIfNotExists or InsertBackIfNotExists

 
Public procedure AddIfNotExists(const NewItem: TCastleUserInterface); deprecated 'use InsertFrontIfNotExists or InsertBackIfNotExists';

Warning: this symbol is deprecated: use InsertFrontIfNotExists or InsertBackIfNotExists

 
Public procedure BeginDisableContextOpenClose;

BeginDisableContextOpenClose disables sending TCastleUserInterface.GLContextOpen and TCastleUserInterface.GLContextClose to all the controls on the list. EndDisableContextOpenClose ends this. They work by increasing / decreasing the TCastleUserInterface.DisableContextOpenClose for all the items on the list.

Public procedure EndDisableContextOpenClose;
 

Properties

Public property Items[const I: Integer]: TCastleUserInterface read GetItem write SetItem;
 

Generated by PasDoc 0.16.0.