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.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 36).

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 Move(const AIndex, ANewIndex: Integer);
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; deprecated 'this is a complicated method without clear use-case now; do not use';
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);

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 68).

Public destructor Destroy; override;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 69).

Public function Count: Integer;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 72).

Public procedure Assign(const Source: TInternalChildrenControls);

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 73).

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.

Note that this method does not free the Item instance. This method merely removes Item from the list.

See https://castle-engine.io/modern_pascal#_freeing_classes for description how to free instances in Pascal. As TCastleUserInterface descends from TComponent, a simple and proper solution is often just to create it with some "owner" (like TCastleView.FreeAtStop or Application) that will take care of freeing it.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 89).

Public procedure Move(const AIndex, ANewIndex: Integer);

Move the Item from AIndex to ANewIndex. Do it without invoking uncessary notifications about item being removed + added to the list, container, parent.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 94).

Public procedure Clear;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 96).

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

Warning: this symbol is deprecated: use InsertFront or InsertBack

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 97).

Public procedure Insert(Index: Integer; const Item: TCastleUserInterface);

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 98).

Public function IndexOf(const Item: TCastleUserInterface): Integer;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 99).

Public function MakeSingle(ReplaceClass: TCastleUserInterfaceClass; NewItem: TCastleUserInterface; AddFront: boolean = true): TCastleUserInterface; deprecated 'this is a complicated method without clear use-case now; do not use';

Warning: this symbol is deprecated: this is a complicated method without clear use-case now; do not use

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.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 104).

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

Add at the end of the list.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 109).

Public procedure InsertFrontIfNotExists(const NewItem: TCastleUserInterface);

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 110).

Public procedure InsertFront(const NewItems: TCastleUserInterfaceList); overload;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 111).

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

Add at the beginning of the list.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 114).

Public procedure InsertBackIfNotExists(const NewItem: TCastleUserInterface);

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 115).

Public procedure InsertBack(const NewItems: TCastleUserInterfaceList); overload;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 116).

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

Warning: this symbol is deprecated: use InsertFrontIfNotExists or InsertBackIfNotExists

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 118).

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

Warning: this symbol is deprecated: use InsertFrontIfNotExists or InsertBackIfNotExists

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 119).

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.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 128).

Public procedure EndDisableContextOpenClose;

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 129).

Properties

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

This item has no description.

Source: src/ui/castleuicontrols_internalchildrencontrols.inc (line 71).


Generated by PasDoc 0.17.0.snapshot.