TSearcheableInterfacedCollection
Overview
The TSearcheableInterfacedCollection class extends the TSearcheableCollection with support for the querying interface. Descendants of such collections can be queried for implemented interfaces. This class is a utility class and used internally.
Location
- Unit: uDASupportClasses.pas
- Ancestry: TOwnedCollection | TSearcheableCollection | TSearcheableCollectionCached | TSearcheableInterfacedCollection
constructor Create (declared in TSearcheableCollectionCached)
Initializes the collection with the supplied parameters.
constructor Create(AOwner: TPersistent; ItemClass: TCollectionItemClass)
Parameters:
- AOwner: owner
- ItemClass: item class
CloneItem (declared in TSearcheableCollection)
Inserts a copy of an item and names it "Copy nn of " of the cloned item name.
function CloneItem(iIndex: Integer): Integer
Parameters:
- iIndex: position.
FindItem override (declared in TSearcheableCollectionCached)
Finds the first occurrence of the item with the supplied name. Search is case-insensitive.
function FindItem(const aName: string): TCollectionItem
Parameters:
- aName: the supplied name
FindUniqueName (declared in TSearcheableCollection)
Returns the supplied name if the item with that name is absent in the collection or adds a number to it and sequentially increments it until the result is unique.
function FindUniqueName(const iBaseName: string): string
Parameters:
- iBaseName: the supplied name
FindUniqueNameEx (declared in TSearcheableCollection)
Does the same as FindUniqueName, but uses a template with a numeric parameter as second argument, it should be compatible with the Delphi Format function.
function FindUniqueNameEx(const iBaseName: string; const iNumberedName: string): string
Parameters:
- iBaseName: the supplied name
- iNumberedName: numeric parameter
GetCount protected
Does nothing, should be implemented in the descendant.
function GetCount: Integer
GetDefaultItem (declared in TSearcheableCollection)
Looks for the first occurrence of the item that has a boolean property with the name "Default" and the value true. Raises an exception if no such item can be found.
function GetDefaultItem: TCollectionItem
GetItemDefault protected dynamic (declared in TSearcheableCollection)
Returns default item's name
function GetItemDefault(anItem: TCollectionItem): Boolean
Parameters:
- anItem: given item
GetItemName protected reintroduce dynamic (declared in TSearcheableCollection)
Gets the name of the specified item.
function GetItemName(anItem: TCollectionItem): string
Parameters:
- anItem: the specified item.
ItemByName (declared in TSearcheableCollection)
Returns an item with the specified name.
function ItemByName(const aName: string): TCollectionItem
Parameters:
- aName: fClientFields
ItemName protected virtual (declared in TSearcheableCollection)
Returns the string "item".
function ItemName: string
MoveItem (declared in TSearcheableCollection)
Moves the item from one position to another. Checks boundaries.
procedure MoveItem(iFromIndex: Integer; iToIndex: Integer)
Parameters:
- iFromIndex: old index
- iToIndex: new index
Notify protected override (declared in TSearcheableCollectionCached)
Notifies about the adding or removal of an item if the event handler is assigned. If an item with an empty name is added and items without name are not allowed, it sets the name to "Item" plus number.
procedure Notify(Item: TCollectionItem; Action: TCollectionNotification)
Parameters:
- Item: given item
- Action: action
OnItemRemoved (declared in TSearcheableCollection)
Event handler for removing an item.
property OnItemRemoved: TDAItemRemovedEvent read write
delegate: procedure OnItemRemoved(aSender: TObject; const aName: string)
OnItemRenamed (declared in TSearcheableCollection)
Event handler for renaming an item.
property OnItemRenamed: TDAItemRenamedEvent read write
delegate: procedure OnItemRenamed(aSender: TObject; const aOldName: string; const aNewName: string)
QueryInterface protected stdcall
Returns a reference to a specified interface if the object supports that interface. This is one of the methods introduced by the IUnknown interface.
function QueryInterface(const IID: TGUID; out Obj: ): HResult
Parameters:
- IID: Identifier of the interface to return
- Obj: Variable to store the returned interface reference to
SetItemName protected reintroduce dynamic (declared in TSearcheableCollection)
Sets a new name for the specified item.
function SetItemName(anItem: TCollectionItem; const aName: string): string
Parameters:
- anItem: item
- aName: name
TriggerOnItemRemoved override (declared in TSearcheableCollectionCached)
Calls the event handler if it was assigned.
procedure TriggerOnItemRemoved(const iName: string)
Parameters:
- iName: item name
TriggerOnItemRenamed override (declared in TSearcheableCollectionCached)
Calls the event handler if it was assigned.
procedure TriggerOnItemRenamed(const iOldName: string; const iNewName: string)
Parameters:
- iOldName: old name
- iNewName: new name
constructor Create (declared in TSearcheableCollectionCached)
Initializes the collection with the supplied parameters.
constructor Create(AOwner: TPersistent; ItemClass: TCollectionItemClass)
Parameters:
- AOwner: owner
- ItemClass: item class
CloneItem (declared in TSearcheableCollection)
Inserts a copy of an item and names it "Copy nn of " of the cloned item name.
function CloneItem(iIndex: Integer): Integer
Parameters:
- iIndex: position.
FindItem override (declared in TSearcheableCollectionCached)
Finds the first occurrence of the item with the supplied name. Search is case-insensitive.
function FindItem(const aName: string): TCollectionItem
Parameters:
- aName: the supplied name
FindUniqueName (declared in TSearcheableCollection)
Returns the supplied name if the item with that name is absent in the collection or adds a number to it and sequentially increments it until the result is unique.
function FindUniqueName(const iBaseName: string): string
Parameters:
- iBaseName: the supplied name
FindUniqueNameEx (declared in TSearcheableCollection)
Does the same as FindUniqueName, but uses a template with a numeric parameter as second argument, it should be compatible with the Delphi Format function.
function FindUniqueNameEx(const iBaseName: string; const iNumberedName: string): string
Parameters:
- iBaseName: the supplied name
- iNumberedName: numeric parameter
GetCount protected
Does nothing, should be implemented in the descendant.
function GetCount: Integer
GetDefaultItem (declared in TSearcheableCollection)
Looks for the first occurrence of the item that has a boolean property with the name "Default" and the value true. Raises an exception if no such item can be found.
function GetDefaultItem: TCollectionItem
GetItemDefault protected dynamic (declared in TSearcheableCollection)
Returns default item's name
function GetItemDefault(anItem: TCollectionItem): Boolean
Parameters:
- anItem: given item
GetItemName protected reintroduce dynamic (declared in TSearcheableCollection)
Gets the name of the specified item.
function GetItemName(anItem: TCollectionItem): string
Parameters:
- anItem: the specified item.
ItemByName (declared in TSearcheableCollection)
Returns an item with the specified name.
function ItemByName(const aName: string): TCollectionItem
Parameters:
- aName: fClientFields
ItemName protected virtual (declared in TSearcheableCollection)
Returns the string "item".
function ItemName: string
MoveItem (declared in TSearcheableCollection)
Moves the item from one position to another. Checks boundaries.
procedure MoveItem(iFromIndex: Integer; iToIndex: Integer)
Parameters:
- iFromIndex: old index
- iToIndex: new index
Notify protected override (declared in TSearcheableCollectionCached)
Notifies about the adding or removal of an item if the event handler is assigned. If an item with an empty name is added and items without name are not allowed, it sets the name to "Item" plus number.
procedure Notify(Item: TCollectionItem; Action: TCollectionNotification)
Parameters:
- Item: given item
- Action: action
QueryInterface protected stdcall
Returns a reference to a specified interface if the object supports that interface. This is one of the methods introduced by the IUnknown interface.
function QueryInterface(const IID: TGUID; out Obj: ): HResult
Parameters:
- IID: Identifier of the interface to return
- Obj: Variable to store the returned interface reference to
SetItemName protected reintroduce dynamic (declared in TSearcheableCollection)
Sets a new name for the specified item.
function SetItemName(anItem: TCollectionItem; const aName: string): string
Parameters:
- anItem: item
- aName: name
TriggerOnItemRemoved override (declared in TSearcheableCollectionCached)
Calls the event handler if it was assigned.
procedure TriggerOnItemRemoved(const iName: string)
Parameters:
- iName: item name
TriggerOnItemRenamed override (declared in TSearcheableCollectionCached)
Calls the event handler if it was assigned.
procedure TriggerOnItemRenamed(const iOldName: string; const iNewName: string)
Parameters:
- iOldName: old name
- iNewName: new name
OnItemRemoved (declared in TSearcheableCollection)
Event handler for removing an item.
property OnItemRemoved: TDAItemRemovedEvent read write
delegate: procedure OnItemRemoved(aSender: TObject; const aName: string)
OnItemRenamed (declared in TSearcheableCollection)
Event handler for renaming an item.
property OnItemRenamed: TDAItemRenamedEvent read write
delegate: procedure OnItemRenamed(aSender: TObject; const aOldName: string; const aNewName: string)