Ejemplo n.º 1
0
    protected override float GetCustomRowHeight(int row, TreeViewItem item)
    {
        BugTrackerTreeItem itm = item as BugTrackerTreeItem;

        if (itm.isDescription)
        {
            BugReporterPlugin.IssueEntry issue = BugReporterPlugin.issues[itm.issueID];
            float h = _descriptionStyle.CalcHeight(new GUIContent(issue.description), Screen.width);
            //add space for a row of buttons
            h += BUTTON_ROW_HEIGHT;
            return(h);
        }

        return(base.GetCustomRowHeight(row, item));
    }
Ejemplo n.º 2
0
    protected override TreeViewItem BuildRoot()
    {
        TreeViewItem root = new TreeViewItem();

        root.depth    = -1;
        root.id       = -1;
        root.parent   = null;
        root.children = new List <TreeViewItem>();

        int uniqueId = 0;

        for (int i = 0; i < BugReporterPlugin.issues.Count; ++i)
        {
            BugTrackerTreeItem itm = new BugTrackerTreeItem(uniqueId);
            uniqueId += 1;

            itm.depth         = 0;
            itm.issueID       = i;
            itm.entry         = BugReporterPlugin.issues[i];
            itm.isDescription = false;

            if (BugReporterPlugin.issues[i].description != "")
            {
                BugTrackerTreeItem descItm = new BugTrackerTreeItem(uniqueId);
                uniqueId += 1;

                descItm.depth         = 1;
                descItm.issueID       = i;
                descItm.entry         = itm.entry;
                descItm.isDescription = true;

                itm.AddChild(descItm);
            }

            root.AddChild(itm);
        }

        return(root);
    }
Ejemplo n.º 3
0
    object GetKeyToCompare(BugTrackerTreeItem item, int column)
    {
        switch (column)
        {
        case 1:
            return(item.entry.title);

        case 2:
            return(item.entry.assigneesString);

        case 3:
            return(item.entry.labelsString);

        case 4:
            return(item.entry.severity);

        default:
            break;
        }

        return(null);
    }
Ejemplo n.º 4
0
    protected override void RowGUI(RowGUIArgs args)
    {
        if (_descriptionStyle == null)
        {
            _descriptionStyle           = new GUIStyle("box");
            _descriptionStyle.alignment = TextAnchor.LowerLeft;
            _descriptionStyle.richText  = true;
            _descriptionStyle.wordWrap  = true;
        }

        BugTrackerTreeItem itm = args.item as BugTrackerTreeItem;

        BugReporterPlugin.IssueEntry issue = itm.entry;

        if (!itm.isDescription)
        {
            for (int i = 0; i < args.GetNumVisibleColumns(); ++i)
            {
                float indent = GetContentIndent(itm);
                Rect  r      = args.GetCellRect(i);
                int   column = args.GetColumn(i);
                int   idx    = column;

                switch (idx)
                {
                case 0:
                    if (_bugTrackerWindow.IsCurrentSceneIssue(issue) && GUI.Button(r, "Go"))
                    {
                        _bugTrackerWindow.GoToIssue(issue);
                    }
                    break;

                case 1:

                    r.x     += indent;
                    r.width -= indent;
                    EditorGUI.LabelField(r, issue.title);
                    break;

                case 2:
                    EditorGUI.LabelField(r, issue.assigneesString);
                    break;

                case 3:
                    EditorGUI.LabelField(r, issue.labelsString);
                    break;

                case 4:
                    EditorGUI.LabelField(r, issue.severity.ToString());
                    break;

                default:
                    break;
                }
            }
        }
        else
        {
            Rect r = args.rowRect;
            r.height -= BUTTON_ROW_HEIGHT;
            EditorGUI.LabelField(r, issue.description, _descriptionStyle);

            r.y     += r.height;
            r.height = BUTTON_ROW_HEIGHT;

            r.width = 200;
            if (GUI.Button(r, "Open in Browser"))
            {
                Application.OpenURL(issue.webUrl);
            }

            r.x += r.width;
            if (EditorGUIUtility.systemCopyBuffer == issue.webUrl)
            {
                EditorGUI.LabelField(r, "Url copied");
            }
            else if (GUI.Button(r, "Copy Url"))
            {
                EditorGUIUtility.systemCopyBuffer = issue.webUrl;
            }
        }
    }