public virtual void Create(ViewDescriptor descriptor, IssueLayout layout, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
        {
            m_Desc        = descriptor;
            m_Config      = config;
            m_Preferences = prefs;
            m_Filter      = filter;
            m_Layout      = layout;

            if (m_Table != null)
            {
                return;
            }

            var state   = new TreeViewState();
            var columns = new MultiColumnHeaderState.Column[layout.properties.Length];

            for (var i = 0; i < layout.properties.Length; i++)
            {
                var property = layout.properties[i];

                var width = 80;
                switch (property.type)
                {
                case PropertyType.Description:
                    width = 300;
                    break;

                case PropertyType.Path:
                    width = 500;
                    break;

                case PropertyType.Severity:
                    width = 24;
                    break;
                }

                columns[i] = new MultiColumnHeaderState.Column
                {
                    headerContent = new GUIContent(property.name, layout.properties[i].longName),
                    width         = width,
                    minWidth      = 20,
                    autoResize    = true
                };
            }

            m_Table = new IssueTable(state,
                                     new MultiColumnHeader(new MultiColumnHeaderState(columns)),
                                     m_Desc,
                                     layout,
                                     m_Config,
                                     m_Filter);

            if (m_Desc.showDependencyView)
            {
                m_DependencyView = new DependencyView(new TreeViewState(), m_Desc.onDoubleClick);
            }

            SetFlatView(m_FlatView);
        }
Exemple #2
0
        public void CreateTable(AnalysisViewDescriptor desc, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
        {
            m_Desc        = desc;
            m_Config      = config;
            m_Preferences = prefs;
            m_Filter      = filter;

            if (m_Table != null)
            {
                return;
            }

            var state   = new TreeViewState();
            var columns = new MultiColumnHeaderState.Column[m_Desc.columnTypes.Length];

            for (var i = 0; i < columns.Length; i++)
            {
                var columnType = m_Desc.columnTypes[i];

                ColumnDescriptor style;
                if (columnType == IssueTable.ColumnType.Description && m_Desc.descriptionColumnStyle.Content != null)
                {
                    style = m_Desc.descriptionColumnStyle;
                }
                else if (columnType < IssueTable.ColumnType.Custom)
                {
                    style = Styles.Columns[(int)columnType];
                }
                else
                {
                    style = m_Desc.customColumnStyles[columnType - IssueTable.ColumnType.Custom];
                }

                columns[i] = new MultiColumnHeaderState.Column
                {
                    headerContent = style.Content,
                    width         = style.Width,
                    minWidth      = style.MinWidth,
                    autoResize    = true
                };
            }

            m_Table = new IssueTable(state,
                                     new MultiColumnHeader(new MultiColumnHeaderState(columns)),
                                     m_Desc,
                                     m_Config,
                                     m_Filter);

            if (m_Desc.showDependencyView)
            {
                m_DependencyView = new DependencyView(new TreeViewState(), m_Desc.onDoubleClick);
            }
        }
        public void CreateTable(Preferences prefs)
        {
            if (m_Table != null)
            {
                return;
            }

            var state   = new TreeViewState();
            var columns = new MultiColumnHeaderState.Column[m_Desc.columnDescriptors.Length];

            for (var i = 0; i < columns.Length; i++)
            {
                var columnEnum = m_Desc.columnDescriptors[i];

                ColumnStyle style;
                if (columnEnum < IssueTable.Column.Custom)
                {
                    style = Styles.Columns[(int)columnEnum];
                }
                else
                {
                    style = m_Desc.costumColumnStyles[columnEnum - IssueTable.Column.Custom];
                }

                columns[i] = new MultiColumnHeaderState.Column
                {
                    headerContent = style.Content,
                    width         = style.Width,
                    minWidth      = style.MinWidth,
                    autoResize    = true
                };
            }

            m_Table = new IssueTable(state,
                                     new MultiColumnHeader(new MultiColumnHeaderState(columns)),
                                     m_Desc,
                                     m_Config,
                                     prefs,
                                     m_Filter);

            if (m_Desc.showDependencyView)
            {
                m_DependencyView = new DependencyView(new TreeViewState(), m_Desc.onDoubleClick);
            }
        }