public void OnGUI()
        {
            GUILayout.Label("Analytics.Milestone.Progress".Traslate());

            EditorGUI.BeginChangeCheck();
            var newProgressType =
                (Completable.Progress.ProgressType)EditorGUILayout.Popup((int)progress.getType(),
                                                                         milestoneTypeTexts.Traslate());

            if (EditorGUI.EndChangeCheck())
            {
                progress.setType(newProgressType);
            }

            if (progress.getType() != currentMode)
            {
                currentMode = progress.getType();
                switch (currentMode)
                {
                default:     // ProgressType.SUM:
                    if (progressList.Columns.Contains(progressColumn))
                    {
                        progressList.Columns.Remove(progressColumn);
                    }
                    break;

                case Completable.Progress.ProgressType.SPECIFIC:
                    if (!progressList.Columns.Contains(progressColumn))
                    {
                        progressList.Columns.Add(progressColumn);
                    }
                    break;
                }
            }

            progressList.SetData(progress, (p) =>
            {
                var progressDataControl = p as ProgressDataControl;
                return(progressDataControl == null ? new List <DataControl>() : progressDataControl.getMilestones().ConvertAll(m => m as DataControl));
            });
            progressList.DoList(position.height - 55);
        }