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


 

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)