Esempio n. 1
0
        public AssetAuditTreeView(TreeViewState state, MultiColumnHeader multicolumnHeader, TreeModel <AssetAuditTreeElement> model, Action <AssetAuditTreeElement> ruleFixEvent) : base(state, multicolumnHeader, model)
        {
            _ruleFixEvent = ruleFixEvent;

            // Custom setup
            rowHeight = kRowHeights;
            columnIndexForTreeFoldouts    = 0;
            showAlternatingRowBackgrounds = true;
            showBorder                   = true;
            customFoldoutYOffset         = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
            extraSpaceBeforeIconAndLabel = kIconWidth;
            Reload();
        }
Esempio n. 2
0
            public ConflictListView(TreeViewState state,
                                    MultiColumnHeader multicolumnHeader,
                                    List <ShortcutEntry> entries)
                : base(state, multicolumnHeader)
            {
                rowHeight = 20;
                showAlternatingRowBackgrounds = true;
                showBorder = true;

                m_Entries = entries;

                Reload();
            }
Esempio n. 3
0
    public DsgVarsTreeView(TreeViewState state, MultiColumnHeader multicolumnHeader, TreeModel <DsgVarsTreeElement> model) : base(state, multicolumnHeader, model)
    {
        // Custom setup
        rowHeight = kRowHeights;
        columnIndexForTreeFoldouts    = 0;
        showAlternatingRowBackgrounds = true;
        showBorder                   = true;
        customFoldoutYOffset         = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
        extraSpaceBeforeIconAndLabel = kToggleWidth;
        multiColumnHeader.canSort    = false;

        Reload();
    }
Esempio n. 4
0
        void ClearData()
        {
            m_AssetMarkerTreeViewState          = null;
            m_AssetMarkerMulticolumnHeaderState = null;
            m_AssetMarkerTreeView          = null;
            m_AssetMarkerMultiColumnHeader = null;
            m_AssetMarkerTableIsCreated    = false;
            m_CaptureData = new AssetCaptureData();
            DataPulled    = false;

            // Once there is no data, this will not need to be called again
            ProfilerDriver.profileCleared -= ClearData;
        }
Esempio n. 5
0
 public IssueTable(TreeViewState state, MultiColumnHeader multicolumnHeader,
                   AnalysisViewDescriptor desc, ProjectAuditorConfig config,
                   IProjectIssueFilter filter) : base(state,
                                                      multicolumnHeader)
 {
     m_Config   = config;
     m_Filter   = filter;
     m_Desc     = desc;
     m_FlatView = !desc.groupByDescription;
     m_NextId   = k_FirstId;
     m_FontSize = Preferences.k_MinFontSize;
     multicolumnHeader.sortingChanged += OnSortingChanged;
 }
        public BuildReportTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, BuildReport report) : base(state, multiColumnHeader)
        {
            showBorder = true;
            showAlternatingRowBackgrounds     = true;
            multiColumnHeader.sortingChanged += OnSortingChanged;

            this.report = report;

            if (report != null && report.summary.result == BuildResult.Succeeded)
            {
                Reload();
            }
        }
Esempio n. 7
0
 public IssueTable(TreeViewState state, MultiColumnHeader multicolumnHeader,
                   AnalysisViewDescriptor desc, ProjectAuditorConfig config,
                   Preferences preferences,
                   IProjectIssueFilter filter) : base(state,
                                                      multicolumnHeader)
 {
     m_Config      = config;
     m_Preferences = preferences;
     m_Filter      = filter;
     m_Desc        = desc;
     m_NextId      = 1;
     multicolumnHeader.sortingChanged += OnSortingChanged;
 }
Esempio n. 8
0
        public PrefabsListTreeView(TreeViewState state, MultiColumnHeader multicolumnHeader, TreeModel <PrefabsListElement> model) : base(state, multicolumnHeader, model)
        {
            Assert.AreEqual(m_SortOptions.Length, Enum.GetValues(typeof(Columns)).Length, "Ensure number of sort options are in sync with number of MyColumns enum values");

            rowHeight = 20f;
            columnIndexForTreeFoldouts    = 0;
            showAlternatingRowBackgrounds = true;
            showBorder                        = true;
            customFoldoutYOffset              = (20f - EditorGUIUtility.singleLineHeight) * 0.5f;
            extraSpaceBeforeIconAndLabel      = 18f;
            multicolumnHeader.sortingChanged += OnSortingChanged;
            Reload();
        }
        MessagePipeDiagnosticsInfoTreeView(TreeViewState state, MultiColumnHeader header)
            : base(state, header)
        {
            rowHeight = 20;
            showAlternatingRowBackgrounds = true;
            showBorder             = true;
            header.sortingChanged += Header_sortingChanged;

            header.ResizeToFit();
            Reload();

            header.sortedColumnIndex = SessionState.GetInt(sortedColumnIndexStateKey, 1);
        }
Esempio n. 10
0
        public PathHierarchyTreeView(TreeViewState state, MultiColumnHeader multicolumnHeader, TreeModel <PathHierarchyElement> model) : base(state, multicolumnHeader, model)
        {
            Assert.AreEqual(m_SortOptions.Length, Enum.GetValues(typeof(Columns)).Length, "Ensure number of sort options are in sync with number of MyColumns enum values");

            rowHeight = kRowHeights;
            columnIndexForTreeFoldouts    = 0;
            showAlternatingRowBackgrounds = true;
            showBorder                        = true;
            customFoldoutYOffset              = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
            extraSpaceBeforeIconAndLabel      = kToggleWidth;
            multicolumnHeader.sortingChanged += OnSortingChanged;
            Reload();
        }
Esempio n. 11
0
        private void SetColumns <T>(Dictionary <T, ColumnInfo> columnInfos, T[] displayColumns) where T : Enum
        {
            var columns = new MultiColumnHeaderState.Column[displayColumns.Length];

            for (var i = 0; i < displayColumns.Length; i++)
            {
                var displayColumn = displayColumns[i];

                var columnInfo = columnInfos.GetValueOrDefault(displayColumn);

                if (columnInfo == null)
                {
                    continue;
                }

                var column = new MultiColumnHeaderState.Column();

                column.headerContent = new GUIContent(columnInfo.LabelName);

                if (columnWidthCache.ContainsKey(columnInfo.LabelName))
                {
                    column.width = columnWidthCache[columnInfo.LabelName];
                }
                else
                {
                    var size = MultiColumnHeader.DefaultStyles.columnHeader.CalcSize(column.headerContent);

                    column.width = size.x;
                }

                if (columnInfo.FixedWidth.HasValue)
                {
                    column.width    = columnInfo.FixedWidth.Value;
                    column.minWidth = column.width;
                    column.maxWidth = column.width;
                }

                column.headerTextAlignment = TextAlignment.Center;
                column.autoResize          = false;

                columns[i] = column;
            }

            multiColumnHeader = new MultiColumnHeader(new MultiColumnHeaderState(columns));

            multiColumnHeader.sortingChanged += OnSortingChanged;

            multiColumnHeader.ResizeToFit();

            Reload();
        }
Esempio n. 12
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. 13
0
        internal void Init(IConflictResolver conflictResolver, IEnumerable <KeyCombination> keyCombinationSequence, IEnumerable <ShortcutEntry> entries, GUIView previouslyFocusedView)
        {
            m_PreviouslyFocusedView = previouslyFocusedView;
            m_ConflictResolver      = conflictResolver;
            m_Entries = entries.ToList();

            var multiColumnHeader = new MultiColumnHeader(m_MulticolumnHeaderState);

            multiColumnHeader.ResizeToFit();
            m_ConflictListView = new ConflictListView(m_TreeViewState, multiColumnHeader, m_Entries);


            m_Header = string.Format(L10n.Tr("The binding \"{0}\" conflicts with multiple commands."), KeyCombination.SequenceToString(keyCombinationSequence));
        }
Esempio n. 14
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);
        }
        public BehaviorTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, BehaviorTreeModel <T> model)
            : base(state, multiColumnHeader)
        {
            Init(model);

            rowHeight = ROW_HEIGHTS;
            columnIndexForTreeFoldouts    = 1;
            showAlternatingRowBackgrounds = true;
            showBorder                   = true;
            customFoldoutYOffset         = (ROW_HEIGHTS - EditorGUIUtility.singleLineHeight) * 0.5f;
            extraSpaceBeforeIconAndLabel = TOGGLE_WIDTH;

            Reload();
        }
Esempio n. 16
0
        /// <summary>
        /// ソート
        /// </summary>
        private void SortItem(MultiColumnHeader multiColumnHeader)
        {
            var type      = (ColumnType)multiColumnHeader.sortedColumnIndex;
            var isReverce = multiColumnHeader.IsSortedAscending(multiColumnHeader.sortedColumnIndex);

            m_isReverce  = isReverce;
            m_columnType = type;


            var items = rootItem.children.Cast <JobTreeItem>();

            rootItem.children = ToSort(items, type, isReverce);
            BuildRows(rootItem);
        }
Esempio n. 17
0
        public BundleTree(TreeViewState treeViewState, MultiColumnHeader multiColumnHeader,
                          bool loadBundlesFromConfig, string bundleConfigPath)
            : base(treeViewState, multiColumnHeader)
        {
            InitStyles();

            SetIcons();

            #region TreeView设置
            baseIndent = 0;
            cellMargin = 5;
            columnIndexForTreeFoldouts = 0;
            //depthIndentWidth (get only)
            extraSpaceBeforeIconAndLabel = 0;
            //foldoutWidth (get only)
            //hasSearch (get only)
            //isDragging (get only)
            //isInitialized (get only)
            //base.multiColumnHeader
            //rootItem (get only)
            rowHeight            = 20;
            customFoldoutYOffset = (rowHeight - EditorGUIUtility.singleLineHeight) * 0.5f;
            //searchString
            showAlternatingRowBackgrounds = true;
            showBorder = true;
            //showingHorizontalScrollBar (get only)
            //showingVerticalScrollBar (get only)
            //state (get only)
            //totalHeight (get only)
            //treeViewControlID
            //treeViewRect
            #endregion

            #region MultiColumnHeader设置
            base.multiColumnHeader.canSort = false;
            //base.multiColumnHeader.height = 25;
            base.multiColumnHeader.sortedColumnIndex = -1;
            //base.multiColumnHeader.sortingChanged += OnSortingChanged;
            #endregion

            bundleDic        = new BundleTreeItemDictionary();
            folderDic        = new BundleTreeItemDictionary();
            checkFailedItems = new List <BundleTreeItem>();

            LoadBundlesFromConfig = loadBundlesFromConfig;
            BundleConfigPath      = bundleConfigPath;

            Reload();
            multiColumnHeader.ResizeToFit();
        }
Esempio n. 18
0
 public UMAAssetTreeView(AssetIndexerWindow owner, TreeViewState state, MultiColumnHeader multiColumnHeader, TreeModel <AssetTreeElement> model) : base(state, multiColumnHeader, model)
 {
     owningWindow = owner;
     rowHeight    = kRowHeights;
     columnIndexForTreeFoldouts    = 1;
     showAlternatingRowBackgrounds = true;
     showBorder                   = true;
     customFoldoutYOffset         = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f;     // center foldout in the row since we also center content. See RowGUI
     extraSpaceBeforeIconAndLabel = kToggleWidth;
     //multiColumnHeader.sortingChanged += OnSortingChanged;
     //	var myColumnHeader = (MyMultiColumnHeader)treeView.multiColumnHeader;
     //this.multiColumnHeader.mode = MyMultiColumnHeader.Mode.MinimumHeaderWithoutSorting;
     Reload();
 }
Esempio n. 19
0
        public AssetsTreeView(TreeViewState treeViewState, MultiColumnHeader multiColumnHeader, ModuleConfig moduleConfig, StateConfig stateConfig) : base(treeViewState, multiColumnHeader)
        {
            this.moduleConfig = moduleConfig;
            this.stateConfig  = stateConfig;

            #region TreeView设置
            baseIndent = 0;
            cellMargin = 2;
            columnIndexForTreeFoldouts = 1;
            //depthIndentWidth (get only)
            extraSpaceBeforeIconAndLabel = 0;
            //foldoutWidth (get only)
            //hasSearch (get only)
            //isDragging (get only)
            //isInitialized (get only)
            //base.multiColumnHeader
            //rootItem (get only)
            rowHeight            = 20;
            customFoldoutYOffset = (rowHeight - EditorGUIUtility.singleLineHeight) * 0.5f;
            //searchString
            showAlternatingRowBackgrounds = true;
            showBorder = true;
            //showingHorizontalScrollBar (get only)
            //showingVerticalScrollBar (get only)
            //state (get only)
            //totalHeight (get only)
            //treeViewControlID
            //treeViewRect
            #endregion

            #region MultiColumnHeader设置
            base.multiColumnHeader.canSort = false;
            //base.multiColumnHeader.height = 25;
            base.multiColumnHeader.sortedColumnIndex = -1;
            //base.multiColumnHeader.sortingChanged += OnSortingChanged;
            #endregion

            emptyTexture = new Texture2D(1, 1, TextureFormat.RGBA32, false)
            {
                wrapMode   = TextureWrapMode.Clamp,
                filterMode = FilterMode.Point,
                anisoLevel = 1,
                mipMapBias = 0,
            };
            emptyTexture.SetPixel(0, 0, new Color(0, 0, 0, 0));
            emptyTexture.Apply();

            multiColumnHeader.ResizeToFit();
            Reload();
        }
Esempio n. 20
0
        public AddressableLocalesProviderListView() :
            base(new TreeViewState())
        {
            showBorder = true;
            showAlternatingRowBackgrounds = true;

            var columns = new[]
            {
                new MultiColumnHeaderState.Column()
                {
                    headerContent       = new GUIContent("Name"),
                    minWidth            = 100,
                    headerTextAlignment = TextAlignment.Center,
                    canSort             = true
                },

                new MultiColumnHeaderState.Column()
                {
                    headerContent       = new GUIContent("Code"),
                    minWidth            = 50,
                    headerTextAlignment = TextAlignment.Center,
                    canSort             = true
                },

                new MultiColumnHeaderState.Column()
                {
                    headerContent       = new GUIContent("Id"),
                    minWidth            = 50,
                    headerTextAlignment = TextAlignment.Center,
                    canSort             = true
                },

                new MultiColumnHeaderState.Column()
                {
                    headerContent       = new GUIContent("Fallback"),
                    minWidth            = 50,
                    headerTextAlignment = TextAlignment.Center,
                    canSort             = false
                },
            };

            var multiColState = new MultiColumnHeaderState(columns);

            multiColState.visibleColumns = new[] { (int)Column.Name, (int)Column.Fallback };
            multiColumnHeader            = new MultiColumnHeader(multiColState);
            multiColumnHeader.ResizeToFit();
            multiColumnHeader.sortingChanged += mch => Reload();
            Reload();
        }
Esempio n. 21
0
        internal UpdateReportListView(
            WorkspaceInfo wkInfo,
            UpdateReportListHeaderState headerState,
            Action onCheckedReportLineChanged)
            : base(new TreeViewState())
        {
            mWkInfo = wkInfo;
            mOnCheckedReportLineChanged = onCheckedReportLineChanged;

            multiColumnHeader         = new MultiColumnHeader(headerState);
            multiColumnHeader.canSort = false;

            rowHeight = UnityConstants.TREEVIEW_ROW_HEIGHT;
            showAlternatingRowBackgrounds = true;
        }
Esempio n. 22
0
        public FolderTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, TreeModel <FolderElement> model)
            : base(state, multiColumnHeader, model)
        {
            // Custom setup
            rowHeight = kRowHeights;
            columnIndexForTreeFoldouts    = 0;
            showAlternatingRowBackgrounds = true;
            showBorder                   = true;
            customFoldoutYOffset         = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
            extraSpaceBeforeIconAndLabel = kIconWidth;

            aiw = AssetImporterWindow.Instance;

            this.Reload();
        }
        public LocalizationTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader) : base(state, multiColumnHeader)
        {
            m_TextAreaStyle          = new GUIStyle(EditorStyles.textArea);
            m_TextAreaStyle.wordWrap = true;

            rowHeight = RowHeight;
            columnIndexForTreeFoldouts    = 1;
            showAlternatingRowBackgrounds = true;
            showBorder = true;

            // Center foldout in the row since we also center content. See RowGUI.
            customFoldoutYOffset      = (RowHeight - EditorGUIUtility.singleLineHeight) * 0.5f;
            multiColumnHeader.canSort = false;
            Reload();
        }
        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. 25
0
    public ToggleTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, Func <T> rebuildRoot)
        : base(state, multiColumnHeader)
    {
        m_RebuildRoot = rebuildRoot;
        columnIndexForTreeFoldouts = 1;
        useScrollView             = false;
        multiColumnHeader.canSort = false;
        multiColumnHeader.height  = 18f;
        showBorder = true;
        showAlternatingRowBackgrounds = true;

        foldoutOverride = DoFoldoutButtonOverride;

        Reload();
    }
Esempio n. 26
0
        //==============================================================================
        // 関数
        //==============================================================================
        public UniSymbolTreeView
        (
            TreeViewState state,
            MultiColumnHeader header,
            IReadOnlyList <UniSymbolItem> list
        ) : base(state, header)
        {
            rowHeight = 16;
            showAlternatingRowBackgrounds = true;
            header.sortingChanged        += SortItems;
            m_list = list;

            header.ResizeToFit();
            Reload();
        }
Esempio n. 27
0
        public MuscleTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, HumanPose humanPose,
                              HumanPoseHandler humanPoseHandler) : base(state, multiColumnHeader)
        {
            this.rowHeight = 20;
            this.showAlternatingRowBackgrounds = true;
            this.showBorder = true;

            this.humanPose        = humanPose;
            this.humanPoseHandler = humanPoseHandler;

            this.initialHumanPoseValues = humanPose.muscles.ToArray();

            multiColumnHeader.ResizeToFit();
            this.Reload();
        }
        public AssetTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, TreeModel <AssetElement> model) :
            base(state, multiColumnHeader, model)
        {
            assetTreeModel = model as AssetTreeModel;

            rowHeight = kRowHeights;
            columnIndexForTreeFoldouts    = 1;
            showAlternatingRowBackgrounds = true;
            showBorder                        = true;
            customFoldoutYOffset              = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
            extraSpaceBeforeIconAndLabel      = kToggleWidth;
            multiColumnHeader.sortingChanged += OnSortingChanged;

            Reload();
        }
Esempio n. 29
0
        public MultiColumnListView(TreeViewState state, MultiColumnHeader multicolumnHeader, ListModel model, SerializedObjectEntry genericSerializedData) : base(state, multicolumnHeader, model)
        {
            this.genericSerializedData = genericSerializedData;

            // Custom setup
            rowHeight = kRowHeights;
            columnIndexForTreeFoldouts    = 0;
            showAlternatingRowBackgrounds = true;
            showBorder                        = true;
            customFoldoutYOffset              = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
            extraSpaceBeforeIconAndLabel      = kToggleWidth;
            multicolumnHeader.sortingChanged += OnSortingChanged;

            Reload();
        }
 public UnityObjectTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, string sortedColumnIndexStateKey, Func <IEnumerable <TreeViewItem> > GetItems, Action <T> ModifiedItem = null, bool canUndo = true) : base(state, multiColumnHeader)
 {
     showAlternatingRowBackgrounds = true;
     showBorder = true;
     rowHeight  = EditorGUIUtility.singleLineHeight;
     multiColumnHeader.sortingChanged        += OnSortingChanged;
     multiColumnHeader.visibleColumnsChanged += OnVisibleColumnChanged;
     multiColumnHeader.sortedColumnIndex      = SessionState.GetInt(sortedColumnIndexStateKey, -1);
     this.sortedColumnIndexStateKey           = sortedColumnIndexStateKey;
     this.GetItems     = GetItems;
     this.ModifiedItem = ModifiedItem;
     this.canUndo      = canUndo;
     m_Items           = null;
     Reload();
 }