//HELP AREA
        void DoFooter(Rect helpRect, Event e)
        {
            helpRectRequiredHeight = 0;
            var hoveringNode = hoveringIndex >= 0 && currentNode.children.Count > 0 ? currentNode.children.Values.ToList()[hoveringIndex] : null;

            GUI.color = new Color(0, 0, 0, 0.3f);
            Styles.Draw(helpRect, GUI.skin.textField);
            GUI.color = Color.white;
            GUILayout.BeginArea(helpRect);
            GUILayout.BeginVertical();
            var doc = string.Empty;

            if (hoveringNode != null && hoveringNode.isLeaf)
            {
                doc = hoveringNode.item.content.tooltip;
                var memberInfo = hoveringNode.item.userData as MemberInfo;
                if (memberInfo != null && string.IsNullOrEmpty(doc))
                {
                    if (memberInfo is System.Type)
                    {
                        doc = TypePrefs.GetTypeDoc(memberInfo);
                    }
                    else
                    {
                        doc = XMLDocs.GetMemberSummary(memberInfo);
                    }
                }
            }

            GUILayout.Label(string.Format("<size=9>{0}</size>", doc), helpStyle);
            GUILayout.EndVertical();
            GUILayout.EndArea();
        }
示例#2
0
        ///<summary>Get documentation for type fetched either by the [Description] attribute, or it's xml doc.</summary>
        public static string GetTypeDoc(MemberInfo info)
        {
            if (info == null)
            {
                return(null);
            }
            var type = info is Type ? info as Type : info.ReflectedType;

            if (type == null)
            {
                return(null);
            }

            string doc = null;

            if (typeDocs.TryGetValue(type.FullName, out doc))
            {
                return(doc);
            }

            var descAtt = type.RTGetAttribute <DescriptionAttribute>(true);

            if (descAtt != null)
            {
                doc = descAtt.description;
            }

            if (doc == null)
            {
                doc = XMLDocs.GetMemberSummary(type);
            }

            if (doc == null)
            {
                doc = "No Documentation";
            }

            return(typeDocs[type.FullName] = doc);
        }