Here's how Steve keeps his baby happy while out to eat:
Whenever we go out to eat, we ask the wait person for 10 extra spoons. Then we give them one at a time to the baby to play with. It's usually pretty hard for her to hurt herself with a spoon, and they're shiny and fun to play with (especially because she's used to this). When they fall and get dirty, we give her the next one rather than try to clean it off. Anyplace we go, they always have a large supply of these nontoxic "toys". When the 10th spoon hits the ground (30-45 minutes), that's usually the end of her patience with sitting anyway, so that's our cue to leave (or to take her for a walk and come back if it's a long event).