Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Is it possible to print a list of active event listeners/be sure that one has been removed? — Gideros Forum

Is it possible to print a list of active event listeners/be sure that one has been removed?

piepie Member
edited October 2014 in General questions
Hi, I was wondering if it's possible to retrieve a list of all the eventlisteners running for debugging purpose.

I was thinking to something like this, but reading "eventListeners_table" if that exists.. :)
			for key, value in pairs(_G)do
				print(key.."="..tostring(value))	
			end
edit: either checking if "customEventListener" is still active could be of help... :-?

Thank you

P.

Comments

  • ar2rsawseenar2rsawseen Maintainer
    Accepted Answer
    @pie for debugging you could override EventDispatcher class, to store event listeners in internal table and then you could print that table as:
    EventDispatcher._addEventListener = EventDispatcher.addEventListener
     
    function EventDispatcher:addEventListener(name, callback, data)
        if not self.__events then
            self.__events = {}
        end
        if not self.__events[name] then
            self.__events[name] = {}
        end
        self.__events[name][callback] = data
        self:_addEventListener(name, callback, data)
    end
     
    EventDispatcher._removeEventListener = EventDispatcher.removeEventListener
     
    function EventDispatcher:removeEventListener(name, callback, data)
        if not self.__events then
            self.__events = {}
        end
        if not self.__events[name] then
            self.__events[name] = {}
        end
        self.__events[name][callback] = nil
        self:_removeEventListener(name, callback, data)
    end
    ;)
  • piepie Member
    Aah! Genius! =D>
    Thank you! :)
Sign In or Register to comment.