コード例 #1
0
 public void Init(Rect rect, BackendData backendData)
 {
     if (this.m_TreeView == null)
     {
         ITreeViewDataSource source;
         this.m_BackendData = backendData;
         TreeViewState treeViewState = new TreeViewState {
             columnWidths = new float[] { 
                 250f,
                 90f,
                 93f,
                 98f,
                 74f,
                 78f
             }
         };
         this.m_TreeView = new TreeViewController(this.m_EditorWindow, treeViewState);
         ITreeViewGUI gui = new TestGUI(this.m_TreeView);
         ITreeViewDragging dragging = new TestDragging(this.m_TreeView, this.m_BackendData);
         if (this.m_Lazy)
         {
             source = new LazyTestDataSource(this.m_TreeView, this.m_BackendData);
         }
         else
         {
             source = new TestDataSource(this.m_TreeView, this.m_BackendData);
         }
         this.m_TreeView.Init(rect, source, gui, dragging);
         this.m_ColumnHeader = new TreeViewColumnHeader();
         this.m_ColumnHeader.columnWidths = treeViewState.columnWidths;
         this.m_ColumnHeader.minColumnWidth = 30f;
         this.m_ColumnHeader.columnRenderer = (Action<int, Rect>) Delegate.Combine(this.m_ColumnHeader.columnRenderer, new Action<int, Rect>(this, (IntPtr) this.OnColumnRenderer));
     }
 }
コード例 #2
0
 public void Init(Rect rect, BackendData backendData)
 {
   if (this.m_TreeView != null)
     return;
   this.m_BackendData = backendData;
   TreeViewState treeViewState = new TreeViewState();
   treeViewState.columnWidths = new float[6]
   {
     250f,
     90f,
     93f,
     98f,
     74f,
     78f
   };
   this.m_TreeView = new TreeView(this.m_EditorWindow, treeViewState);
   ITreeViewGUI gui = (ITreeViewGUI) new TestGUI(this.m_TreeView);
   ITreeViewDragging dragging = (ITreeViewDragging) new TestDragging(this.m_TreeView, this.m_BackendData);
   ITreeViewDataSource data = !this.m_Lazy ? (ITreeViewDataSource) new TestDataSource(this.m_TreeView, this.m_BackendData) : (ITreeViewDataSource) new LazyTestDataSource(this.m_TreeView, this.m_BackendData);
   this.m_TreeView.Init(rect, data, gui, dragging);
   this.m_ColumnHeader = new TreeViewColumnHeader();
   this.m_ColumnHeader.columnWidths = treeViewState.columnWidths;
   this.m_ColumnHeader.minColumnWidth = 30f;
   this.m_ColumnHeader.columnRenderer += new System.Action<int, Rect>(this.OnColumnRenderer);
 }
コード例 #3
0
 public AudioMixersTreeView(AudioMixerWindow mixerWindow, TreeViewState treeState, Func<List<AudioMixerController>> getAllControllersCallback)
 {
     this.m_TreeView = new TreeViewController(mixerWindow, treeState);
     this.m_TreeView.deselectOnUnhandledMouseDown = false;
     this.m_TreeView.selectionChangedCallback = (Action<int[]>) Delegate.Combine(this.m_TreeView.selectionChangedCallback, new Action<int[]>(this.OnTreeSelectionChanged));
     this.m_TreeView.contextClickItemCallback = (Action<int>) Delegate.Combine(this.m_TreeView.contextClickItemCallback, new Action<int>(this.OnTreeViewContextClick));
     AudioMixersTreeViewGUI gui = new AudioMixersTreeViewGUI(this.m_TreeView);
     AudioMixersDataSource data = new AudioMixersDataSource(this.m_TreeView, getAllControllersCallback);
     AudioMixerTreeViewDragging dragging = new AudioMixerTreeViewDragging(this.m_TreeView, new Action<List<AudioMixerController>, AudioMixerController>(this, (IntPtr) this.OnMixersDroppedOnMixerCallback));
     this.m_TreeView.Init(mixerWindow.position, data, gui, dragging);
     this.m_TreeView.ReloadData();
 }
コード例 #4
0
 public PackageExportTreeView(PackageExport packageExport, TreeViewState treeViewState, Rect startRect)
 {
     this.m_PackageExport = packageExport;
     this.m_TreeView = new TreeViewController(this.m_PackageExport, treeViewState);
     PackageExportTreeViewDataSource data = new PackageExportTreeViewDataSource(this.m_TreeView, this);
     PackageExportTreeViewGUI gui = new PackageExportTreeViewGUI(this.m_TreeView, this);
     this.m_TreeView.Init(startRect, data, gui, null);
     this.m_TreeView.ReloadData();
     this.m_TreeView.selectionChangedCallback = (Action<int[]>) Delegate.Combine(this.m_TreeView.selectionChangedCallback, new Action<int[]>(this.SelectionChanged));
     gui.itemWasToggled = (Action<PackageExportTreeViewItem>) Delegate.Combine(gui.itemWasToggled, new Action<PackageExportTreeViewItem>(this.ItemWasToggled));
     this.ComputeEnabledStateForFolders();
 }
コード例 #5
0
 public TreeViewTestWithCustomHeight(EditorWindow editorWindow, BackendData backendData, Rect rect)
 {
     this.m_BackendData = backendData;
     TreeViewState treeViewState = new TreeViewState();
     this.m_TreeView = new TreeViewController(editorWindow, treeViewState);
     TestGUICustomItemHeights gui = new TestGUICustomItemHeights(this.m_TreeView);
     TestDragging dragging = new TestDragging(this.m_TreeView, this.m_BackendData);
     TestDataSource data = new TestDataSource(this.m_TreeView, this.m_BackendData);
     data.onVisibleRowsChanged = (Action) Delegate.Combine(data.onVisibleRowsChanged, new Action(gui, (IntPtr) this.CalculateRowRects));
     this.m_TreeView.Init(rect, data, gui, dragging);
     data.SetExpanded(data.root, true);
 }
コード例 #6
0
 public void InitIfNeeded(EditorWindow owner, Rect rect)
 {
     if (this.m_TreeViewState == null)
     {
         this.m_TreeViewState = new TreeViewState();
         this.m_TreeView = new TreeViewController(owner, this.m_TreeViewState);
         this.m_TreeView.deselectOnUnhandledMouseDown = true;
         this.m_TreeViewDataSource = new AddCurvesPopupHierarchyDataSource(this.m_TreeView);
         TreeViewGUI gui = new AddCurvesPopupHierarchyGUI(this.m_TreeView, owner);
         this.m_TreeView.Init(rect, this.m_TreeViewDataSource, gui, null);
         this.m_TreeViewDataSource.UpdateData();
     }
 }
コード例 #7
0
 public TreeViewTestWithCustomHeight(EditorWindow editorWindow, BackendData backendData, Rect rect)
 {
   this.m_BackendData = backendData;
   TreeViewState treeViewState = new TreeViewState();
   this.m_TreeView = new TreeView(editorWindow, treeViewState);
   TestGUICustomItemHeights customItemHeights = new TestGUICustomItemHeights(this.m_TreeView);
   TestDragging testDragging = new TestDragging(this.m_TreeView, this.m_BackendData);
   TestDataSource testDataSource1 = new TestDataSource(this.m_TreeView, this.m_BackendData);
   TestDataSource testDataSource2 = testDataSource1;
   System.Action action = testDataSource2.onVisibleRowsChanged + new System.Action(((TreeViewGUIWithCustomItemsHeights) customItemHeights).CalculateRowRects);
   testDataSource2.onVisibleRowsChanged = action;
   this.m_TreeView.Init(rect, (ITreeViewDataSource) testDataSource1, (ITreeViewGUI) customItemHeights, (ITreeViewDragging) testDragging);
   testDataSource1.SetExpanded(testDataSource1.root, true);
 }
コード例 #8
0
 public AudioMixerGroupTreeView(AudioMixerWindow mixerWindow, TreeViewState treeState)
 {
     this.m_AudioGroupTreeState = treeState;
     this.m_AudioGroupTree = new TreeViewController(mixerWindow, this.m_AudioGroupTreeState);
     this.m_AudioGroupTree.deselectOnUnhandledMouseDown = false;
     this.m_AudioGroupTree.selectionChangedCallback = (Action<int[]>) Delegate.Combine(this.m_AudioGroupTree.selectionChangedCallback, new Action<int[]>(this.OnTreeSelectionChanged));
     this.m_AudioGroupTree.contextClickItemCallback = (Action<int>) Delegate.Combine(this.m_AudioGroupTree.contextClickItemCallback, new Action<int>(this.OnTreeViewContextClick));
     this.m_AudioGroupTree.expandedStateChanged = (Action) Delegate.Combine(this.m_AudioGroupTree.expandedStateChanged, new Action(this, (IntPtr) this.SaveExpandedState));
     this.m_TreeViewGUI = new AudioGroupTreeViewGUI(this.m_AudioGroupTree);
     this.m_TreeViewGUI.NodeWasToggled = (Action<AudioMixerTreeViewNode, bool>) Delegate.Combine(this.m_TreeViewGUI.NodeWasToggled, new Action<AudioMixerTreeViewNode, bool>(this, (IntPtr) this.OnNodeToggled));
     this.m_AudioGroupTreeDataSource = new AudioGroupDataSource(this.m_AudioGroupTree, this.m_Controller);
     this.m_AudioGroupTree.Init(mixerWindow.position, this.m_AudioGroupTreeDataSource, this.m_TreeViewGUI, new AudioGroupTreeViewDragging(this.m_AudioGroupTree, this));
     this.m_AudioGroupTree.ReloadData();
 }
コード例 #9
0
        public void DrawUI(SerializedProperty property)
        {
            objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
            var prefabItemArray = property.FindPropertyRelative("locationPrefabList");
            var layersRect      = EditorGUILayout.GetControlRect(GUILayout.MinHeight(Mathf.Max(prefabItemArray.arraySize + 1, 1) * _lineHeight + MultiColumnHeader.DefaultGUI.defaultHeight),
                                                                 GUILayout.MaxHeight((prefabItemArray.arraySize + 1) * _lineHeight + MultiColumnHeader.DefaultGUI.defaultHeight));

            if (!m_Initialized)
            {
                bool firstInit   = m_MultiColumnHeaderState == null;
                var  headerState = FeatureSubLayerTreeView.CreateDefaultMultiColumnHeaderState();
                if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
                {
                    MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
                }
                m_MultiColumnHeaderState = headerState;

                var multiColumnHeader = new FeatureSectionMultiColumnHeader(headerState);

                if (firstInit)
                {
                    multiColumnHeader.ResizeToFit();
                }

                treeModel = new TreeModel <FeatureTreeElement>(GetData(prefabItemArray));
                if (m_TreeViewState == null)
                {
                    m_TreeViewState = new TreeViewState();
                }

                if (layerTreeView == null)
                {
                    layerTreeView = new FeatureSubLayerTreeView(m_TreeViewState, multiColumnHeader, treeModel, FeatureSubLayerTreeView.uniqueIdPoI);
                }
                layerTreeView.multiColumnHeader = multiColumnHeader;
                m_Initialized = true;
            }


            layerTreeView.Layers = prefabItemArray;
            layerTreeView.Reload();
            layerTreeView.OnGUI(layersRect);

            if (layerTreeView.hasChanged)
            {
                EditorHelper.CheckForModifiedProperty(property);
                layerTreeView.hasChanged = false;
            }

            selectedLayers = layerTreeView.GetSelection();
            //if there are selected elements, set the selection index at the first element.
            //if not, use the Selection index to persist the selection at the right index.
            if (selectedLayers.Count > 0)
            {
                //ensure that selectedLayers[0] isn't out of bounds
                if (selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdPoI > prefabItemArray.arraySize - 1)
                {
                    selectedLayers[0] = prefabItemArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdPoI;
                }

                SelectionIndex = selectedLayers[0];
            }
            else
            {
                selectedLayers = new int[1] {
                    SelectionIndex
                };
                if (SelectionIndex > 0 && (SelectionIndex - FeatureSubLayerTreeView.uniqueIdPoI <= prefabItemArray.arraySize - 1))
                {
                    layerTreeView.SetSelection(selectedLayers);
                }
            }


            GUILayout.Space(EditorGUIUtility.singleLineHeight);
            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button(new GUIContent("Add ILayer"), (GUIStyle)"minibuttonleft"))
            {
                prefabItemArray.arraySize++;

                var prefabItem     = prefabItemArray.GetArrayElementAtIndex(prefabItemArray.arraySize - 1);
                var prefabItemName = prefabItem.FindPropertyRelative("coreOptions.sublayerName");

                prefabItemName.stringValue = "New Location";

                // Set defaults here because SerializedProperty copies the previous element.
                prefabItem.FindPropertyRelative("coreOptions.isActive").boolValue      = true;
                prefabItem.FindPropertyRelative("coreOptions.snapToTerrain").boolValue = true;
                prefabItem.FindPropertyRelative("presetFeatureType").enumValueIndex    = (int)PresetFeatureType.Points;
                var categories = prefabItem.FindPropertyRelative("categories");
                categories.intValue = (int)(LocationPrefabCategories.AnyCategory);                //To select any category option

                var density = prefabItem.FindPropertyRelative("density");
                density.intValue = 15;                //To select all locations option

                //Refreshing the tree
                layerTreeView.Layers = prefabItemArray;
                layerTreeView.AddElementToTree(prefabItem);
                layerTreeView.Reload();

                selectedLayers = new int[1] {
                    prefabItemArray.arraySize - 1
                };
                layerTreeView.SetSelection(selectedLayers);

                if (EditorHelper.DidModifyProperty(property))
                {
                    isLayerAdded = true;
                }
            }

            if (GUILayout.Button(new GUIContent("Remove Selected"), (GUIStyle)"minibuttonright"))
            {
                foreach (var index in selectedLayers.OrderByDescending(i => i))
                {
                    if (layerTreeView != null)
                    {
                        var poiSubLayer = prefabItemArray.GetArrayElementAtIndex(index - FeatureSubLayerTreeView.uniqueIdPoI);

                        VectorLayerProperties vectorLayerProperties = (VectorLayerProperties)EditorHelper.GetTargetObjectOfProperty(property);
                        PrefabItemOptions     poiSubLayerProperties = (PrefabItemOptions)EditorHelper.GetTargetObjectOfProperty(poiSubLayer);

                        vectorLayerProperties.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs {
                            property = poiSubLayerProperties
                        });

                        layerTreeView.RemoveItemFromTree(index);
                        prefabItemArray.DeleteArrayElementAtIndex(index - FeatureSubLayerTreeView.uniqueIdPoI);
                        layerTreeView.treeModel.SetData(GetData(prefabItemArray));
                    }
                }
                selectedLayers = new int[0];
                layerTreeView.SetSelection(selectedLayers);
            }

            EditorGUILayout.EndHorizontal();

            if (selectedLayers.Count == 1 && prefabItemArray.arraySize != 0 && selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdPoI >= 0)
            {
                //ensure that selectedLayers[0] isn't out of bounds
                if (selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdPoI > prefabItemArray.arraySize - 1)
                {
                    selectedLayers[0] = prefabItemArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdPoI;
                }
                SelectionIndex = selectedLayers[0];

                var layerProperty = prefabItemArray.GetArrayElementAtIndex(SelectionIndex - FeatureSubLayerTreeView.uniqueIdPoI);

                layerProperty.isExpanded = true;
                var  subLayerCoreOptions = layerProperty.FindPropertyRelative("coreOptions");
                bool isLayerActive       = subLayerCoreOptions.FindPropertyRelative("isActive").boolValue;
                if (!isLayerActive)
                {
                    GUI.enabled = false;
                }
                DrawLayerLocationPrefabProperties(layerProperty, property);
                if (!isLayerActive)
                {
                    GUI.enabled = true;
                }
            }
            else
            {
                GUILayout.Space(15);
                GUILayout.Label("Select a visualizer to see properties");
            }
        }
コード例 #10
0
 public TreeViewWithListModel(TreeViewState state, ListModel model) : base(state)
 {
     Init(model);
 }
コード例 #11
0
ファイル: ContentTreeView.cs プロジェクト: xJayLee/RPGCore
 public ContentTreeView(TreeViewState treeViewState)
     : base(treeViewState)
 {
 }
コード例 #12
0
 public HIDDescriptorTreeView(TreeViewState state, HID.HIDDeviceDescriptor descriptor)
     : base(state)
 {
     m_Descriptor = descriptor;
     Reload();
 }
コード例 #13
0
        public static InputControlTreeView Create(InputControl rootControl, int numValueColumns, ref TreeViewState treeState, ref MultiColumnHeaderState headerState)
        {
            if (treeState == null)
            {
                treeState = new TreeViewState();
            }

            var newHeaderState = CreateHeaderState(numValueColumns);

            if (headerState != null)
            {
                MultiColumnHeaderState.OverwriteSerializedFields(headerState, newHeaderState);
            }
            headerState = newHeaderState;

            var header = new MultiColumnHeader(headerState);

            return(new InputControlTreeView(rootControl, treeState, header));
        }
コード例 #14
0
 public TypePickerTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader) : base(state, multiColumnHeader)
 {
     Reload();
 }
コード例 #15
0
 public TypePickerTreeView(TreeViewState state, Type baseType) : base(state)
 {
     this.baseType = baseType;
     Reload();
 }
コード例 #16
0
 public TypePickerTreeView(TreeViewState state) : base(state)
 {
     Reload();
 }
コード例 #17
0
        void InitIfNeeded()
        {
            if (m_Initialized)
            {
                return;
            }

            var cpuHierarchyColumns = new[]
            {
                ProfilerColumn.FunctionName,        // 0
                ProfilerColumn.TotalPercent,        // 1
                ProfilerColumn.SelfPercent,         // 2
                ProfilerColumn.Calls,               // 3
                ProfilerColumn.GCMemory,            // 4
                ProfilerColumn.TotalTime,           // 5
                ProfilerColumn.SelfTime,            // 6
                ProfilerColumn.WarningCount         // 12
            };

            //
            var gpuHierarchyColumns = new[]
            {
                ProfilerColumn.FunctionName,        // 0
                ProfilerColumn.TotalGPUPercent,     // 10
                ProfilerColumn.DrawCalls,           // 7
                ProfilerColumn.TotalGPUTime         // 8
            };

            // 判断显示cpu还是gpu
            var profilerColumns   = gpuView ? gpuHierarchyColumns : cpuHierarchyColumns;
            var defaultSortColumn = gpuView ? ProfilerColumn.TotalGPUTime : ProfilerColumn.TotalTime;

            var columns     = CreateColumns(profilerColumns);
            var headerState = CreateDefaultMultiColumnHeaderState(columns, defaultSortColumn);

            if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
            {
                MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
            }

            var firstInit = m_MultiColumnHeaderState == null;

            m_MultiColumnHeaderState = headerState;

            var multiColumnHeader = new ProfilerFrameDataMultiColumnHeader(m_MultiColumnHeaderState, columns)
            {
                height = 25
            };

            if (firstInit)
            {
                multiColumnHeader.ResizeToFit();
            }

            // Check if it already exists (deserialized from window layout file or scriptable object)
            if (m_TreeViewState == null)
            {
                m_TreeViewState = new TreeViewState();
            }
            m_TreeView = new ProfilerFrameDataTreeView(m_TreeViewState, multiColumnHeader);
            m_TreeView.selectionChanged += OnMainTreeViewSelectionChanged;
            m_TreeView.searchChanged    += OnMainTreeViewSearchChanged;
            m_TreeView.Reload();

            m_CpuProfilerOptions = SessionState.GetInt(k_CpuProfilerHierarchyViewOptionsPrefKey, m_CpuProfilerOptions);

            m_SearchField = new SearchField();
            m_SearchField.downOrUpArrowKeyPressed += m_TreeView.SetFocusAndEnsureSelectedItem;

            if (m_DetailedObjectsView == null)
            {
                m_DetailedObjectsView = new ProfilerDetailedObjectsView();
            }
            m_DetailedObjectsView.gpuView         = gpuView;
            m_DetailedObjectsView.frameItemEvent += FrameItem;
            if (m_DetailedCallsView == null)
            {
                m_DetailedCallsView = new ProfilerDetailedCallsView();
            }
            m_DetailedCallsView.frameItemEvent += FrameItem;
            if (m_DetailedViewSpliterState == null || m_DetailedViewSpliterState.relativeSizes == null || m_DetailedViewSpliterState.relativeSizes.Length == 0)
            {
                m_DetailedViewSpliterState = new SplitterState(new[] { 70f, 30f }, new[] { 450, 50 }, null);
            }

            m_Initialized = true;
        }
コード例 #18
0
ファイル: BreakpointPad.cs プロジェクト: tomkcook/monodevelop
        public void Initialize(IPadWindow window)
        {
            // Toolbar and menu definitions

            ActionCommand gotoCmd       = new ActionCommand(LocalCommands.GoToFile, GettextCatalog.GetString("Go to File"));
            ActionCommand propertiesCmd = new ActionCommand(LocalCommands.Properties, GettextCatalog.GetString("Properties"), Gtk.Stock.Properties);

            menuSet = new CommandEntrySet();
            menuSet.Add(gotoCmd);
            menuSet.AddSeparator();
            menuSet.AddItem(DebugCommands.EnableDisableBreakpoint);
            menuSet.AddItem(DebugCommands.ClearAllBreakpoints);
            menuSet.AddItem(DebugCommands.DisableAllBreakpoints);
            menuSet.AddItem(EditCommands.DeleteKey);
            menuSet.AddSeparator();
            menuSet.Add(propertiesCmd);

            CommandEntrySet toolbarSet = new CommandEntrySet();

            toolbarSet.AddItem(DebugCommands.EnableDisableBreakpoint);
            toolbarSet.AddItem(DebugCommands.ClearAllBreakpoints);
            toolbarSet.AddItem(DebugCommands.DisableAllBreakpoints);
            toolbarSet.AddItem(EditCommands.Delete);
            toolbarSet.AddSeparator();
            toolbarSet.Add(propertiesCmd);
            toolbarSet.AddSeparator();
            toolbarSet.Add(new CommandEntry(DebugCommands.NewFunctionBreakpoint)
            {
                DispayType = CommandEntryDisplayType.IconAndText
            });
            toolbarSet.Add(new CommandEntry(DebugCommands.NewCatchpoint)
            {
                DispayType = CommandEntryDisplayType.IconAndText
            });

            // The breakpoint list

            store = new TreeStore(typeof(string), typeof(bool), typeof(string), typeof(object), typeof(string), typeof(string), typeof(string), typeof(string));

            tree                = new PadTreeView();
            tree.Model          = store;
            tree.RulesHint      = true;
            tree.HeadersVisible = true;
            tree.DoPopupMenu    = ShowPopup;
            tree.KeyPressEvent += OnKeyPressEvent;
            tree.Selection.Mode = SelectionMode.Multiple;

            treeState = new TreeViewState(tree, (int)Columns.Breakpoint);

            TreeViewColumn col = new TreeViewColumn();
            CellRenderer   crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.AddAttribute(crp, "stock_id", (int)Columns.Icon);
            tree.AppendColumn(col);

            Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle();
            toggleRender.Toggled += new ToggledHandler(ItemToggled);
            col = new TreeViewColumn();
            col.PackStart(toggleRender, false);
            col.AddAttribute(toggleRender, "active", (int)Columns.Selected);
            tree.AppendColumn(col);

            TreeViewColumn FrameCol = new TreeViewColumn();
            CellRenderer   crt      = tree.TextRenderer;

            FrameCol.Title = GettextCatalog.GetString("Name");
            FrameCol.PackStart(crt, true);
            FrameCol.AddAttribute(crt, "text", (int)Columns.FileName);
            FrameCol.Resizable = true;
            FrameCol.Alignment = 0.0f;
            tree.AppendColumn(FrameCol);

            col           = tree.AppendColumn(GettextCatalog.GetString("Condition"), crt, "text", (int)Columns.Condition);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Trace Expression"), crt, "text", (int)Columns.TraceExp);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Hit Count"), crt, "text", (int)Columns.HitCount);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Last Trace"), crt, "text", (int)Columns.LastTrace);
            col.Resizable = true;

            sw            = new Gtk.ScrolledWindow();
            sw.ShadowType = ShadowType.None;
            sw.Add(tree);

            control = sw;

            control.ShowAll();

            breakpoints = DebuggingService.Breakpoints;

            UpdateDisplay();

            breakpointUpdatedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointUpdated);
            breakpointRemovedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointRemoved);
            breakpointAddedHandler   = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointAdded);
            breakpointChangedHandler = DispatchService.GuiDispatch <EventHandler> (OnBreakpointChanged);

            breakpoints.BreakpointAdded   += breakpointAddedHandler;
            breakpoints.BreakpointRemoved += breakpointRemovedHandler;
            breakpoints.Changed           += breakpointChangedHandler;
            breakpoints.BreakpointUpdated += breakpointUpdatedHandler;

            DebuggingService.PausedEvent  += OnDebuggerStatusCheck;
            DebuggingService.ResumedEvent += OnDebuggerStatusCheck;
            DebuggingService.StoppedEvent += OnDebuggerStatusCheck;

            tree.RowActivated += OnRowActivated;

            DockItemToolbar toolbar = window.GetToolbar(PositionType.Top);

            toolbar.Add(toolbarSet, sw);
            toolbar.ShowAll();
        }
コード例 #19
0
 public AssetDuplicateTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, AssetTreeModel model) : base(state, multiColumnHeader, model)
 {
     this.model = model as AssetDuplicateTreeModel;
 }
コード例 #20
0
 public ExcelFileTreeView(TreeViewState _viewState, ExcelLoader_Setting _settingInfo, ref List <string> _listData, Action <int, string> _onClickEvent)
     : base(_viewState, _settingInfo, ref _listData, _onClickEvent)
 {
     icon_on = EditorGUIUtility.Load(string.Format("{0}Icon/icon_excel.png", ExcelLoader_Editor.excelLoaderPath)) as Texture2D;
     Reload();
 }
コード例 #21
0
 public ProfilerFrameDataTreeView(TreeViewState state, ProfilerFrameDataMultiColumnHeader multicolumnHeader) : base(state, multicolumnHeader)
 {
     Assert.IsNotNull(multicolumnHeader);
     m_MultiColumnHeader = multicolumnHeader;
     m_MultiColumnHeader.sortingChanged += OnSortingChanged;
 }
コード例 #22
0
        public ObjectValueTreeView()
        {
            store          = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(ObjectValue), typeof(bool), typeof(bool), typeof(bool), typeof(string), typeof(string), typeof(string), typeof(bool), typeof(string), typeof(Gdk.Pixbuf), typeof(bool));
            Model          = store;
            RulesHint      = true;
            Selection.Mode = SelectionMode.Multiple;
            ResetColumnSizes();

            Pango.FontDescription newFont = this.Style.FontDescription.Copy();
            newFont.Size = (newFont.Size * 8) / 10;

            liveIcon   = ImageService.GetPixbuf(Gtk.Stock.Execute, IconSize.Menu);
            noLiveIcon = ImageService.MakeTransparent(liveIcon, 0.5);

            expCol       = new TreeViewColumn();
            expCol.Title = GettextCatalog.GetString("Name");
            CellRendererIcon crp = new CellRendererIcon();

            expCol.PackStart(crp, false);
            expCol.AddAttribute(crp, "stock_id", IconCol);
            crtExp = new CellRendererText();
            expCol.PackStart(crtExp, true);
            expCol.AddAttribute(crtExp, "text", NameCol);
            expCol.AddAttribute(crtExp, "editable", NameEditableCol);
            expCol.AddAttribute(crtExp, "foreground", NameColorCol);
            expCol.Resizable = true;
            expCol.Sizing    = TreeViewColumnSizing.Fixed;
            expCol.MinWidth  = 15;
            expCol.AddNotification("width", OnColumnWidthChanged);
//			expCol.Expand = true;
            AppendColumn(expCol);

            valueCol         = new TreeViewColumn();
            valueCol.Title   = GettextCatalog.GetString("Value");
            crpViewer        = new CellRendererIcon();
            crpViewer.IconId = Gtk.Stock.ZoomIn;
            valueCol.PackStart(crpViewer, false);
            valueCol.AddAttribute(crpViewer, "visible", ViewerButtonVisibleCol);
            crpButton           = new CellRendererIcon();
            crpButton.StockSize = (uint)Gtk.IconSize.Menu;
            crpButton.IconId    = Gtk.Stock.Refresh;
            valueCol.PackStart(crpButton, false);
            valueCol.AddAttribute(crpButton, "visible", ValueButtonVisibleCol);
            crtValue = new CellRendererText();
            valueCol.PackStart(crtValue, true);
            valueCol.AddAttribute(crtValue, "text", ValueCol);
            valueCol.AddAttribute(crtValue, "editable", ValueEditableCol);
            valueCol.AddAttribute(crtValue, "foreground", ValueColorCol);
            valueCol.Resizable = true;
            valueCol.MinWidth  = 15;
            valueCol.AddNotification("width", OnColumnWidthChanged);
//			valueCol.Expand = true;
            valueCol.Sizing = TreeViewColumnSizing.Fixed;
            AppendColumn(valueCol);

            typeCol       = new TreeViewColumn();
            typeCol.Title = GettextCatalog.GetString("Type");
            crtType       = new CellRendererText();
            typeCol.PackStart(crtType, true);
            typeCol.AddAttribute(crtType, "text", TypeCol);
            typeCol.Resizable = true;
            typeCol.Sizing    = TreeViewColumnSizing.Fixed;
            typeCol.MinWidth  = 15;
            typeCol.AddNotification("width", OnColumnWidthChanged);
//			typeCol.Expand = true;
            AppendColumn(typeCol);

            pinCol = new TreeViewColumn();
            crpPin = new CellRendererIcon();
            pinCol.PackStart(crpPin, false);
            pinCol.AddAttribute(crpPin, "stock_id", PinIconCol);
            crpLiveUpdate = new CellRendererIcon();
            pinCol.PackStart(crpLiveUpdate, false);
            pinCol.AddAttribute(crpLiveUpdate, "pixbuf", LiveUpdateIconCol);
            pinCol.Resizable = false;
            pinCol.Visible   = false;
            pinCol.Expand    = false;
            AppendColumn(pinCol);

            state = new TreeViewState(this, NameCol);

            crtExp.Edited            += OnExpEdited;
            crtExp.EditingStarted    += OnExpEditing;
            crtExp.EditingCanceled   += OnEditingCancelled;
            crtValue.EditingStarted  += OnValueEditing;
            crtValue.Edited          += OnValueEdited;
            crtValue.EditingCanceled += OnEditingCancelled;

            this.EnableAutoTooltips();

            createMsg = GettextCatalog.GetString("Click here to add a new watch");
        }
コード例 #23
0
 public LSystemStructureTreeView(TreeViewState treeViewState, bool showAll)
     : base(treeViewState)
 {
     showAllSymbols = showAll;
     Reload();
 }
コード例 #24
0
 public ContentUpdateTreeView(ContentUpdatePreviewWindow preview, TreeViewState state, MultiColumnHeaderState mchs) : base(state, new MultiColumnHeader(mchs))
 {
     m_Preview = preview;
 }
コード例 #25
0
 public FollowMachineTreeView(TreeViewState state) : base(state)
 {
     Reload();
     showBorder = true;
 }
コード例 #26
0
 protected MaintainerTreeView(TreeViewState state, TreeModel <T> model) : base(state)
 {
     Init(model);
 }
コード例 #27
0
 public TreeViewWithListModel(TreeViewState state, MultiColumnHeader multiColumnHeader, ListModel model)
     : base(state, multiColumnHeader)
 {
     Init(model);
 }
コード例 #28
0
 protected MaintainerTreeView(TreeViewState state, MultiColumnHeader multiColumnHeader, TreeModel <T> model) : base(state, multiColumnHeader)
 {
     multiColumnHeader.sortingChanged += OnSortingChanged;
     Init(model);
 }
 public GameObjectSerializationManagerTreeView(TreeViewState state)
     : base(state)
 {
     Reload();
 }
コード例 #30
0
 public State()
 {
     ScenePaths     = new string[0];
     IsSceneEnabled = new bool[0];
     ViewState      = new TreeViewState();
 }
コード例 #31
0
 public StratusTreeViewWithTreeModel(TreeViewState state, MultiColumnHeader multiColumnHeader, TreeModel <TreeElementType> model)
     : base(state, multiColumnHeader)
 {
     this.InitializeTreeViewWithModel(model);
 }
コード例 #32
0
        void InitIfNeeded()
        {
            if (m_Initialized)
            {
                return;
            }

            if (m_CachedCallstack == null)
            {
                m_CachedCallstack = new List <ulong>();
            }

            if (m_InstancesLabel == null)
            {
                m_InstancesLabel = new GUIContent();
            }

            var cpuDetailColumns = new[]
            {
                HierarchyFrameDataView.columnObjectName,
                HierarchyFrameDataView.columnTotalPercent,
                HierarchyFrameDataView.columnGcMemory,
                HierarchyFrameDataView.columnTotalTime
            };
            var gpuDetailColumns = new[]
            {
                HierarchyFrameDataView.columnObjectName,
                HierarchyFrameDataView.columnTotalGpuPercent,
                HierarchyFrameDataView.columnDrawCalls,
                HierarchyFrameDataView.columnTotalGpuTime
            };
            var profilerColumns   = gpuView ? gpuDetailColumns : cpuDetailColumns;
            var defaultSortColumn = gpuView ? HierarchyFrameDataView.columnTotalGpuTime : HierarchyFrameDataView.columnTotalTime;

            var columns     = ProfilerFrameDataHierarchyView.CreateColumns(profilerColumns);
            var headerState = ProfilerFrameDataHierarchyView.CreateDefaultMultiColumnHeaderState(columns, defaultSortColumn);

            headerState.columns[0].minWidth              = 60;
            headerState.columns[0].autoResize            = true;
            headerState.columns[0].allowToggleVisibility = false;

            var multiColumnHeaderStateData = SessionState.GetString(multiColumnHeaderStatePrefKey, "");

            if (!string.IsNullOrEmpty(multiColumnHeaderStateData))
            {
                try
                {
                    var restoredHeaderState = JsonUtility.FromJson <MultiColumnHeaderState>(multiColumnHeaderStateData);
                    if (restoredHeaderState != null)
                    {
                        m_MultiColumnHeaderState = restoredHeaderState;
                    }
                }
                catch {} // Nevermind, we'll just fall back to the default
            }

            if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
            {
                MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
            }

            var firstInit = m_MultiColumnHeaderState == null;

            m_MultiColumnHeaderState = headerState;

            m_MultiColumnHeader = new ProfilerFrameDataMultiColumnHeader(m_MultiColumnHeaderState, columns)
            {
                height = 25
            };
            if (firstInit)
            {
                m_MultiColumnHeader.ResizeToFit();
            }

            m_MultiColumnHeader.visibleColumnsChanged += OnMultiColumnHeaderChanged;
            m_MultiColumnHeader.sortingChanged        += OnMultiColumnHeaderChanged;

            if (m_TreeViewState == null)
            {
                m_TreeViewState = new TreeViewState();
            }
            m_TreeView = new ObjectsTreeView(m_TreeViewState, m_MultiColumnHeader);
            m_TreeView.frameItemEvent += frameItemEvent;

            if (m_VertSplit == null || !m_VertSplit.IsValid())
            {
                m_VertSplit = SplitterState.FromRelative(new[] { SessionState.GetFloat(splitter0StatePrefKey, 60f), SessionState.GetFloat(splitter1StatePrefKey, 40f) }, new[] { 50f, 50f }, null);
            }

            m_Initialized = true;
        }
コード例 #33
0
 //------------------------------------------------------------------------/
 // CTOR
 //------------------------------------------------------------------------/
 public StratusTreeViewWithTreeModel(TreeViewState state, TreeModel <TreeElementType> model)
     : base(state)
 {
     this.InitializeTreeViewWithModel(model);
 }
コード例 #34
0
 public BoneTreeView(TreeViewState treeViewState, MultiColumnHeader header, HumanPoseHandler handler)
     : base(treeViewState, header)
 {
     m_handler = handler;
     Reload();
 }
コード例 #35
0
 internal AssetBundleTree(TreeViewState state, AssetBundleManageTab ctrl) : base(state)
 {
     AssetBundleModel.Model.Rebuild();
     m_Controller = ctrl;
     showBorder   = true;
 }
コード例 #36
0
 protected abstract PaletteEditorTreeView <T> CreateTreeView(TreeViewState state);
コード例 #37
0
 internal BundleDetailList(TreeViewState state) : base(state)
 {
     m_Selecteditems = new HashSet <AssetBundleModel.BundleDataInfo>();
     showBorder      = true;
 }
コード例 #38
0
        public NativeObjectsControl(HeapExplorerWindow window, string editorPrefsKey, TreeViewState state)
            : base(window, editorPrefsKey, state, new MultiColumnHeader(
                       new MultiColumnHeaderState(new[]
        {
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Type"), width = 250, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Name"), width = 250, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Size"), width = 80, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Count"), width = 50, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("DDoL", "Don't Destroy on Load\nHas this object has been marked as DontDestroyOnLoad?"), width = 50, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Persistent", "Is this object persistent?\nAssets are persistent, objects stored in scenes are persistent, dynamically created objects are not."), width = 50, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Address"), width = 120, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("InstanceID", "InstanceID"), width = 120, autoResize = true },
#if HEAPEXPLORER_DISPLAY_REFS
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Refs", "Refereces Count"), width = 50, autoResize = true },
            new MultiColumnHeaderState.Column() { headerContent = new GUIContent("RefBy", "ReferencedBy Count"), width = 50, autoResize = true },
#endif
        })))
        {
            multiColumnHeader.canSort = true;

            Reload();
        }