THYUpdateableController
Overview
The THYUpdateableController class provides a batch mechanism to manage all sets of menu items, menus, toolbars etc. that are added to the host by plugins.
Use Case
You should not use this class directly, to manually manage menus or toolbars in your plugins, you can use the menu or toolbar controllers. For example:
const
  // Needed to group all the controls this plugin builds
  PluginUpdates : TGUID = '{6513A5C3-2EEF-4CAF-A43D-42A89C18EEF7}';
procedure TTextEditorPlugin.HYVisualPluginSetHost(const Sender: IHYVCLHostAware;
  const aHost: IHYVCLHost);
var
  MenuItem: IHYVCLMenuItem;
begin
  if aHost.MenuController <> nil then
    with aHost.MenuController do try
      BeginUpdate(PluginUpdates);
      MenuItem := Items.InsertMenu(1, 'Edit');
      MenuItem.Add(copyAction);
      MenuItem.Add(paseAction);
    finally
      EndUpdate(PluginUpdates);
    end;
end;
procedure TTextEditorPlugin.HYVisualPluginDestroy(Sender: TObject);
begin
  if Host.MenuController <> nil then
    Host.MenuController.DeleteUpdates(PluginUpdates);
end;
Note: You can read about menu and toolbar usage in the Hydra framework in this article. Please also look at the Actions sample shipped with Hydra to see menu and toolbar merging in action.
Location
- Unit: Hydra.VCL.UserInterface.pas
 - Ancestry: TComponent | THYUpdateableController
 
Instance Methods
constructor Create override
Creates a new instance of the class.
constructor Create(aOwner: TComponent)
Parameters:
- aOwner: Reference to the owner object.
 
AddReference protected
Supplying AddReference calls within BeginUpate and EndUpdate pairs allows the subsequent deletion of all added items via a single call to DeleteUpdates.
procedure AddReference(const anItem: IHYVCLObjectReference)
Parameters:
- anItem: Reference to an object.
 
BeginUpdate protected virtual
Calls BeginUpdate prior to call(s) to AddReference. Each BeginUpdate must have an associated EndUpdate.
Items added by AddReference can subsequently be removed by a single call to DeleteUpdates.
procedure BeginUpdate(const aGUID: TGUID)
Parameters:
- aGUID: Unique identifier of the session.
 
DeleteUpdates protected virtual
DeleteUpdates removes all items added to the host's menu and toolbars via AddReference calls.
procedure DeleteUpdates(const aGUID: TGUID)
Parameters:
- aGUID: Unique identifier of the session.
 
EndUpdate protected virtual
Calls EndUpdate following call(s) to AddReference preceded by BeginUpdate.
procedure EndUpdate(const aGUID: TGUID)
Parameters:
- aGUID: Unique identifier of the session.
 
GetIsUpdating protected
Returns the value which indicates whether controller is being updated.
function GetIsUpdating: Boolean
GetUpdateCount protected
Returns the number of processed updates.
function GetUpdateCount(const aGUID: TGUID): Integer
Parameters:
- aGUID: Unique identifier of the session.