anchor.diff:      function GetSortDirection: TSortDirection;
       procedure SetSortDirection(aDirection: TSortDirection);
       function GetRow(aIndex: Integer): TKMListRow;
  -    procedure ColumnClick(aValue: Integer);
       procedure UpdateScrollBar;
       procedure SetShowHeader(aValue: Boolean);
  +    function GetOnColumnClick: TIntegerEvent;
  +    procedure SetOnColumnClick(const Value: TIntegerEvent);
     protected
       procedure SetTop(aValue: Integer); override;
       procedure SetHeight(aValue: Integer); override;
       procedure SetEnabled(aValue: Boolean); override;
       procedure SetVisible(aValue: Boolean); override;
     public
  -    OnColumnClick: TIntegerEvent;
       constructor Create(aParent: TKMPanel; aLeft,aTop,aWidth,aHeight: Integer; aFont: TKMFont);
   
       procedure SetColumns(aFont: TKMFont; aColumns: array of string; aColumnOffsets: array of Word);
  
positive.code: function TKMColumnListBox.GetSortIndex: Integer;
  begin
    Result := fHeader.SortIndex;
  end;
  
  
  //We could process the clicks here (i.e. do the sorting inplace)
  //but there are various circumstances where plain string sorting will look wrong
  //and the listbox just misses the knowledge to do it right:
  //MP game status (sort by type), ping (sort 1>9), playercount (sort 9>1), dates (sort by TDateTime)
  //Let the UI communicate to Game and do it right
  procedure TKMColumnListBox.ColumnClick(aValue: Integer);
  begin
    if Assigned(OnColumnClick) then
      OnColumnClick(aValue);
  end;
  
  
  
negative.code:     procedure SetItemIndex(aIndex: smallint); override;
      function GetShowHeader: Boolean;
      procedure SetShowHeader(aValue: Boolean);
      function GetOnColumnClick: TIntegerEvent;
      procedure SetOnColumnClick(const Value: TIntegerEvent);
    protected
      procedure SetEnabled(aValue: Boolean); override;
      procedure SetVisible(aValue: Boolean); override;
    public
      FadeImageWhenDisabled: Boolean;
      constructor Create(aParent: TKMPanel; aLeft,aTop,aWidth,aHeight: Integer; aFont: TKMFont; aDefaultCaption: string);
      procedure Add(aItem: TKMListRow);
      procedure Clear; override;
  