Esempio n. 1
0
        void OnEnable()
        {
            {
                MultiColumnHeaderState newHeaderState = TaskView.CreateHeaderState();

                if (MultiColumnHeaderState.CanOverwriteSerializedFields(taskHeaderState, newHeaderState))
                {
                    MultiColumnHeaderState.OverwriteSerializedFields(taskHeaderState, newHeaderState);
                }

                taskHeaderState = newHeaderState;
            }

            MultiColumnHeader taskHeader = new MultiColumnHeader(taskHeaderState);

            taskView = new TaskView(taskViewState, taskHeader, tasks);
            taskView.taskSelected += OnTaskSelected;

            taskView.Reload();

            if (reloadingFromSerializedState)
            {
                taskView.SortRows();
            }
            else
            {
                taskHeader.ResizeToFit();
                taskHeader.SetSorting((int)TaskView.Column.Step, true);
            }

            reloadingFromSerializedState = true;

            EditorApplication.update += ProcessNextTask;
        }
Esempio n. 2
0
        void CreateTable(ProfileAnalyzerWindow profileAnalyzerWindow, List <string> threadNames, List <string> threadUINames, ThreadSelection threadSelection)
        {
            if (m_ThreadTreeViewState == null)
            {
                m_ThreadTreeViewState = new TreeViewState();
            }

            int  sortedColumn;
            bool sortAscending;

            if (m_ThreadMulticolumnHeaderState == null)
            {
                m_ThreadMulticolumnHeaderState = ThreadTable.CreateDefaultMultiColumnHeaderState(700);
                sortedColumn  = (int)ThreadTable.MyColumns.GroupName;
                sortAscending = true;
            }
            else
            {
                // Remember last sort key
                sortedColumn  = m_ThreadMulticolumnHeaderState.sortedColumnIndex;
                sortAscending = m_ThreadMulticolumnHeaderState.columns[sortedColumn].sortedAscending;
            }

            var multiColumnHeader = new MultiColumnHeader(m_ThreadMulticolumnHeaderState);

            multiColumnHeader.SetSorting(sortedColumn, sortAscending);
            multiColumnHeader.ResizeToFit();
            m_ThreadTable = new ThreadTable(m_ThreadTreeViewState, multiColumnHeader, threadNames, threadUINames, threadSelection);
        }
Esempio n. 3
0
        public void CreateFileSummaryTable()
        {
            m_FileSummaryTreeViewState          = new TreeViewState();
            m_FileSummaryMulticolumnHeaderState = FileSummaryTreeView.CreateDefaultMultiColumnHeaderState(700);

            m_FileSummaryMultiColumnHeader = new MultiColumnHeader(m_FileSummaryMulticolumnHeaderState);
            m_FileSummaryMultiColumnHeader.SetSorting((int)FileSummaryTreeView.SummaryColumns.TotalBytesRead, false);
            m_FileSummaryMultiColumnHeader.ResizeToFit();

            m_FileSummaryTableIsCreated = true;
        }
Esempio n. 4
0
        public void CreateFileAccessTable()
        {
            m_FileAccessTreeViewState          = new TreeViewState();
            m_FileAccessMulticolumnHeaderState = FileAccessTreeView.CreateDefaultMultiColumnHeaderState(700);

            m_FileAccessMultiColumnHeader = new MultiColumnHeader(m_FileAccessMulticolumnHeaderState);
            m_FileAccessMultiColumnHeader.SetSorting((int)FileAccessTreeView.FileIOColumns.Index, true);
            m_FileAccessMultiColumnHeader.ResizeToFit();

            m_FileAccessTableIsCreated = true;
        }
Esempio n. 5
0
        public void CreateAssetMarkerTable()
        {
            m_AssetMarkerTreeViewState          = new TreeViewState();
            m_AssetMarkerMulticolumnHeaderState = AssetMarkerTreeView.CreateDefaultMultiColumnHeaderState(700);

            m_AssetMarkerMultiColumnHeader = new MultiColumnHeader(m_AssetMarkerMulticolumnHeaderState);
            m_AssetMarkerMultiColumnHeader.SetSorting((int)AssetMarkerTreeView.Columns.Index, true);
            m_AssetMarkerMultiColumnHeader.ResizeToFit();

            m_AssetMarkerTableIsCreated = true;
        }
 public void RefreshSorting()
 {
     if (mHeader.sortedColumnIndex != CTL_Settings.ColumnSortIndex ||
         (CTL_Settings.ColumnSortIndex >= 0 && CTL_Settings.ColumnSortIndex < mColumns.Length && mHeader.IsSortedAscending(CTL_Settings.ColumnSortIndex) != CTL_Settings.ColumnSortAscending))
     {
         mHeader.SetSorting(CTL_Settings.ColumnSortIndex, CTL_Settings.ColumnSortAscending);
     }
     else
     {
         SetSorting(CTL_Settings.ColumnSortIndex, CTL_Settings.ColumnSortAscending);                 //CTL...force refresh
     }
 }
Esempio n. 7
0
        public ManagerListView(TreeViewState treeViewState, IEnumerable <T> data, Action <List <T> > itemSelected) : base(treeViewState)
        {
            ItemSelected += itemSelected;

            // collect up all column attribute flagged fields and properties, then cache the associated member info
            // and build up our column array for the list view
            foreach (var member in typeof(T).GetMembers(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
            {
                if (member.MemberType == MemberTypes.Field || member.MemberType == MemberTypes.Property)
                {
                    var columnAttr = member.GetCustomAttribute <ManagerListColumnAttribute>();
                    if (columnAttr != null)
                    {
                        var colState = new MultiColumnHeaderState.Column {
                            headerContent         = new GUIContent(columnAttr.HeaderName ?? member.Name),
                            headerTextAlignment   = columnAttr.HeaderAlignment,
                            canSort               = true,
                            sortedAscending       = true,
                            sortingArrowAlignment = TextAlignment.Right,
                            width                 = columnAttr.Width,
                            minWidth              = columnAttr.Width * 0.5f,
                            maxWidth              = float.MaxValue,
                            autoResize            = true,
                            allowToggleVisibility = false,
                        };
                        _columns.Add(new ColumnData {
                            Order      = columnAttr.Order,
                            State      = colState,
                            MemberInfo = member,
                        });
                    }
                }
            }
            _columns.Sort((a, b) => a.Order.CompareTo(b.Order));

            var headerState = new MultiColumnHeaderState(_columns.Select(c => c.State).ToArray());

            multiColumnHeader = new MultiColumnHeader(headerState);
            multiColumnHeader.SetSorting(0, true);
            multiColumnHeader.sortingChanged += SortingChanged;
            showAlternatingRowBackgrounds     = true;
            showBorder = true;

            SetData(data);
            if (GetRows().Count > 0)
            {
                SetSelection(new List <int> {
                    0
                }, TreeViewSelectionOptions.FireSelectionChanged);
            }
        }
Esempio n. 8
0
        //==============================================================================
        // 関数
        //==============================================================================
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public BookmarkTreeView
        (
            TreeViewState state,
            MultiColumnHeader header
        ) : base(state, header)
        {
            rowHeight = 16;
            showAlternatingRowBackgrounds = true;
            header.sortingChanged        += SortItems;

            header.ResizeToFit();
            Reload();
            header.SetSorting(0, true);
        }
        void CreateTable(ProfileAnalyzerWindow profileAnalyzerWindow, List <string> threadNames, List <string> threadUINames, ThreadSelection threadSelection)
        {
            if (m_ThreadTreeViewState == null)
            {
                m_ThreadTreeViewState = new TreeViewState();
            }

            m_ThreadMulticolumnHeaderState = ThreadTable.CreateDefaultMultiColumnHeaderState(700);

            var multiColumnHeader = new MultiColumnHeader(m_ThreadMulticolumnHeaderState);

            multiColumnHeader.SetSorting((int)ThreadTable.MyColumns.ThreadName, true);
            multiColumnHeader.ResizeToFit();
            m_ThreadTable = new ThreadTable(m_ThreadTreeViewState, multiColumnHeader, threadNames, threadUINames, threadSelection);
        }
Esempio n. 10
0
        private void CreateTestListTable()
        {
            if (m_testListTreeViewState == null)
            {
                m_testListTreeViewState = new TreeViewState();
            }

            //if (m_profileMulticolumnHeaderState==null)
            m_testListMulticolumnHeaderState = TestListTable.CreateDefaultMultiColumnHeaderState(700);

            var multiColumnHeader = new MultiColumnHeader(m_testListMulticolumnHeaderState);

            multiColumnHeader.SetSorting((int)TestListTable.MyColumns.Name, false);
            multiColumnHeader.ResizeToFit();
            m_testListTable = new TestListTable(m_testListTreeViewState, multiColumnHeader, this);
        }
        void CreateTable(ProjectAuditorWindow projectAuditorWindow, TreeViewSelection selection, string[] names)
        {
            if (m_TreeViewState == null)
            {
                m_TreeViewState = new TreeViewState();
            }

            MultiSelectionTable.HeaderData[] headerData = new MultiSelectionTable.HeaderData[]
            {
                new MultiSelectionTable.HeaderData("Assembly", "Assembly Name", 350, 100, true, false),
                new MultiSelectionTable.HeaderData("Show", "Check to show this assembly in the analysis views", 40, 100, false, false),
                new MultiSelectionTable.HeaderData("Group", "Assembly Group", 100, 100, true, false),
            };
            m_MultiColumnHeaderState = MultiSelectionTable.CreateDefaultMultiColumnHeaderState(headerData);

            var multiColumnHeader = new MultiColumnHeader(m_MultiColumnHeaderState);

            multiColumnHeader.SetSorting((int)MultiSelectionTable.MyColumns.ItemName, true);
            multiColumnHeader.ResizeToFit();
            m_MultiSelectionTable = new MultiSelectionTable(m_TreeViewState, multiColumnHeader, names, selection);
        }