public GraphViewGroup(ViewGroupManager owner, EditorWindowConfigSource configSource, string stateConfigName, string containerConfigName, string dragId = null) : base(owner) { m_WindowConfig = configSource; if (m_WindowConfig != null) { if (m_WindowConfig.FindProperty(mainButtonOnConfigKey) != null) { m_IsMainButtonOn = m_WindowConfig.GetValue <bool>(mainButtonOnConfigKey); } if (configSource.FindProperty(stateConfigName) != null) { m_TreeViewState = configSource.GetValue <TreeViewState>(stateConfigName); } if (m_TreeViewState == null) { m_TreeViewState = new TreeViewState(); if (configSource.FindProperty(stateConfigName) != null) { configSource.SetValue(stateConfigName, m_TreeViewState); } configSource.SetConfigDirty(); } m_TreeViewState.SetConfigSource(configSource); if (configSource.FindProperty(containerConfigName) != null) { m_TreeItemContainer = configSource.GetValue <TreeItemContainer>(containerConfigName); } if (m_TreeItemContainer == null) { m_TreeItemContainer = ScriptableObject.CreateInstance <TreeItemContainer>(); m_TreeItemContainer.ConfigSource = configSource; if (configSource.FindProperty(containerConfigName) != null) { configSource.SetValue(containerConfigName, m_TreeItemContainer); } configSource.SetConfigDirty(); } else { m_TreeItemContainer.ConfigSource = configSource; m_TreeItemContainer.UpdateItemsParent(); } } m_GraphView = new GraphView(owner, configSource); m_HorizontalSplitLine = new HorizontalSplitLine(m_SplitLineStartPosX, HorizontalSplitLineMinX); m_HorizontalSplitLine.ConfigSource = configSource; m_ObjectTreeViewGroup = new ObjectTreeViewGroup(owner, configSource, stateConfigName, containerConfigName, dragId); m_TreeView = m_ObjectTreeViewGroup.GetTreeView(); m_SearchBar = new SearchBar(owner); m_SearchBar.OnGUIAction += ShowBarGUI; }
protected override void InitData() { WindowConfigSource = FileConfigSource.CreateFileConfigSource("ViewConfig/TestWindow/config3.txt", true, typeof(ObjectTreeViewTestWindowConfig)); m_ObjectTreeViewGroup = new ObjectTreeViewGroup(m_LayoutGroupMgr, WindowConfigSource, "TreeViewStateConfig", "TreeViewDataContainer"); m_DataContainer = m_ObjectTreeViewGroup.GetDataContainer(); m_TreeView = m_ObjectTreeViewGroup.GetTreeView(); m_TreeView.useExpansionAnimation = true; m_TreeView.deselectOnUnhandledMouseDown = true; m_TreeView.contextClickItemCallback = ContextClickItemCallback; m_TreeView.contextClickOutsideItemsCallback = ContextClickOutsideItemsCallback; m_LayoutGroupMgr.AddViewGroup(m_ObjectTreeViewGroup); Undo.undoRedoPerformed += UndoRedoPerformedAction; }