Example #1
0
        /// <summary>
        /// Static constructor. Created when Unity first loads.
        /// </summary>
        static EntryPoint()
        {
            // Retrieve the saved name of the current global text asset
            var textAssetName = EditorPrefs.GetString(StringLibrary.GLOBAL_FONT_KEY, StringLibrary.ARIAL);

            // Load the saved global text asset
            var globalTextAsset = AssetProcessor.LoadTextAsset(textAssetName);

            // If, for some reason, there is no text asset, create a default Arial text asset
            if (globalTextAsset == null)
            {
                AssetProcessor.CreateDefaultTextAsset();
                globalTextAsset = AssetProcessor.LoadTextAsset(textAssetName);
            }

            // Create the listener for notifications of newly create Text objects
            var hierarchyListener = new HierarchyListener();

            // Grab all, if any, Text objects in the scene
            var allTextObjects = Resources.FindObjectsOfTypeAll(typeof(Text));

            if (allTextObjects == null)
            {
                allTextObjects = Resources.FindObjectsOfTypeAll(typeof(Text));
            }

            // Create and initialize the GlobalFontSettings
            new GlobalTextSettings(globalTextAsset, allTextObjects);

            // Initialize the listener for the font settings window
            GlobalTextSettingsWindow.hierarchyListener = hierarchyListener;

            // Start listening for the creation of text objects
            hierarchyListener.Listen();
        }
Example #2
0
        public virtual void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || _hierarchies.ContainsKey(hierarchy))
            {
                return;
            }

            var commonProject = hierarchy.GetProject()?.GetCommonProject();

            if (commonProject == null)
            {
                return;
            }

            RegisterLibrary();
            HierarchyListener listener = new HierarchyListener(hierarchy, this);
            var node = _hierarchies[hierarchy] = new HierarchyInfo(
                listener,
                new ProjectLibraryNode(commonProject)
                );

            _library.AddNode(node.ProjectLibraryNode);
            listener.StartListening(false);
            RegisterForRDTEvents();
        }
Example #3
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || this._hierarchies.ContainsKey(hierarchy))
            {
                return;
            }

            RegisterLibrary();
            var commonProject = hierarchy.GetProject().GetCommonProject();
            var listener = new HierarchyListener(hierarchy, this);
            var node = this._hierarchies[hierarchy] = new HierarchyInfo(
                listener,
                new ProjectLibraryNode(commonProject)
            );
            this._library.AddNode(node.ProjectLibraryNode);
            listener.StartListening(true);
            RegisterForRDTEvents();
        }
Example #4
0
        public void UnregisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || !hierarchies.ContainsKey(hierarchy))
            {
                return;
            }
            HierarchyListener listener = hierarchies[hierarchy];

            if (null != listener)
            {
                listener.Dispose();
            }
            hierarchies.Remove(hierarchy);
            if (0 == hierarchies.Count)
            {
                UnregisterRDTEvents();
            }
            lock (files) {
                ModuleId[] keys = new ModuleId[files.Keys.Count];
                files.Keys.CopyTo(keys, 0);
                foreach (ModuleId id in keys)
                {
                    if (hierarchy.Equals(id.Hierarchy))
                    {
                        library.RemoveNode(files[id]);
                        files.Remove(id);
                    }
                }
            }
            // Remove the document listeners.
            uint[] docKeys = new uint[documents.Keys.Count];
            documents.Keys.CopyTo(docKeys, 0);
            foreach (uint id in docKeys)
            {
                TextLineEventListener docListener = documents[id];
                if (hierarchy.Equals(docListener.FileID.Hierarchy))
                {
                    documents.Remove(id);
                    docListener.Dispose();
                }
            }
        }
Example #5
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || hierarchies.ContainsKey(hierarchy))
            {
                return;
            }
            if (0 == objectManagerCookie)
            {
                IVsObjectManager2 objManager = provider.GetService(typeof(SVsObjectManager)) as IVsObjectManager2;
                if (null == objManager)
                {
                    return;
                }
                Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(
                    objManager.RegisterSimpleLibrary(library, out objectManagerCookie));
            }
            HierarchyListener listener = new HierarchyListener(hierarchy);

            listener.OnAddItem    += new EventHandler <HierarchyEventArgs>(OnNewFile);
            listener.OnDeleteItem += new EventHandler <HierarchyEventArgs>(OnDeleteFile);
            listener.StartListening(true);
            hierarchies.Add(hierarchy, listener);
            RegisterForRDTEvents();
        }
Example #6
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if (hierarchy == null || _hierarchies.ContainsKey(hierarchy))
                return;

            if (_objectManagerCookie == 0)
            {
                IVsObjectManager2 objManager =
                    _provider.GetService(typeof (SVsObjectManager)) as IVsObjectManager2;

                if (null == objManager)
                    return;

                ErrorHandler.ThrowOnFailure(
                    objManager.RegisterSimpleLibrary(_library, out _objectManagerCookie));
            }

            HierarchyListener listener = new HierarchyListener(hierarchy);

            listener.ItemAdded   += OnFileChanged;
            listener.ItemDeleted += OnDeleteFile;

            listener.StartListening(true);

            _hierarchies.Add(hierarchy, listener);
            RegisterForRDTEvents();
        }
Example #7
0
 public HierarchyInfo(HierarchyListener listener, ProjectLibraryNode projectLibNode)
 {
     Listener           = listener;
     ProjectLibraryNode = projectLibNode;
 }
Example #8
0
 public OAProjectConfigurationProperties(ProjectNode node)
 {
     this._project = node;
     AddEventSource <IPropertyNotifySink>(this);
     this._hierarchyListener = new HierarchyListener(this._project, this);
 }
 /// <summary>
 /// Adds the specified hierarchy listener to receive hierarchy changed
 /// events from this component when the hierarchy to which this container
 /// belongs changes.
 /// </summary>
 public void addHierarchyListener(HierarchyListener @l)
 {
 }
Example #10
0
 /// <summary>
 /// Removes the specified hierarchy listener so that it no longer
 /// receives hierarchy changed events from this component.
 /// </summary>
 public void removeHierarchyListener(HierarchyListener @l)
 {
 }
Example #11
0
 /// <summary>
 /// Removes the old hierarchy-listener from hierarchy-listener-l and
 /// returns the resulting multicast listener. </summary>
 /// <param name="l"> hierarchy-listener-l </param>
 /// <param name="oldl"> the hierarchy-listener being removed
 /// @since 1.3 </param>
 public static HierarchyListener Remove(HierarchyListener l, HierarchyListener oldl)
 {
     return((HierarchyListener)RemoveInternal(l, oldl));
 }
Example #12
0
 /// <summary>
 /// Adds hierarchy-listener-a with hierarchy-listener-b and
 /// returns the resulting multicast listener. </summary>
 /// <param name="a"> hierarchy-listener-a </param>
 /// <param name="b"> hierarchy-listener-b
 /// @since 1.3 </param>
 public static HierarchyListener Add(HierarchyListener a, HierarchyListener b)
 {
     return((HierarchyListener)AddInternal(a, b));
 }
Example #13
0
 public HierarchyInfo(HierarchyListener listener, ProjectLibraryNode projectLibNode)
 {
     Listener = listener;
     ProjectLibraryNode = projectLibNode;
 }
Example #14
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || _hierarchies.ContainsKey(hierarchy)) {
                return;
            }

            RegisterLibrary();
            var commonProject = hierarchy.GetProject().GetCommonProject();
            HierarchyListener listener = new HierarchyListener(hierarchy, this);
            var node = _hierarchies[hierarchy] = new HierarchyInfo(
                listener,
                new ProjectLibraryNode(commonProject)
            );
            _library.AddNode(node.ProjectLibraryNode);
            listener.StartListening(true);
            RegisterForRDTEvents();
        }
Example #15
0
 /// <summary>
 /// Adds the specified hierarchy listener to receive hierarchy changed
 /// events from this component when the hierarchy to which this container
 /// belongs changes.
 /// </summary>
 public void addHierarchyListener(HierarchyListener @l)
 {
 }
Example #16
0
 /// <summary>
 /// Removes the specified hierarchy listener so that it no longer
 /// receives hierarchy changed events from this component.
 /// </summary>
 public void removeHierarchyListener(HierarchyListener @l)
 {
 }