anchor.diff:    protected
       function GetHint: UnicodeString; override;
     public
  +    AllowUncheck: Boolean; //Do we allow to uncheck selected element ? Usually not, but its possible
       DrawChkboxOutline: Boolean;
       LineColor: TColor4; //color of outline
       LineWidth: Byte;
  
positive.code: 
  procedure TKMRadioGroup.MouseUp(X,Y: Integer; Shift: TShiftState; Button: TMouseButton);
  var
    NewIndex: Integer;
  begin
    if (csDown in State) and (Button = mbLeft) then
    begin
      NewIndex := EnsureRange((Y-AbsTop) div Round(Height/Count), 0, Count - 1); //Clicking at wrong place can select invalid ID
      if (NewIndex <> fItemIndex) and (fItems[NewIndex].Enabled) then
      begin
        fItemIndex := NewIndex;
        if Assigned(fOnChange) then
        begin
          fOnChange(Self);
          Exit; //Don't generate OnClick after OnChanged event (esp. when reloading Game on local change)
  
negative.code:   fItemIndex := -1;
    LineWidth := 1;
    LineColor := clChkboxOutline;
    AllowUncheck := False;
  end;
  
  
  