public FavoritesController(LibraryTabElement libraryTab)
 {
     m_libraryTab     = libraryTab;
     m_favoritesGroup = m_libraryTab.Q <GraphGroupFoldout>(FAVORITES_FOLDOUT);
     m_favoritesGroup.Setup("Favorites", GraphGroupFoldout.SortRule.TYPE_AND_NAME, m_libraryTab.OnObjectFieldDoubleClick);
     m_favoritesGroup.AddDisplayFieldManipulator(m_libraryTab.GetRemoveFromFavManip);
 }
            private void PopulateGroups()
            {
                Type[] m_allGraphTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()).Where(
                    x => typeof(NodeGraph).IsAssignableFrom(x) && x.IsClass && !x.IsAbstract).ToArray();

                foreach (Type t in m_allGraphTypes)
                {
                    string[] foundGraphGUIDs = AssetDatabase.FindAssets("t: " + t.ToString());

                    GraphGroupFoldout foldout = new GraphGroupFoldout();
                    foldout.Setup(t.ToString(), GraphGroupFoldout.SortRule.NAME, m_libraryTab.OnObjectFieldDoubleClick);

                    foreach (string guid in foundGraphGUIDs)
                    {
                        foldout.AddGraphByGUID(guid);
                    }
                    m_allGraphsGroup.Add(foldout);
                    m_allGraphsFoldouts.Add(t, foldout);
                    foldout.AddDisplayFieldManipulator(m_libraryTab.GetAddToFavManip);
                }

                foreach (GraphGroupFoldout foldout in m_allGraphsFoldouts.Values)
                {
                    foldout.HideFoldoutIfNecessary();
                }
            }
 public RecentsController(LibraryTabElement libraryTab)
 {
     m_libraryTab   = libraryTab;
     m_recentsGroup = libraryTab.Q <GraphGroupFoldout>(RECENTS_FOLDOUT);
     m_recentsGroup.Setup("Recent", GraphGroupFoldout.SortRule.NONE, m_libraryTab.OnObjectFieldDoubleClick);
     m_recentsGroup.AddDisplayFieldManipulator(m_libraryTab.GetAddToFavManip);
 }