Exemple #1
0
        public static void Draw(EchoUILogHandler logHandler, ref int selectedIndex)
        {
            if (logHandler == null)
            {
                return;
            }
            var filters = logHandler.GetFilterList();
            int i       = 0;

            while (i < filters.Count)
            {
                var filter = filters[i];
                if (filter == null)
                {
                    filters.RemoveAt(i);
                    if (i <= selectedIndex)
                    {
                        selectedIndex--;
                    }
                }
                else
                {
                    Rect box = EditorGUILayout.BeginHorizontal();
                    {
                        bool  isSelected = i == selectedIndex;
                        Color backColor  = isSelected ? Color.green : Color.white;
                        using (new GUIBackgroundColorScope(backColor))
                        {
                            bool click = GUI.Button(box, GUIContent.none, "Box");
                            if (click)
                            {
                                selectedIndex = i;
                            }
                            GUILayout.Box(filter.Name, GUILayout.ExpandWidth(true));

                            if (GUILayout.Button("Edit", GUILayout.Width(50)))
                            {
                                AddFliterWindow.Edit(filter);
                            }

                            if (GUILayout.Button("Save", GUILayout.Width(50)))
                            {
                            }

                            if (GUILayout.Button("X", GUILayout.Width(25)))
                            {
                                filters[i] = null;
                            }

                            EditorGUILayout.EndHorizontal();
                            EditorGUILayout.Space();
                            i++;
                        }
                    }
                }
            }
        }
Exemple #2
0
        private void _DrawLeftGroupView()
        {
            // left
            EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true));

            // Header
            EditorGUILayout.BeginHorizontal(GUILayout.Height(_headerHeight));

            GUILayout.Label("Fliter List:");
            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Load Fliter"))
            {
            }

            if (GUILayout.Button("Add Fliter"))
            {
                AddFliterWindow.Open((filter) =>
                {
                    _logHandler.GetFilterList().Add(filter);
                });
            }

            EditorGUILayout.Space();
            EditorGUILayout.EndHorizontal();

            // scroll view
            _filterListScrollViewPosition = GUILayout.BeginScrollView(_filterListScrollViewPosition,
                                                                      EditorStyles.helpBox,
                                                                      GUILayout.ExpandHeight(true));

            FilterListView.Draw(_logHandler, ref _currentSelectedFilterIndex);

            // scroll view end
            EditorGUILayout.EndScrollView();

            // left end
            EditorGUILayout.EndVertical();
        }