anchor.diff:        item.Items[i].Caption := tool[i].toolAlias;
     end;
   end;
  -
  +{$ENDREGION}
  +
  +{$REGION ICEEditableShortcut ---------------------------------------------------}
  +function TCETools.scedWantFirst: boolean;
  +begin
  +  result := fTools.Count > 0;
  +  fShctCount := 0;
  +end;
  +
  +function TCETools.scedWantNext(out category, identifier: string; out aShortcut: TShortcut): boolean;
  +begin
  +  category  := 'Tools';
  +  identifier:= tool[fShctCount].toolAlias;
  +  aShortcut := tool[fShctCount].shortcut;
  +  //
  +  fShctCount += 1;
  +  result := fShctCount < fTools.Count;
  +end;
  +
  +procedure TCETools.scedSendItem(const category, identifier: string; aShortcut: TShortcut);
  +begin
  +
  +end;
  +{$ENDREGION}
  +
  +{$REGION Tools things ----------------------------------------------------------}
   procedure TCETools.setTools(const aValue: TCollection);
   begin
     fTools.Assign(aValue);
  
positive.code:   ce_common, ce_writableComponent, ce_interfaces, ce_observer, ce_inspectors;
  
  type
  
    //TODO-cfeature: declare tools shortcuts, set TCETools ICEEditableShortcut
  
    TCEToolItem = class(TCollectionItem)
    private
  
negative.code:   fTools.Free;
    inherited;
  end;
  {$ENDREGION}
  
  {$REGION ICEMainMenuProvider ---------------------------------------------------}
  procedure TCETools.executeToolFromMenu(sender: TObject);
  begin
    executeTool(TCEToolItem(TMenuItem(sender).tag));
  