have all one's buttons
have all one's buttons or have all one's marbles {v. phr.}, {slang}
To have all your understanding; be reasonable. — Usually used in the negative or conditionally.
Mike acts sometimes as if he didn't have all his buttons.
He would not go to town barefooted if he had all his marbles.
Categories:
Source: A Dictionary of American Idioms