Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Button unable to enable or Disable Events ... — Gideros Forum

Button unable to enable or Disable Events ...

DoradoLabDoradoLab Member
edited April 2014 in General questions
Hi Team,

I am having a image button and once after click it i need to make it disable ( Events should not trigger even if the Events not removed). Can you tell me how can i use it... I referred this below code but it didnt work for me. Please give me specific code.

wpPiece3.enabled = true -- to make it click

-- OR --

wpPiece3.enabled = false -- to make it not click



Thanks

DoradoLab

Comments

  • talistalis Guru
    Accepted Answer
    Just an idea,
    -Make a state variable for your button called enabled, in your button class. If you are not using a class for button maybe just a global variable do the trick.
    Let's name it;
    enabled=true
    -By default it will be enabled then when pressed one time on event of onpress just make an if clause like,
    if enabled then
    --write your code here
    enabled=false
    end
    -Whenever you want to activate it just change the enabled variable to enabled=true and your events will work again.

    But if you are asking my opinion removing the listener will be much more easy:D



  • ar2rsawseenar2rsawseen Maintainer
    Accepted Answer
    yes exactly as @talis said, removing listeners is the easy way, so if you use the standard Button lua class from here:
    https://github.com/gideros/Button/blob/master/button.lua
    you can modify it by adding two methods:
    function Button:enable()
    	if self.disabled then
    		self.disabled = false
    		-- register to all mouse and touch events
    		self:addEventListener(Event.MOUSE_DOWN, self.onMouseDown, self)
    		self:addEventListener(Event.MOUSE_MOVE, self.onMouseMove, self)
    		self:addEventListener(Event.MOUSE_UP, self.onMouseUp, self)
     
    		self:addEventListener(Event.TOUCHES_BEGIN, self.onTouchesBegin, self)
    		self:addEventListener(Event.TOUCHES_MOVE, self.onTouchesMove, self)
    		self:addEventListener(Event.TOUCHES_END, self.onTouchesEnd, self)
    		self:addEventListener(Event.TOUCHES_CANCEL, self.onTouchesCancel, self)
    	end
    end
     
    function Button:disable()
    	if not self.disabled then
    		self.disabled = true
    		-- register to all mouse and touch events
    		self:removeEventListener(Event.MOUSE_DOWN, self.onMouseDown, self)
    		self:removeEventListener(Event.MOUSE_MOVE, self.onMouseMove, self)
    		self:removeEventListener(Event.MOUSE_UP, self.onMouseUp, self)
     
    		self:removeEventListener(Event.TOUCHES_BEGIN, self.onTouchesBegin, self)
    		self:removeEventListener(Event.TOUCHES_MOVE, self.onTouchesMove, self)
    		self:removeEventListener(Event.TOUCHES_END, self.onTouchesEnd, self)
    		self:removeEventListener(Event.TOUCHES_CANCEL, self.onTouchesCancel, self)
    	end
    end
Sign In or Register to comment.