anchor.diff:    GetFrameLocation(Frame, Grp, Pages, NLocalGrpIndex, NGlobalGrpIndex, NTabIndex);
     if Assigned(Pages) and (NTabIndex>=0) then
       Pages.Tabs.TabIndex:= NTabIndex;
  +end;
  +
  +class function TGroupsHelper.FindPagesUnderCursorPos(ACursorPos: TPoint; AGroups: TATGroups): TATPages;
  +var
  +  i: integer;
  +begin
  +  Result:= nil;
  +  for i in [Low(TATGroupsNums)..High(TATGroupsNums)] do
  +    if AGroups.Pages[i].Visible then
  +      if PtInControl(AGroups.Pages[i], ACursorPos) then
  +      begin
  +        Result:= AGroups.Pages[i];
  +        exit;
  +      end;
   end;
   
   
  
positive.code:     class function GetPagesOfGroupIndex(AIndex: integer): TATPages;
      class function GetEditorActiveInGroup(AIndex: integer): TATSynEdit;
      class procedure ForceFrameVisible(Frame: TEditorFrame);
    end;
  
  class function TGroupsHelper.GetEditorFrame(Ed: TATSynEdit): TEditorFrame;
  
negative.code:   Application.BringToFront;
  
    //set group according to mouse cursor
    Pages:= TGroupsHelper.FindPagesUnderCursorPos(Mouse.CursorPos, Groups);
  
    for i:= 0 to Length(Filenames)-1 do
    begin
  