toggle self.button