예제 #1
0
        public static IReadOnlyList <Delegate> RemoveEventHandlersFromEvent(this ToolbarsManager toolbarsManager, string eventName)
        {
            var eventsPropertyInfo = toolbarsManager
                                     .GetType()
                                     .GetProperties(staticEventBindingFlags)
                                     .Where(p => p.Name.Equals("Events", StringComparison.OrdinalIgnoreCase) && p.PropertyType.Equals(typeof(Infragistics.Shared.EventHandlerDictionary)))
                                     .FirstOrDefault();

            var eventHandlerList = eventsPropertyInfo?
                                   .GetValue(toolbarsManager, new object[] { }) as Infragistics.Shared.EventHandlerDictionary;

            var eventFieldInfo = typeof(ToolbarsManager)
                                 .BaseType
                                 .GetFields(staticFieldBindingFlags)
                                 .FirstOrDefault(fi => fi.Name.Equals("Event_" + eventName, StringComparison.OrdinalIgnoreCase));

            var eventKey = eventFieldInfo.GetValue(toolbarsManager);

            var currentEventHandler      = eventHandlerList[eventKey];
            var currentRegistredHandlers = currentEventHandler.GetInvocationList();

            foreach (var item in currentRegistredHandlers)
            {
                toolbarsManager.GetType().GetEvent(eventName).RemoveEventHandler(toolbarsManager, item);
            }

            return(currentRegistredHandlers.ToList().AsReadOnly());
        }
예제 #2
0
        static public void InitializeAll()
        {
            // API features
            EventManager.Init();
            ElementsManager.Init();
            ViewportPointerEvents.Init();
            MainMenuManager.Init();
            ToolbarsManager.Init();
            ToolManager.Init();
            Stage.Init();
            TabManager.Init();

            // Extensions
            Festival_Bridge.Tools.Index.Init();
        }
예제 #3
0
 public static void AddEventHandlerForEvent(this ToolbarsManager toolbarsManager, string eventName, Delegate @delegate) => toolbarsManager.GetType().GetEvent(eventName).AddEventHandler(toolbarsManager, @delegate);