Ejemplo n.º 1
0
        private static MultiColumnHeaderState.Column[] GetColumns()
        {
            var retVal = new MultiColumnHeaderState.Column[] {
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column()
            };

            retVal[0].headerContent       = new GUIContent("Asset", "Short name of asset. For full name select asset and see message below");
            retVal[0].minWidth            = 50;
            retVal[0].width               = 200;
            retVal[0].maxWidth            = 300;
            retVal[0].headerTextAlignment = TextAlignment.Left;
            retVal[0].canSort             = true;
            retVal[0].autoResize          = true;

            retVal[1].headerContent       = new GUIContent("Variant", "Variant name");
            retVal[1].minWidth            = 50;
            retVal[1].width               = 100;
            retVal[1].maxWidth            = 300;
            retVal[1].headerTextAlignment = TextAlignment.Left;
            retVal[1].canSort             = true;
            retVal[1].autoResize          = true;

            retVal[2].headerContent       = new GUIContent("Size", "Size on disk");
            retVal[2].minWidth            = 30;
            retVal[2].width               = 75;
            retVal[2].maxWidth            = 100;
            retVal[2].headerTextAlignment = TextAlignment.Left;
            retVal[2].canSort             = true;
            retVal[2].autoResize          = true;

            return(retVal);
        }
Ejemplo n.º 2
0
        public void UpdateColumnSettings(int columnIndex, MultiColumnHeaderState.Column columnSettings)
        {
            if (m_TableConfig == null || columnIndex >= m_TableConfig.columns.Length)
            {
                return;
            }

            var searchColumn = m_TableConfig.columns[columnIndex];

            searchColumn.width    = columnSettings.width;
            searchColumn.content  = columnSettings.headerContent;
            searchColumn.options &= ~SearchColumnFlags.TextAligmentMask;
            switch (columnSettings.headerTextAlignment)
            {
            case TextAlignment.Left: searchColumn.options |= SearchColumnFlags.TextAlignmentLeft; break;

            case TextAlignment.Center: searchColumn.options |= SearchColumnFlags.TextAlignmentCenter; break;

            case TextAlignment.Right: searchColumn.options |= SearchColumnFlags.TextAlignmentRight; break;
            }

            SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.QuickSearchTableEditColumn, searchColumn.name, searchColumn.provider, searchColumn.selector);

            SearchColumnSettings.Save(searchColumn);
            SetDirty();
        }
    public static MultiColumnHeaderState.Column[] CreateColumnHeaders()
    {
        LCLocalizationSettings settings = LocalizationManager.Instance.GetCurrentSettings();

        MultiColumnHeaderState.Column[] columns = new MultiColumnHeaderState.Column[settings.LanguagesCount + 1];

        int i = 0;

        columns[i++] = new MultiColumnHeaderState.Column()
        {
            headerContent         = new GUIContent("Key"),
            autoResize            = true,
            allowToggleVisibility = false,
            canSort = true,
        };

        foreach (Language language in settings.GetLanguages())
        {
            columns[i++] = new MultiColumnHeaderState.Column()
            {
                headerContent         = new GUIContent(language.Name),
                autoResize            = true,
                allowToggleVisibility = true,
                canSort = false,
            };
        }

        return(columns);
    }
Ejemplo n.º 4
0
        private static MultiColumnHeaderState.Column[] GetColumns()
        {
            var retVal = new MultiColumnHeaderState.Column[] {
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
            };

            retVal[0].headerContent       = new GUIContent("Asset", "Short name of asset. For full name select asset and see message below");
            retVal[0].minWidth            = 50;
            retVal[0].width               = 140;
            retVal[0].maxWidth            = 300;
            retVal[0].headerTextAlignment = TextAlignment.Left;
            retVal[0].canSort             = true;
            retVal[0].autoResize          = true;

            retVal[1].headerContent       = new GUIContent("Type", "Asset Type");
            retVal[1].minWidth            = 35;
            retVal[1].width               = 100;
            retVal[1].maxWidth            = 200;
            retVal[1].headerTextAlignment = TextAlignment.Left;
            retVal[1].canSort             = true;
            retVal[1].autoResize          = true;

            retVal[2].headerContent       = new GUIContent("Count", "Reverse dependency count.");
            retVal[2].minWidth            = 30;
            retVal[2].width               = 75;
            retVal[2].maxWidth            = 100;
            retVal[2].headerTextAlignment = TextAlignment.Right;
            retVal[2].canSort             = true;
            retVal[2].autoResize          = true;

            return(retVal);
        }
Ejemplo n.º 5
0
        static MultiColumnHeaderState.Column[] GetColumns(AddressableAssetSettings settings)
        {
            var retVal = new MultiColumnHeaderState.Column[settings.profileSettings.profileEntryNames.Count + 1]; // account for profile name columns

            for (int i = 0; i < retVal.Length; i++)
            {
                retVal[i] = new MultiColumnHeaderState.Column();

                if (i == 0)
                {
                    retVal[i].headerContent         = new GUIContent("Profile Name", "Profile Name");
                    retVal[i].allowToggleVisibility = false;
                    retVal[i].canSort = true;
                }
                else
                {
                    retVal[i].headerContent         = new GUIContent(settings.profileSettings.profileEntryNames[i - 1].ProfileName, settings.profileSettings.profileEntryNames[i - 1].ProfileName);
                    retVal[i].allowToggleVisibility = false;
                    retVal[i].canSort = false;
                }

                retVal[i].minWidth            = 50;
                retVal[i].width               = 150;
                retVal[i].maxWidth            = 1000;
                retVal[i].headerTextAlignment = TextAlignment.Left;
                retVal[i].autoResize          = true;
            }

            return(retVal);
        }
Ejemplo n.º 6
0
            public static MultiColumnHeaderState CreateHeaderState()
            {
                MultiColumnHeaderState.Column[] columns = new MultiColumnHeaderState.Column[] {
                    new MultiColumnHeaderState.Column()
                    {
                        headerContent         = new GUIContent("Task #"),
                        width                 = 50,
                        autoResize            = false,
                        allowToggleVisibility = false,
                    },
                    new MultiColumnHeaderState.Column()
                    {
                        headerContent         = new GUIContent("Status"),
                        width                 = 100,
                        autoResize            = false,
                        allowToggleVisibility = false,
                    },
                    new MultiColumnHeaderState.Column()
                    {
                        headerContent         = new GUIContent("Platform"),
                        width                 = 150,
                        autoResize            = false,
                        allowToggleVisibility = false,
                    },
                    new MultiColumnHeaderState.Column()
                    {
                        headerContent         = new GUIContent("Description"),
                        minWidth              = 500,
                        allowToggleVisibility = false,
                    },
                };

                return(new MultiColumnHeaderState(columns));
            }
Ejemplo n.º 7
0
        protected virtual void InitializeColumns()
        {
            showBorder = true;
            showAlternatingRowBackgrounds = true;
            var columns = new MultiColumnHeaderState.Column[Tables.Count + 1];

            columns[0] = new MultiColumnHeaderState.Column()
            {
                headerContent         = new GUIContent("Key"),
                headerTextAlignment   = TextAlignment.Center,
                canSort               = true,
                allowToggleVisibility = false,
                sortedAscending       = true
            };

            // Update column labels if possible
            var locales = LocalizationAddressableSettings.GetLocales();

            for (int i = 0; i < Tables.Count; ++i)
            {
                var foundLocale = locales.FirstOrDefault(o => o.Identifier.Code == Tables[i].LocaleIdentifier.Code);
                columns[i + 1] = new MultiColumnHeaderState.Column()
                {
                    headerContent         = new GUIContent(foundLocale != null ? foundLocale.name : Tables[i].LocaleIdentifier.Code),
                    headerTextAlignment   = TextAlignment.Center,
                    canSort               = false, // TODO: Support sorting
                    allowToggleVisibility = true,
                };
            }

            var multiColState = new MultiColumnHeaderState(columns);

            multiColumnHeader = new MultiColumnHeader(multiColState);
            multiColumnHeader.ResizeToFit();
        }
Ejemplo n.º 8
0
        public LineRendererPositionsView(SerializedProperty positions) :
            base(new TreeViewState())
        {
            m_Positions = positions;
            showBorder  = true;
            showAlternatingRowBackgrounds = true;
            useScrollView = false;
            rowHeight     = EditorStyles.numberField.lineHeight;

            MultiColumnHeaderState.Column[] columns = new MultiColumnHeaderState.Column[4];
            for (int i = 0; i < columns.Length; ++i)
            {
                columns[i]                     = new MultiColumnHeaderState.Column();
                columns[i].minWidth            = 50;
                columns[i].width               = 100;
                columns[i].headerTextAlignment = TextAlignment.Center;
                columns[i].canSort             = false;
            }
            columns[0].headerContent = new GUIContent("Index");
            columns[0].width         = 50;
            columns[1].headerContent = new GUIContent("X");
            columns[2].headerContent = new GUIContent("Y");
            columns[3].headerContent = new GUIContent("Z");
            var multiColState = new MultiColumnHeaderState(columns);

            multiColumnHeader = new MultiColumnHeader(multiColState)
            {
                height = EditorGUI.kSingleLineHeight + EditorGUI.kSpacing
            };
            multiColumnHeader.ResizeToFit();
            Reload();
        }
        private static MultiColumnHeaderState CreateHeaderState()
        {
            var columns = new MultiColumnHeaderState.Column[(int)ColumnId.COUNT];

            columns[(int)ColumnId.Name] =
                new MultiColumnHeaderState.Column
            {
                width         = 120,
                minWidth      = 60,
                autoResize    = false,
                headerContent = new GUIContent("Name")
            };
            columns[(int)ColumnId.Bindings] =
                new MultiColumnHeaderState.Column
            {
                width         = 280,
                minWidth      = 60,
                headerContent = new GUIContent("Bindings")
            };
            columns[(int)ColumnId.Groups] =
                new MultiColumnHeaderState.Column
            {
                width         = 110,
                minWidth      = 60,
                headerContent = new GUIContent("Groups")
            };

            return(new MultiColumnHeaderState(columns));
        }
Ejemplo n.º 10
0
        static MultiColumnHeaderState CreateHeaderState()
        {
            var columns = new MultiColumnHeaderState.Column[(int)ColumnId.COUNT];

            columns[(int)ColumnId.Name] =
                new MultiColumnHeaderState.Column
            {
                width         = 240f,
                minWidth      = 60f,
                headerContent = EditorGUIUtility.TrTextContent("Name"),
            };
            columns[(int)ColumnId.Role] =
                new MultiColumnHeaderState.Column
            {
                width         = 200f,
                minWidth      = 60f,
                headerContent = EditorGUIUtility.TrTextContent("Role"),
            };
            columns[(int)ColumnId.Type] =
                new MultiColumnHeaderState.Column
            {
                width         = 200f,
                headerContent = EditorGUIUtility.TrTextContent("Type"),
            };
            columns[(int)ColumnId.Value] =
                new MultiColumnHeaderState.Column
            {
                width         = 200f,
                headerContent = EditorGUIUtility.TrTextContent("Value"),
            };

            return(new MultiColumnHeaderState(columns));
        }
Ejemplo n.º 11
0
            internal static MultiColumnHeaderState CreateDefaultMultiColumnHeaderState()
            {
                var retVal = new MultiColumnHeaderState.Column[3];

                retVal[0] = new MultiColumnHeaderState.Column();
                retVal[0].headerContent       = new GUIContent("Include", "Include change in Update");
                retVal[0].minWidth            = 50;
                retVal[0].width               = 50;
                retVal[0].maxWidth            = 50;
                retVal[0].headerTextAlignment = TextAlignment.Left;
                retVal[0].canSort             = true;
                retVal[0].autoResize          = true;

                retVal[1] = new MultiColumnHeaderState.Column();
                retVal[1].headerContent       = new GUIContent("Address", "Data Value");
                retVal[1].minWidth            = 300;
                retVal[1].width               = 500;
                retVal[1].maxWidth            = 1000;
                retVal[1].headerTextAlignment = TextAlignment.Left;
                retVal[1].canSort             = true;
                retVal[1].autoResize          = true;

                retVal[2] = new MultiColumnHeaderState.Column();
                retVal[2].headerContent       = new GUIContent("Path", "Asset Path");
                retVal[2].minWidth            = 300;
                retVal[2].width               = 800;
                retVal[2].maxWidth            = 1000;
                retVal[2].headerTextAlignment = TextAlignment.Left;
                retVal[2].canSort             = true;
                retVal[2].autoResize          = true;

                return(new MultiColumnHeaderState(retVal));
            }
        /** ********************************************************************************
        * @summary TreeViewのヘッダー描画
        ***********************************************************************************/
        protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
        {
            headerRect.y      += searchY;
            headerRect.height -= searchY;

            Rect searchRect = new Rect(headerRect);

            searchRect.height = searchHeight;
            searchRect.width -= searchMarginLeft + searchMarginRight;
            searchRect.x     += searchMarginLeft;

            EditorGUI.BeginChangeCheck();
            var headerState = state as TextureColumnHeaderState;
            var searchField = headerState.SearchFields[columnIndex];

            searchField.OnGUI(searchRect, headerState, columnIndex);
            if (EditorGUI.EndChangeCheck())
            {
                searchChanged?.Invoke();
                searchField.searchChanged?.Invoke();
            }

            if (canSort && column.canSort)
            {
                Rect sortRect = headerRect;
                sortRect.height = sortHeight;
                sortRect.y      = searchRect.height + searchSpace;
                SortingButton(column, sortRect, columnIndex);
            }

            Rect labelRect = new Rect(headerRect.x, headerRect.yMax - labelHeight - labelY, headerRect.width, labelHeight);

            GUI.Label(labelRect, column.headerContent, MyStyle.TreeViewColumnHeader);
        }
Ejemplo n.º 13
0
        protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
        {
            if (columnIndex == 0)
            {
                bool checkAllWasMixed = IsMixedCheckedState();
                bool checkAllWasTrue  = IsAllCheckedState();

                var checkRect = new Rect(
                    headerRect.x + UnityConstants.TREEVIEW_BASE_INDENT,
                    headerRect.y + 3 + UnityConstants.TREEVIEW_HEADER_CHECKBOX_Y_OFFSET,  // Custom offset because header labels are not centered
                    UnityConstants.TREEVIEW_CHECKBOX_SIZE,
                    headerRect.height);

                EditorGUI.showMixedValue = checkAllWasMixed;
                bool checkAllIsTrue = EditorGUI.Toggle(
                    checkRect,
                    checkAllWasTrue);
                EditorGUI.showMixedValue = false;

                if (checkAllWasTrue != checkAllIsTrue)
                {
                    UpdateCheckedState(checkAllIsTrue);
                }

                headerRect.x = checkRect.xMax;
            }

            base.ColumnHeaderGUI(column, headerRect, columnIndex);
        }
Ejemplo n.º 14
0
        private static MultiColumnHeaderState.Column[] GetColumns()
        {
            var retVal = new MultiColumnHeaderState.Column[] {
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column()
            };

            retVal[0].headerContent       = new GUIContent("Group Name", "Group name");
            retVal[0].minWidth            = 50;
            retVal[0].width               = 100;
            retVal[0].maxWidth            = 300;
            retVal[0].headerTextAlignment = TextAlignment.Left;
            retVal[0].canSort             = true;
            retVal[0].autoResize          = true;

            retVal[1].headerContent       = new GUIContent("Assets", "Number of assets in a group");
            retVal[1].minWidth            = 50;
            retVal[1].width               = 100;
            retVal[1].maxWidth            = 300;
            retVal[1].headerTextAlignment = TextAlignment.Left;
            retVal[1].canSort             = true;
            retVal[1].autoResize          = true;

            retVal[2].headerContent       = new GUIContent("Size", "Estimated size of group");
            retVal[2].minWidth            = 50;
            retVal[2].width               = 100;
            retVal[2].maxWidth            = 300;
            retVal[2].headerTextAlignment = TextAlignment.Left;
            retVal[2].canSort             = true;
            retVal[2].autoResize          = true;

            return(retVal);
        }
Ejemplo n.º 15
0
        static MultiColumnHeaderState CreateHeaderState()
        {
            var columns = new MultiColumnHeaderState.Column[(int)ColumnId.COUNT];

            columns[(int)ColumnId.Name] = new MultiColumnHeaderState.Column {
                width = 180f, minWidth = 80f, headerContent = new GUIContent("Name")
            };
            columns[(int)ColumnId.Type] = new MultiColumnHeaderState.Column {
                width = 120f, minWidth = 80f, headerContent = new GUIContent("Type")
            };
            columns[(int)ColumnId.LayerMask] = new MultiColumnHeaderState.Column {
                width = 120f, minWidth = 80f, headerContent = new GUIContent("Layer Mask")
            };
            columns[(int)ColumnId.Colliders] = new MultiColumnHeaderState.Column {
                width = 120f, minWidth = 80f, headerContent = new GUIContent("Colliders")
            };
            columns[(int)ColumnId.Hover] = new MultiColumnHeaderState.Column {
                width = 80f, minWidth = 80f, headerContent = new GUIContent("Hover")
            };
            columns[(int)ColumnId.Select] = new MultiColumnHeaderState.Column {
                width = 80f, minWidth = 80f, headerContent = new GUIContent("Select")
            };

            return(new MultiColumnHeaderState(columns));
        }
Ejemplo n.º 16
0
        static MultiColumnHeaderState CreateHeaderState()
        {
            var columns = new MultiColumnHeaderState.Column[(int)ColumnId.COUNT];

            columns[(int)ColumnId.Name] =
                new MultiColumnHeaderState.Column
            {
                width         = 240,
                minWidth      = 60,
                headerContent = new GUIContent("Name")
            };
            columns[(int)ColumnId.Role] =
                new MultiColumnHeaderState.Column
            {
                width         = 200,
                minWidth      = 60,
                headerContent = new GUIContent("Role")
            };
            columns[(int)ColumnId.Type] =
                new MultiColumnHeaderState.Column {
                width = 200, headerContent = new GUIContent("Type")
            };
            columns[(int)ColumnId.Value] =
                new MultiColumnHeaderState.Column {
                width = 200, headerContent = new GUIContent("Value")
            };

            return(new MultiColumnHeaderState(columns));
        }
Ejemplo n.º 17
0
            new void SortingButton(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
            {
                // Button logic
                if (EditorGUI.Button(headerRect, GUIContent.none, GUIStyle.none))
                {
                    ColumnHeaderClicked(column, columnIndex);
                }

                // Draw sorting arrow
                if (columnIndex == state.sortedColumnIndex && Event.current.type == EventType.Repaint)
                {
                    var    arrowRect = GetArrowRect(column, headerRect, columnIndex);
                    string arrow;

                    if (column.sortedAscending)
                    {
                        arrow = "\u25B4";
                    }
                    else
                    {
                        arrow = "\u25BE";
                    }


                    GUIStyle style = Styles.headerStyle;
                    style.fontSize *= 2;
                    GUI.Label(arrowRect, arrow, DefaultStyles.arrowStyle);
                }
            }
Ejemplo n.º 18
0
        protected virtual VisibilityToolColumnHeader SetupToolColumnHeader()
        {
            var columns = new MultiColumnHeaderState.Column[2];

            columns[0] = new MultiColumnHeaderState.Column
            {
                headerContent       = VisibilityTreeViewBase.VisibilityIconStyle.visibilityOnIcon,
                headerTextAlignment = TextAlignment.Center,
                width                 = 32,
                minWidth              = 32,
                maxWidth              = 32,
                autoResize            = false,
                allowToggleVisibility = true
            };
            columns[1] = new MultiColumnHeaderState.Column
            {
                headerContent       = EditorGUIUtility.TrTextContent(TextContent.bone),
                headerTextAlignment = TextAlignment.Center,
                width                 = 200,
                minWidth              = 130,
                autoResize            = true,
                allowToggleVisibility = false
            };
            var multiColumnHeaderState = new MultiColumnHeaderState(columns);

            return(new VisibilityToolColumnHeader(multiColumnHeaderState)
            {
                GetAllVisibility = GetAllVisibility,
                SetAllVisibility = SetAllVisibility,
                canSort = false,
                height = 20,
                visibilityColumn = 0
            });
        }
    void CreateDisplayFrom(TypeInfo type)
    {
        TreeViewState state = new TreeViewState();

        GameObject tempGO = null;

        UnityEngine.Object temp;

        if (type.isScriptableObject)
        {
            temp = CreateInstance(type.type);
        }
        else
        {
            tempGO = new GameObject();
            temp   = tempGO.AddComponent(type.type);
        }

        SerializedObject tempObj = new SerializedObject(temp);

        SerializedProperty prop = tempObj.GetIterator();

        //Count remainingwill count hte m_Script property (the type of script, like the 1st field in the inspector)
        //but we will replace it with the (hidden) propery that is the name, so it even out
        int propCount = prop.CountRemaining();

        prop.Reset();
        prop.Next(true);
        //do it once to "jump over" the script file, we don't want that property.
        prop.NextVisible(false);

        //add name
        MultiColumnHeaderState.Column[] columns = new MultiColumnHeaderState.Column[propCount];
        columns[0] = new MultiColumnHeaderState.Column();
        columns[0].headerContent = new GUIContent("Name");
        columns[0].width         = 64;

        for (int i = 1; i < propCount; ++i)
        {
            prop.NextVisible(false);
            columns[i] = new MultiColumnHeaderState.Column();
            columns[i].allowToggleVisibility = false;
            columns[i].headerContent         = new GUIContent(prop.displayName);
            columns[i].minWidth = GetPropertyWidthFromType(prop.propertyType);
            columns[i].width    = columns[i].minWidth;
            columns[i].canSort  = CanSort(prop.propertyType);
        }

        MultiColumnHeaderState headerstate = new MultiColumnHeaderState(columns);
        MultiColumnHeader      header      = new MultiColumnHeader(headerstate);

        _databaseDisplay = new DatabaseDisplayer(state, header, type);
        _databaseDisplay.Reload();

        if (tempGO != null)
        {
            DestroyImmediate(tempGO);
        }
    }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        private static MultiColumnHeaderState.Column[] GetColumns()
        {
            var retVal = new MultiColumnHeaderState.Column[] {
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column(),
                new MultiColumnHeaderState.Column()
            };
            int i = 0;

            retVal[i].headerContent       = new GUIContent("", "");
            retVal[i].minWidth            = 16;
            retVal[i].width               = 16;
            retVal[i].maxWidth            = 16;
            retVal[i].headerTextAlignment = TextAlignment.Left;
            retVal[i].canSort             = false;
            retVal[i].autoResize          = true;
            ++i;

            retVal[i].headerContent       = new GUIContent("Status", "Is build successful?");
            retVal[i].minWidth            = 32;
            retVal[i].width               = 60;
            retVal[i].maxWidth            = 150;
            retVal[i].headerTextAlignment = TextAlignment.Left;
            retVal[i].canSort             = false;
            retVal[i].autoResize          = true;
            ++i;

            retVal[i].headerContent       = new GUIContent("Graph", "Graph Name");
            retVal[i].minWidth            = 50;
            retVal[i].width               = 100;
            retVal[i].maxWidth            = 500;
            retVal[i].headerTextAlignment = TextAlignment.Left;
            retVal[i].canSort             = false;
            retVal[i].autoResize          = true;
            ++i;

            retVal[i].headerContent       = new GUIContent("Platform", "Platform Name");
            retVal[i].minWidth            = 30;
            retVal[i].width               = 120;
            retVal[i].maxWidth            = 500;
            retVal[i].headerTextAlignment = TextAlignment.Left;
            retVal[i].canSort             = false;
            retVal[i].autoResize          = true;
            ++i;

            retVal[i].headerContent       = new GUIContent("Description", "Additonal Info");
            retVal[i].minWidth            = 30;
            retVal[i].width               = 250;
            retVal[i].maxWidth            = 1000;
            retVal[i].headerTextAlignment = TextAlignment.Left;
            retVal[i].canSort             = false;
            retVal[i].autoResize          = true;
            ++i;

            return(retVal);
        }
        protected override void ColumnHeaderClicked(MultiColumnHeaderState.Column column, int columnIndex)
        {
            if (columnIndex == 0)
            {
                return;
            }

            base.ColumnHeaderClicked(column, columnIndex);
        }
Ejemplo n.º 23
0
        protected override float GetCustomRowHeight(int row, TreeViewItem item)
        {
            MultiColumnHeaderState.Column column = multiColumnHeader.state.columns[0];

            var width  = Mathf.Min(column.width - 2 * cellMargin, item.icon.width);
            var height = width * item.icon.height / item.icon.width;

            return(Mathf.Max(height, rowHeight));
        }
        public SpriteVisibilityToolView()
        {
            var columns = new MultiColumnHeaderState.Column[4];

            columns[0] = new MultiColumnHeaderState.Column
            {
                headerContent       = VisibilityTreeViewBase.VisibilityIconStyle.visibilityOnIcon,
                headerTextAlignment = TextAlignment.Center,
                width                 = 32,
                minWidth              = 32,
                maxWidth              = 32,
                autoResize            = false,
                allowToggleVisibility = true
            };
            columns[1] = new MultiColumnHeaderState.Column
            {
                headerContent       = EditorGUIUtility.TrTextContent(TextContent.name),
                headerTextAlignment = TextAlignment.Center,
                width                 = 130,
                minWidth              = 100,
                autoResize            = true,
                allowToggleVisibility = false
            };
            columns[2] = new MultiColumnHeaderState.Column
            {
                headerContent       = EditorGUIUtility.TrTextContent(TextContent.category),
                headerTextAlignment = TextAlignment.Center,
                width                 = 70,
                minWidth              = 50,
                autoResize            = true,
                allowToggleVisibility = false
            };
            columns[3] = new MultiColumnHeaderState.Column
            {
                headerContent       = EditorGUIUtility.TrTextContent(TextContent.label),
                headerTextAlignment = TextAlignment.Center,
                width                 = 50,
                minWidth              = 30,
                autoResize            = true,
                allowToggleVisibility = false
            };
            var multiColumnHeaderState = new MultiColumnHeaderState(columns);
            var multiColumnHeader      = new VisibilityToolColumnHeader(multiColumnHeaderState)
            {
                GetAllVisibility = InternalGetAllVisibility,
                SetAllVisibility = InternalSetAllVisibility,
                canSort          = false,
                height           = 20,
                visibilityColumn = 0
            };

            m_TreeView = new SpriteTreeView(m_TreeViewState, multiColumnHeader)
            {
                GetController = InternalGetController
            };
            SetupSearchField();
        }
Ejemplo n.º 25
0
        protected override void ColumnHeaderClicked(MultiColumnHeaderState.Column column, int columnIndex)
        {
            if (mode == Mode.Treeview)
            {
                mode = Mode.SortedList;
            }

            base.ColumnHeaderClicked(column, columnIndex);
        }
Ejemplo n.º 26
0
        private static MultiColumnHeaderState CreateHeaderState()
        {
            var columns = new MultiColumnHeaderState.Column[(int)ColumnId.COUNT];

            columns[(int)ColumnId.Id] =
                new MultiColumnHeaderState.Column
            {
                width         = 80,
                minWidth      = 60,
                headerContent = new GUIContent("Id"),
                canSort       = false
            };
            columns[(int)ColumnId.Type] =
                new MultiColumnHeaderState.Column
            {
                width         = 60,
                minWidth      = 60,
                headerContent = new GUIContent("Type"),
                canSort       = false
            };
            columns[(int)ColumnId.Device] =
                new MultiColumnHeaderState.Column
            {
                width         = 80,
                minWidth      = 60,
                headerContent = new GUIContent("Device"),
                canSort       = false
            };
            columns[(int)ColumnId.Size] =
                new MultiColumnHeaderState.Column
            {
                width         = 50,
                minWidth      = 50,
                headerContent = new GUIContent("Size"),
                canSort       = false
            };
            columns[(int)ColumnId.Time] =
                new MultiColumnHeaderState.Column
            {
                width         = 100,
                minWidth      = 80,
                headerContent = new GUIContent("Time"),
                canSort       = false
            };

            columns[(int)ColumnId.Details] =
                new MultiColumnHeaderState.Column
            {
                width         = 250,
                minWidth      = 100,
                headerContent = new GUIContent("Details"),
                canSort       = false
            };

            return(new MultiColumnHeaderState(columns));
        }
Ejemplo n.º 27
0
            protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
            {
                //add one extra pixel to fix rounding issue with monitor scaling
                headerRect.width++;
                GUI.Box(headerRect, column.headerContent, Styles.headerStyle);

                if (canSort && column.canSort)
                {
                    SortingButton(column, headerRect, columnIndex);
                }
            }
Ejemplo n.º 28
0
        void EnableHorizontalScrollbar()
        {
            mHorizontalColumn            = new MultiColumnHeaderState.Column();
            mHorizontalColumn.autoResize = false;

            MultiColumnHeaderState.Column[] cols        = { mHorizontalColumn };
            MultiColumnHeaderState          headerState = new MultiColumnHeaderState(cols);

            multiColumnHeader        = new MultiColumnHeader(headerState);
            multiColumnHeader.height = 0f;
        }
 protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
 {
     if (columnIndex == 0)
     {
         DrawSearchField(headerRect);
     }
     else
     {
         base.ColumnHeaderGUI(column, headerRect, columnIndex);
     }
 }
Ejemplo n.º 30
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);
            }
        }