public override GameObject GetHeaderWidget(GameObject parent)
    {
        ToolTip    tooltip   = null;
        GameObject widget_go = Util.KInstantiateUI(prefab_header_portrait_checkbox, parent, true);

        tooltip = widget_go.GetComponent <ToolTip>();
        HierarchyReferences component = widget_go.GetComponent <HierarchyReferences>();

        if ((UnityEngine.Object)tooltip == (UnityEngine.Object)null && (UnityEngine.Object)component != (UnityEngine.Object)null && component.HasReference("ToolTip"))
        {
            tooltip = (component.GetReference("ToolTip") as ToolTip);
        }
        tooltip.OnToolTip = (() => GetTooltip(tooltip));
        MultiToggle obj = component.GetReference("Toggle") as MultiToggle;

        obj.onClick = (System.Action)Delegate.Combine(obj.onClick, (System.Action) delegate
        {
            on_press_action(widget_go);
        });
        MultiToggle componentInChildren = widget_go.GetComponentInChildren <MultiToggle>();
        MultiToggle multiToggle         = componentInChildren;

        multiToggle.onClick = (System.Action)Delegate.Combine(multiToggle.onClick, (System.Action) delegate
        {
            screen.SetSortComparison(sort_comparer, this);
            screen.SortRows();
        });
        ToolTip sort_tooltip = componentInChildren.GetComponent <ToolTip>();

        sort_tooltip.OnToolTip = (() => GetSortTooltip(sort_tooltip));
        column_sort_toggle     = widget_go.GetComponentInChildren <MultiToggle>();
        return(widget_go);
    }