anchor.diff:    
     if IsDblClick then
     begin
  +    if Assigned(FOnTabDblClick) and (FTabIndexOver>=0) then
  +      FOnTabDblClick(Self, FTabIndexOver);
  +
       if FOptMouseDoubleClickClose and (FTabIndexOver>=0) then
         DeleteTab(FTabIndexOver, true, true)
       else
  
positive.code:     property OnTabChangeQuery: TATTabChangeQueryEvent read FOnTabChangeQuery write FOnTabChangeQuery;
      property OnTabGetTick: TATTabGetTickEvent read FOnTabGetTick write FOnTabGetTick;
      property OnTabGetCloseAction: TATTabGetCloseActionEvent read FOnTabGetCloseAction write FOnTabGetCloseAction;
    end;
  
  var
  
negative.code: procedure TATTabs.DoTabDrop;
  var
    NFrom, NTo: integer;
    ACanDrop: boolean;
  begin
    NFrom:= FTabIndex;
    if not IsIndexOk(NFrom) then Exit;
    NTo:= FTabIndexDrop;
    if not IsIndexOk(NTo) then
      NTo:= TabCount-1;
    if NFrom=NTo then Exit;
  
    ACanDrop:= true;
    if Assigned(FOnTabDropQuery) then
      FOnTabDropQuery(Self, NFrom, NTo, ACanDrop);
    if not ACanDrop then Exit;
  
    FTabList.Items[NFrom].Index:= NTo;
    SetTabIndex(NTo);
  